#VetsWhoCode: PreWork

If you’re reading this then you are either prepping to go through our 19-week program for teaching veterans how to program, or you are highly interested in taking our program or simply want to start learning how to program. Many of you have tried many programs alone but felt that it wasn’t “real” enough to take you to your desired level. That’s because unlike school, where you regurgitate information, programming is a skill, like shooting, and like all great marksmen, you need an instructor to get to the next level.
While going at it alone is necessary and greatly accelerates your progress, an instructor is the difference between being able to simply fire a weapon and knowing how to hit the target with consistency from multiple positions and environmental distractions. Code is the same way. An instructor is the difference between typing console.log( ); to display a string or how to use it to debug and test features, and that is what we aim to do at #VetsWhoCode, and like how you should at least show up to training prepared with basic knowledge of nomenclature, the same is no different with any programming course. This post primary focus will be to prepare you for the task of programming, whether in the program or on your own. It is designed to be completed within twenty days, if you have front sight focus.
SETUP
First thing we need to do to set you up for success is to have you get the tooled correctly. First step is to make a professional Gmail account. This will help you keep your personal life from your professional life and they offer many free tools that you can use. Keep it simple, make it just your first name and last name (FirstName.LastName@gmail.com). From there use this email to create your LinkedIn and Lynda For Veterans accounts, which is free for a year, as well as your c9.io account, an online code editor, Twitter account (follow us) and Github account. If you are accepted in the program this is the email we will use for your Slack invite, and your free accounts from our partners PluralSight, Interview Cake and Pragmatic Studios.
Know the Craft
You need to understand how the internet works and what exactly is this thing called code. To do this we have one short video and one long article for you. The video “How The Internet Works in Five Minutes” is a down and dirty crash course about how the Information Highway operates. The best part about it is that its actually only five minutes. Its honestly the easiest part of the PreWork. Paul Ford’s “What is Code” is a record-breaking best-selling article that was so compelling Bloomberg centered an entire magazine release around it, and it was their best selling magazine in 2015. On average it takes about 88 minutes to read, but it is a compelling read that is both beautifully crafted and interactive, and as you get better with code I encourage you to come back and find the Easter Eggs hidden in the code of the article.
Know Your Tools
The three things you need to have to get comfortable with in order to succeed in the course is how to to use Command Line, Git and C9. For this we will use the very simple tutorials from Codecademy for Command Line and Git (in that order) and then the documentation for C9.io to learn how to use it and how to connect your Github account to c9.io .
HTML, CSS, JavaScript, Ruby
Having a basic understanding and exposure to HTML, CSS, JavaScript and Ruby will prepare you for the program so that we can focus on a deeper understanding of programming, such as data architecture and writing algorithms. For HTML and CSS we will use this tutorial by Shay Howe, as it is well developed and well written. For Javascript you will use a node workspace from C9.io and NodeSchool to train the basics in real time in the terminal and for Ruby you will a Ruby work space and one of my favorites, Zed A. Shaw’s “Learn Ruby The Hard Way”. After you finish your code I expect our students to push to Github regularly, as I do github checks during the Monday SitRep as well as on random and several veterans have woke up to git push requests timestamped at 0200 hrs ( like all veterans, I survive purely off of coffee and complaining about how younger troops have it so easy).
Skills Pay The Bills
As you go through this I want you to write down what you want to achieve with programming and the motto “Skills Pay The Bills”. Think it, say it over and over in your head until its internalized. I want this to be your statement of motivation so as you get tired, as it gets difficult, you have that image of they why you are doing this for to get you through those moments of sheer insanity.
Embrace The Suck
If you think I am one of those guys that is going to paint learning how to code as one of the easiest things things you have done in your life and its filled with sheer positivity, you have come to the wrong place. Its going to be painful, you’re going to feel dumb at times ( I still feel dumb at times) and you are going to spend hours feeling worthless over what will boil down to a semicolon at least once ( we’ve all been there, its a rite of passage) but I will tell you that it’s definitely worth it. In 2014 I was a Front End Developer being labeled as a part of Marketing getting paid a small salary at a nonprofit, today I am a Lead Ruby On Rails Developer at a Start Up and I am an Executive Director for a nonprofit that gets to teach a part of the population that I truly care about. Its the third best decision I have made, after serving my country and marrying my wife ( always on the look out for the brownie points ) and I hope it becomes one of yours as well. I always hated when people ended writings like these with “Happy Coding” cause no coding is happy and a happy coder doesn’t make you a good coder so instead I am going to be more honest.
Code With Purpose.