programming

What I Wish I Knew Before Programming Bootcamp

Since this blog is aimed at future students of programming bootcamps (maybe Origin Code Academy), I figured I'd go backwards in time a little and write about what the bare necessities are before getting into a bootcamp. I've spoken about this a lot with the rest of my cohort and it seems like there's a fairly good consensus about this, especially as we're a larger than usual group with a pretty wide set of experience.

Remember, this is just for starting bootcamp, not starting out as a developer.

In General

Make sure you try out some programming at all before attending. Origin had a requirement of earning a certain about of points on Team Treehouse which served as a good primer. But before you even apply, check out a free site like Codecademy and see if you like programming at all. Even if the allure of a better paying job is enticing, you should pursue something you can be passionate about.

Git

Absolutely integral. Learn just enough git to be dangerous. I have a blog post on the bare minimum here. You will need Git wherever you go in software. I think Origin should have told us to review the weekend before we started to help with our transition into becoming coders, because we use it every single day, multiple times a day. Get a mantra going: init, add, commit, remote, push, branch, merge

Command Line

You could probably get away without this for the first week, but since Git is so easily accessed via the command line (and making a new file quickly with touch index.html, this is equal priority with learning Git. You can learn to use it while learning Git, so I feel like it's a two-for-one. Don't be intimidated by it. I was scared when I first started seeing npm install new-hotness.js everywhere instead of something to download and double click, but I got over it. Now I wish I could install most everything this way.

Make sure you ditch the built in Mac or Windows terminals for Iterm or Cmder respectively. They make it much easier on the developer by having themes, tabs, and colored prompts so you can easily tell what your last command was.

Text Editor

Sublime Text. You'll need something easy to startup, easy to use, and accepts plugins to extend functionality. Plus it's free.

HTML

Honestly, you just need a little. Know how to make the HTML document, learn the tags you'll need most: body, script, p, div, ul, ol, li, and form. Maybe I gloss over it because I know it in the back of my mind better than I think I do, but I find myself looking up the details on HTML a lot when I've been building the Origin projects. Keep devdocs in your back pocket and you'll be alright.

CSS

You can take this as far as you want really. Know how to link a CSS document into HTML, classes, id's, media queries and you'll do fine. Or go crazy and be able to take on the CSS Zen Garden challenge. A lot of us just put Bootstrap/Bulma/insert-CSS-framework-here in and call it a day for the beginner projects. I recommend Bulma. It's responsive to any browser size and easy to pickup.

Javascript

The first five chapters of Eloquent Javascript. It's free and easy to get through. And know how to link a Javascript file into an HTML file. Don't bother with Jquery.

Getting a layman's grasp on these pillars will help put you at ease when you start, and be able to pickup what you really need to learn: problem solving and debugging.