An Insider’s Guide on How to Survive and Thrive at Dev Bootcamp

This guide started as a post in Medium. We wanted to make the guide more interactive, so we're hosting it here on GitHub.

We know that you're going to get a lot of tips and suggestions in the DBC course, and our goal is to avoid overlap. We want this to be the BEST tips that you didn't see in regular DBC documentation. This is a collection of the 1-2 tips that DBC grads learned that made them think: mind. blown.

Have one of those? Submit a pull-request and we can add it. Keep your tip pithy.

Setting up your environment

  • Download the Spectacle App. This app helps your re-size windows with ease — and has great keyboard shortcuts. You’ll be grateful for it when you want to have your browser, text-editor, and terminal all open at the same time in a neat format.
  • Use f.lux. This app changes the colors on your computer screen to match the time of day. At night, the computer looks warmer, and the app blocks blue light, which inhibits your melatonin production and disrupts your sleep. Your sleep will thank you when you use this app.
  • Check out iTerm2 — a Mac replacement for terminal that has split panes, autocomplete, search, mouseless copy, and a whole bunch of other nifty features. Check out the shortcuts. And we love this pro-tip.
  • Sublime Text Hacks. I won’t wade into Text Editor Wars, but for those of you using Sublime Text, here’s some clutch set-up features: (1) Save on loss of focus. (2) Download Emmet.io for Sublime to manage your HTML&CSS workflow. (3) Word. wrap. true. (4). Turns out Sublime has a built-in spell checker! Sublime > Preferences > ‘Settings — User’. Add the following line: “spell_check”: true

Phase 0

  • Start practicing the shortcutFoo keyboard shortcuts for Sublime. It doesn’t take a lot of time to get good at them, and you’ll save (literally) hours by the end of DBC if you start early.
  • Oh, git. A glorious way to manage version control. Here’s Git in 600 words. How to fix the 10 most common problems. A Git cheat sheet.
  • Working with CSS convinced me that I am a back-end engineer. But, you must learn master the basics for Phase 0. Tim Cannady is a CSS guru, and found a few good pieces on CSS positioning. If you still struggle with this like me, please also enjoy this cat meme of centering something in CSS.
  • Anki (Flash)cards. Using the Janki Method will shorten the time it takes you to master coding skills. Perhaps find a few friends in Phase 0 to build out a set of cards with you. Or share your Anki decks.
  • Play with Exercism.io, which supports over a dozen programming languages including Ruby and JS. The system lets you fetch and submit challenges. Every challenge, once submitted, reveals hundreds of solutions and random participants review. Exercism provides countless small wins. The exercises are achievable mini-quests for newbies and experienced developers.

Phase 1

Phase 2

  • Front End Masters videos — watch at 2x speed, get as much exposure as possible! All DBC students have 1 year free access. Ask a phase lead if you haven’t gotten a code.
  • Welcome to Javascript! Here’s a nifty Ruby vs. Javascript syntax cheat-sheet. MDN published an excellent “re-introduction to JavaScript” (JS tutorial)
  • Common methods for HTTP/1.1 (w3.org) when working in Sinatra
  • Write great tests. Your future self will thank you. This RSpec powerpoint has excellent tips on formatting and structure. Also, check out this Carybara/Rspec/Selenium quick tutorial.
  • Don’t accidentally drop your database. :) Check out these rake tasks.
  • ScriptSrc, the most current library script tags just a mouse click away
  • Look up “man kill” in terminal and it will show that -9 is a non-catchable, non-ignorable kill. This will be very helpful when you accidentally close terminal window while shotgun is running and it won’t start again. You’ll need to kill the shotgun process that is happening in the background. To do that, type in this: ps aux | grep shotgun | grep -v grep | awk ‘{print $2}’ | xargs kill -9
  • You’ll want to add the code above as a Bash alias. Mine is called killshotgun. Bash aliases are awesome. Ask your peers what they have. killrails will be helpful for Phase 3. :)
  • Speaking of dot files, check out Super Topher’s and Nathaniel Landau’s bash profiles. AJAX. For everybody who’s ajaxing… I found out about the “closest” selector after calling .parent().parent().parent() way too many times. You can call li.closest(‘#id’) and it will look up the chain and find the nearest ‘#id’ in relation to what you called it on. +Create moving webpages with Spritely.net. No flash? No problem. It’s pure HTML & jQuery and you can sprite up your site with dynamic animations.

Phase 3

  • Wahoo! You’re going to be working with teams. You’ll want to all agree on a Git workflow. Here’s one we developed.
  • Pick a few technologies that you’ll likely use in the working-world after school for your project. I focused on React.js — which I ended up using while I was working at Instacart. I liked this React.js introduction for people who know just enough jQuery to get by
  • If you want to build anything with maps, check out Mapbox. It’s like Google Maps but open source and has excellent documentation
  • MashApe has a huge API marketplace that you can browse for project inspiration

A few favorite blog posts from bootcamp

Life after bootcamp

  • Be a sponge, and never stop learning. The world is moving too quickly for you to stay still. :)
  • Create a Twitter list of your favorite developers to stay on top of what’s happening in the field. Here’s a starter list.
  • Follow a few favorite blogs. Coding Horror is a great place to start.

And just for fun… discoveries during bootcamp