Andrew's suggestions for learning how to code
This is Andrew Janke’s little idea for a learning program for people who want to become coders, with an eye toward getting a job in programming. It’s aimed at adults considering a career change, but would also be appropriate for self-directed student-age learners.
This is an outline of a learning program. It is not an actual course. It will recommend things for you to learn, and suggest where you can do that, but will not actually teach you these things. The intent is for this to act as a cheap DIY introduction to programming for self-learners, which could prepare you for further self-study or as a head start on a more formal “boot camp” or other training program. It’s also a way to get a taste of what programming is like, so you can decide if it’s for you before you commit the time and money to do a formal training program.
This program is centered on taking online MOOC (“Massive Open Online Course”, like Coursera or edX) courses from well-known providers, supplemented by a significant amount of independent study.
I am a programmer; I am not a teacher of programming. This is just some stuff I threw together based on my experience as a programmer. Effectively, this is what I would do if I were just learning how to program now. Nobody has done this program yet, so I have no idea how well it’s going to work. Your mileage may vary.
In particular, note that I have not actually taken any of the MOOC courses recommended here. I just picked them out based on some research. Nevertheless, they’re the ones I would take myself if I needed instruction at that level.
I’ve shown this to a couple of my industry-experienced friends, and their reactions have ranged from “pretty much guaranteed success” to “color me deeply skeptical”.
See the Course Outline for what I’ve come up with so far for a basic course outline. Important Resources has links to additional resources. And you can read some advice from my friend Desmond, too.
This program focuses on Python, JavaScript/web dev, and some other “general” programming stuff like Java, C, and SQL. It uses Macs for local dev machines and Google Cloud Platform for cloud stuff. It’s intended to be low cost, and especially low-up-front cost, so you can decide it’s not for you and bail at any time without having sunk a lot of money and effort into it.
The goal of this program is vocational: it’s for people who want to eventually get a job as a software developer.
This program will start you on your way to being a programmer, and let you see if you have the interest and aptitude to do so, at a small cost of time and effort. It won’t on its own get you to the point of being employable. If you want to land a job in programming, you’ll want to follow this program up with something like one of the following:
At that point, you’ll be equipped to get an entry level job in software development or maybe sysadminning.
The goal of this program is to set you on the path toward getting a boring, stable programming job at a boring, stable company. It will not make you a computer artist or sooper hacker. This is aimed at people who have passions in other areas, and want to code in order to draw a paycheck to support those other passions and, you know, food and a roof over your head.
The program lays out about 3 to 8 months of learning activity, but it’s all self-paced, so you can go faster or slower.
You’ll need to buy some books, services, and certification tests to do the program, which will run you between $700 and $2,400, depending on how many of the optional stuff you do. (Obviously the certifications are optional, but they’ll be helpful during a job hunt.) In addition, you’ll need an okay computer, preferably a Mac laptop, which can cost $500 to $1,500 if you don’t have one already.
Most of the costs are pay-as-you go; you’ll need to lay out about $300 up front for the initial materials (and it’s mostly for stuff you should have anyway, even if you’re not going to become a coder).
You can find a list of program materials and costs as the “So You Wanna Code - Materials and Costs” Google Sheet.
If you have an older computer that doesn’t meet the RAM and disk specs, don’t worry! Odds are good we can upgrade it to meet these specs for a lot less money than buying a new machine. Talk to Andrew.
The material in “So You Wanna Code” is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0).
This was made by Andrew Janke for a target audience of his friends.
The home for the code behind this site is https://github.com/apjanke/so-you-wanna-code.
This material is free to use. I don’t need donations. If you’d like to support this project’s aims, please donate to Black Girls Code instead.
Here’s a list of references to other materials.
This Practical OpSec Guide should be useful to anyone, even if they’re not doing this program.