Last week I spent a lunch catching up with my former business partner (and still good friend). As we chatted about new projects, we both mentioned frustration with finding programmers to help us build the software we need to move our businesses forward.
It reminded me of a Dave Ramsey podcast I listened to a few months back where Dave spent a full five minutes of the show begging his listeners to help him fill fourteen programming positions in his company. These were good, high-paying positions and he just couldn’t find enough applicants to fill them.
My friend and I agreed: if we could go back 10 years and develop one skill, it would be the ability to tell computers what to do (and have them respond correctly).
If you have an income problem – or a job satisfaction problem – you ought to think seriously about learning to code.
Sound crazy? Check out these stats from Code.org:
- By 2020 there will be 1,000,000 more jobs in the computer science field than students to fill them.
- Computer science degrees are the highest paying and programming jobs are growing at twice the national average.
Having hired and worked with a few programmers over the last five years, I can add my own anecdotes to the hard data:
- Entry level coders can earn $40,000 to $50,000 per year in their first full-time programming job.
- I’ve seen salaries of $80,000 to as much as $120,000 per year for developers with 5+ years experience.
- Tech companies are desperate to find talent. They don’t have a cash problem; they have a can’t-hire-programmers-fast-enough problem.
These are good gigs, too. Some of the perks I’ve seen include:
Remote working arrangements with total flexibility of work schedule.
These companies don’t care whether you work at 2am or 2pm – just get your work done (this is how YNAB operates, and we’re not the only ones).
Lots of paid vacation time.
My brother works for Automattic, where they let their developers know “we’re much less concerned with the strict number of hours you work, and much more concerned with the quality of your work.” And it’s not just lip service. My brother is required to take at least 25 days off per year to avoid boredom and burnout.
Company-purchased hardware, owned by the employee.
Why not start a profession where your employer upgrades your tools for you every couple of years – but doesn’t require you to turn in the laptop when you move on to a new job?
Not All Rainbows and Butterflies
Having worked with and observed coders for a while now, I’d say some of the biggest cons to the profession are:
Ignorant, unappreciative employers and co-workers.
If you’re coding for a company that’s not run by coders, you’ll spend energy helping management to understand the scope and complexity of the problems they’re asking you solve on ridiculous deadlines. When my brother and I worked together, the running joke between us was “This shouldn’t take more than a few hours – if you know what you’re doing.”
Non-technical managers have no clue how long a thing should take, or how hard the thing is to build. I expect this will improve as the managers become more tech-wise, but programmers are going to be fighting this battle for many years still.
My solution to this problem, by the way, is to hunt for companies with tech-friendly ownership and management who understand that coders are creatives, and need to be managed accordingly.
You’re not always going to have interesting projects to work on. At times, work will be pure drudgery. I’ve seen developers take simple, boring jobs and completely overbuild them simply to avoid the boredom inherent in the original assignment.
Yes, I realize this isn’t a tech blog, so this post may seem a bit out of place. But remember – income is your biggest budget category. Learning to program might open the door to more income and more satisfying income.
If you’d like to dip your toe in the world of programming, I recommend CodeCademy.com. It’s completely free and offers a broad set of introductory tutorials for the major programming languages.
Want to work at YNAB? Learn more about our company and open positions on the careers page.