• 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:

    Collections: The Queen’s Latin or Who Were the Romans, Part V: Saving And Losing an Empire

    This is the fifth and final part (I, II, III, IV) of our series asking the question ‘Who were the Romans?’ How did they understand themselves as a people and the idea of ‘Roman’ as an identity? Was this a homogeneous, ethnically defined group, as some ver…

    via A Collection of Unmitigated Pedantry July 30, 2021

    Modernizing Rail 2021 Announcement

    We are happy to announce that on Sunday the 29th of August we will hold this year’s Modernizing Rail conference, on the heels of the success last year. Please register using this form. And please give details on what you’d like to see, and if you’re willi…

    via Pedestrian Observations July 29, 2021

    Songs about terrible relationships

    [Spoilers for several old musicals.] TV Tropes lists dozens of examples of the “I want” song (where the hero of a musical sings about their dream of escaping their small surroundings). After watching a bunch of musicals on maternity leave, I’m wondering h…

    via The whole sky July 17, 2021

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact