::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact

Getting into Programming

May 15th, 2018
tech  [html]

The software industry has been growing enormously, and has been pretty desperate to hire. While most high paying jobs require a Bachelors degree and maybe a Masters/PhD/license, software employers are so tight for people to hire that that there are many places that don't weigh credentials highly: I've had several coworkers who didn't go to college. What does it take to switch into programming?

I wanted to write this up because people often write to ask me this, generally because they're considering going and getting a Masters in Computer Science to become more employable. I almost always recommend against that: employers don't consider one to be a strong signal and most of what you learn isn't relevant to working as a programmer. In most places I've worked, someone with N years of work experience is more valuable than someone with a Masters and N-2 years of experience. [1] Financially these differ enormously in a way that makes a Masters clearly not worth it: not only do you pay tuition but you 'pay' the opportunity cost of two fewer years of employment (~$200k).

Instead what I recommend is learning enough that, at an entry level, you can (a) do the job (b) get hired. Once you're working you'll learn lots of things that make you a better software developer and mostly you'll just get a lot of practice.

So, what does that take? Unusually, everything you need to know to be a programmer is available freely online. If you're looking for a place to start, I recommend Learn Python the Hard Way (but really do it the way it asks: no cutting and pasting!). The best way to learn to program is to dive into it, and do as much as you can.

Once you're pretty fluent in coding, there are additional things you need to learn to get hired. The most common way of evaluating entry level applicants these days is effectively a series of oral exams. Typically these will have components of problem solving, applying algorithms, and writing code. It doesn't test everything involved in doing the job, but it's pretty informative. A resource I've seen people recommend is Cracking the Coding Interview. Many of the things you learn in preparing for coding interviews are also useful later, so it's not just studying for a specific test.

It's common not to have enough internal motivation to learn everything through self study, however, even among people who would be good programmers. This is where I see coding bootcamps doing well: they put you in an environment where what's expected of you is hours of intense practice, along with classmates and instructors. The best bootcamps are set up so their incentives are aligned with yours: they don't charge tuition up front and instead you only owe them if you get a job as a professional programmer. [2] Bootcamps generally cover teaching, interview prep, and help you find job placements.

Since bootcamps started, I've been expecting that they would expand enough that the labor market for programmers would cool down. Salaries would fall, initially for entry level people, later for more experienced people, and then level off as it stopped being worth it for people to move into programming. I think this hasn't happened, though I don't have great visibility into entry level compensation, and I don't really understand why. This indicates something about my model here is pretty off, and I'd be curious if people have ideas for why this hasn't happened. Still, even if it does happen, a bootcamp pays for itself very quickly, within about a year.


[1] This may break down for large N, but I doubt it gets large enough to overcome the tuition + opportunity cost penalty on the Masters.

[2] Unfortunately I don't think this is stable. As a person considering bootcamps, ones that offer deferred tuition are giving a hard-to-fake signal: a bad bootcamp, or one that accepts people who won't succeed, is much less able to defer tuition. But now let's say the bootcamp also offers an option to pay tuition up front, as App Academy now does (you choose between $28k if placed and $17k unconditional). Being willing to pay up-front is a costly signal of student ability. Bootcamps gain reputations based on the quality of their graduates but students go through the system once, which means only new bootcamps with something to prove benefit much from offering deferred tution. My expectation is that the bootcamp industry will move to fully up-front tuition and incentives for bootcamps get worse while ones for students get better. Incentives for students are already very high, though, and their up-front payment may be someone elses money, so mostly this will be a bad thing. Plus its much worse for people who can't afford the money up front.

Comment via: google plus, facebook

Recent posts on blogs I like:

How Fast New York Regional Rail Could Be Part 3

In the third and last installment of my series posting sample commuter rail schedules for New York (part 1, part 2), let’s look at trains in New Jersey. This is going to be a longer post, covering six different lines, namely all New Jersey Transit lines t…

via Pedestrian Observations October 21, 2019

Strong stances

I. The question of confidence Should one hold strong opinions? Some say yes. Some say that while it’s hard to tell, it tentatively seems pretty bad (probably). There are many pragmatically great upsides, and a couple of arguably unconscionable downsides. …

via Meteuphoric October 15, 2019

What do executives do, anyway?

An executive with 8,000 indirect reports and 2000 hours of work in a year can afford to spend, at most, 15 minutes per year per person in their reporting hierarchy... even if they work on nothing else. That job seems impossible. How can anyone make any im…

via apenwarr September 29, 2019

more     (via openring)

More Posts:


  ::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact