The headlines are hard to resist. Salaries for programmers are said to be soaring. Annual paychecks for AI experts are topping $1 million. Why dream of winning the lottery when coding bootcamps are springing up with promises to teach everyone what they need to get a ticket on the gravy train?
The good news is that schools and camps often deliver enough knowledge to turn some people into great programmers. The bad news is that the lessons alone are far from enough. Programming isn’t a least-resistance path to a more secure, better-paying, work-life balanced job. It’s a difficult occupation that not everyone is suited for. If it were easy, everyone could do it—and then it wouldn’t be as valuable.
The first steps are often seductively easy. You set one variable—call it salary—to 50000. Then you type “salary=salary*10”. Bingo. You’re coding. It’s an exciting rush, and that experience might lead you to believe that you can become a professional developer with just a few more months of learning.
The basic information is out there, and you don’t even need to pay very much to get it. There are plenty of good courses on Coursera and Udemy. Some high-end schools such as MIT even provide their lectures for free.
But before you jump into a bootcamp that will steal your evenings and separate you from your hard-earned money, there are several caveats you need to consider. That’s the focus for the initial sections of this article.
And if you’re still interested, the second part is filled with advice for how to make the best of it. There’s also a lot of noise around the question “How do I become a coder?” Instead of another list of things to do, you’ll learn what not to do, which is equally important.
Much of the value comes from very specific knowledge
Basic programming skills are easy to find. Many kids learn quite a bit in high school taking advanced placement computer science courses. But that’s not what businesses need. Many of the real-world jobs involve fixing, updating, and improving some pile of code written in a particular, somewhat obscure language. Perhaps it’s an old version of Python or one of the languages that used to be popular, such as COBOL.
They’re not paying for programming talent per se. They’re paying for someone with specific knowledge. Someone who, for instance, knows what not to do with ECMAScript 6.blah to avoid crashing old browsers that 5% of customers still use.
No bootcamp teaches these details. This is why many ads for programmers ask for years of experience with specific buzzwords. The bootcamp might do a great job teaching you how to code in a few months, but you’ll still need to spend years learning the idiosyncrasies of particular languages.
Bootcamps and online classes may take only months to complete, but wisdom can take a lifetime to nurture. It’s easy to learn about variables, loops, and other abstractions. Building up the instincts to deploy them correctly