By Leon Fu
October 2, 2016
Programming is perhaps one of the most lucrative opportunities available to young people today. We're told we need to spend years at college, spend or go into debt by tens to hundreds of thousands of dollars, then spend the next decade or more paying it off. It doesn't have to be this way. Here's what is possible:
- You can learn how to code and get a job in as little as 12 weeks with no prior experience or formal training. I've done it myself. Many coding bootcamps around the country, such as this one, are teaching thousands of people how. Teenagers can learn how to code. Apple has presented apps at WWDC written by kids as young as 8 years old. That does not mean everyone can do it. But if you are able to do it, you can learn how to do it well enough to get a job in under a year. I got my first paid iOS job in just 11 weeks.
- According to FlatIron and other coding bootcamps, the average starting salary for an entry level developer with no prior work experience is ~$73K. From my personal experience that's sounds about right. I've worked as an "entry level" developer twice in my career. Once while I was in college, and again when I switched to iOS development in 2010. You can expect somewhere between $60K-$100K for your first gig.
- Coding bootcamps charge around +-$15K for a ~12 week program. While that is a reasonable tuition for what you can earn from what they're teaching, it isn't necessary. There isn't any information they will tell you that isn't available for free on the Internet. But some people need to learn from other people. Not everyone is able to learn on their own without guidance, so I understand why there is a market for selling information that is free.
- With just coding, it is possible to earn >$200K per year as a senior developer with a few years experience. How easily you can reach this level depends on a whole host of other factors than simply how well you can code. Other things that matter as much or more are:
- How well you interview, negotiate, and market yourself. These are "soft skills" that you won't learn in school, but only through experience, and trial and error. Fortunately, the demand for programmers is so great, that there is plenty of opportunities to practice and learn from your mistakes.
- If you're willing to travel to where the opportunities are. Being at the right place, at the right time often matters more than anything.
- How much risk you're willing to take. You'll usually earn more if you frequently switch jobs than if you stay at one job for years. There are exceptions of course. Taking a string of short term consulting projects usually pays higher than a single long term one.
- Whether you keep your skillset up to date with the latest trends. In technology, skills are perishable and become obsolete, so you need to keep your skills up to date if you want to command top dollar.
What happens after you reach senior level developer? Well that's up to you. After several years of a six figure income with no debt, you've earned enough to do anything your desires and talents allow. You can become a project lead, start leading a team of developers, try to climb the corporate ladder, become an Engineering Director, eventually going into senior management at some corporation. You can join a startup, try to hit it big by selling it to a larger company. You'll have substantial savings, so you can try your luck on investing. Or you can do none of those and pursue hobbies such as traveling the world. Or you can do any combination of those, which is what I have done.
The point of education is to enable you to be free and pursue what you wish to accomplish in life. For many people, college and the traditional education system hasn't done that. Instead, it's put millions of people into debt they can never repay. Software development is a field you can learn on your own without going to college for the foreseeable future.