Maximizing Your Bootcamp Experience
*Note: It’s been a long time since I wrote this and it’s been a surprisingly popular post. Since then, I’ve founded the Viking Code School, an online software engineering program that takes exceptional aspiring developers and makes them job-ready. Our mission is meant to bring this level of education to people who cannot uproot their lives to attend an in-person program and I encourage you to check it out if this path interests you.*
I recently attended the inaugural Ruby on Rails bootcamp offered by App Academy and it was a hell of an experience. It’s an undertaking that I highly recommend but one which takes a serious level of maturity and commitment to do right. Given that hundreds of other students will soon walk a similar path, I’ve put together the following recommendations to help you get the most out of your bootcamp experience. You may not be headed to the same program but I bet you’ll find some of this useful to you anyway.
PREPARATION
>> Get the prep work done early! There’s 150 hours worth of stuff just in the packet they send out. That takes more than a couple weeks of full-time effort. Give it time to sink in. Don’t sprint to the start or you could burn yourself out before you even begin (hint: there’s time for that later).
>> The more you come in with, the more you leave with. There’s no question about it. Think of it this way: Ned and the others know a hell of a lot more than you do, and you’re only here for a finite period of time. Why waste your questions on subjects that you could have learned yourself when you should be using them to learn the kinds of things with which you would have struggled for hours or days on your own? The onus is on you to optimize the time you spend here and that’s a direct function of work put in before and during the program.
>> In line with the previous, take the initiative to learn the basics of everything on the curriculum beforehand. That doesn’t mean building Javascript pages or fancy SQL queries or Rails projects”¦ but there’s a right way and a wrong way to come in. The wrong way is to get to a new unit (SQL, Rails, JQuery, Javascript”¦) and have no idea what it is or what it is used for. The right way is to come in with a basic understanding of how these tools work and how they work together and a lot of questions about what the heck is going on under the hood to make them do what they do. Why is this important? Because, again, you’re just wasting time if you get surprised by new material when you should be reinforcing and expanding on some basic level of pre-existing understanding. Just take an hour or two for each topic on the curriculum, google and wiki it, and write down the basics + a few questions.
>> Give the Hartl tutorial a shot. For those who don’t know, it’s an 11-chapter Ruby on Rails tutorial that’s basically a rite of passage for anyone learning Rails. It takes you from setup through execution of a twitter-clone Rails app. The first 8 chapters should be ~4 hours apiece (though the setup in the first chapter is highly variable depending on how many issues pop up on your computer). The last 3 chapters will be closer to ~8 hours apiece and you’ll certainly struggle to absorb everything but do stick with it. At that point, it’s more about seeing and typing the material than pulling in 100% of the understanding. So it’s about 50 hours of work but you’ll have a taste of things. I promise that you’ll understand all of it by the end of the course. Just make sure you do the tutorial after the rest of the prep materials.
HOUSING
>> I can’t recommend enough that you live in or very near to the city. You can get work done on the CalTrain but when you’re a slave to the train schedule, it makes you much less likely to stick around in the evenings or come in to collaborate on the weekends or go out to an industry event. You’re here to learn so reduce friction as much as possible. That said, if you’ve got to choose, live near BART not CalTrain.
>> In a similar vein, if you can find a place that’s close enough to bike from (pretty much the whole city east of Richmond is within 3 miles) it will make you the most flexible. A bit of exercise can also keep you sane. If it rains, you can still take the bus but ultimately you’re saving $100-200 in transit costs (just to-and-from AA) by biking. And if you’re the type who needs a bit of fresh air, there are plenty of great hikes and rides in the Bay Area.
>> The office is open 24 hours but it’s not a dorm. If you need to crash for a few days between places, it can be done. If you’re totally desperate”¦ It can work, but it’s far from ideal. Just remember to shower (for the sake of everyone else).
LIVING IN AN AWESOME CITY
>> If you want to get everything out of App Academy, come to terms with the fact that you’ll be in an awesome city with very little time to get out and live it up. You may have some time on the weekends to go exploring but if you’re the type to go out during the week, you’ll find yourself falling behind quickly. Particularly during the first few weeks, I worked from eyes-open to eyes-shut every weekday and still couldn’t get all the assigned work done. Tell your signficant other that you’ll see them on the other side and your friends that you’re shipping off to the Peace Corps or something”¦ because that’s about all they’re likely to hear from you.
FUN
>> After all that intense stuff, the most motivating thing you can do is to have fun. Get to know your classmates and take joy in the many awesomely geeky moments you’ll share together. They’re not just your collaborators but your safety net when you begin to hit the wall. When the program is long over you’ll still be in touch with that same group of people.
Mostly, be excited. In a few months, you’ll be looking at websites and saying “I can make that.” Your friends will start trying to bum your time to build their social networks for cats and other *awesome* startup ideas. You’ll know that you actually know very little in the scheme of things but you know what you don’t know and you know how to learn. It’s a pretty sweet feeling.
Good luck. Nerd on.