If you’re interested in making a good living, you may want to consider a career in technology. More specifically, think about becoming a software engineer.
According to the 25 Best Jobs in America 2015, a survey conducted by career, community and employment website Glassdoor, the occupation of software engineer comes in at No. 2 on the list in terms of average base salary, job openings and opportunities for advancement.
The what and the who
Many people assume that a software engineer and a software developer are one and the same. Not so, said Blake Meike, a 20-year veteran of the industry and co-author of several books on programming. A software engineer is someone who either writes code or runs a team or teams that write code, and that implies a certain amount of training. A software developer, on the other hand, can build UIs for Web applications, but probably not hard source code.
The engineer part is a step up, according to Meike, who has worked at Amazon, Marakana and OpenMobile World Wide, and is currently an Android Evangelist at Twitter.
“It means that you have some theoretical basis in understanding how to design efficient, excellent software,” he said. “Someone who is writing UIs may not know that stuff.”
In software engineering, for instance, size matters. A lot. A college student – even a high-schooler – can build a computer game, but building that computer game and then shipping it to a million or more people is the challenge.
By the same token, building a website is relatively simple. But building a home page that gets thousands of hits per minute – or per second, in the case of Google – is a different level of knowledge that requires a program designed to handle that load effectively and efficiently. That’s where an engineer comes in.
As for any training or education, a bachelor’s degree is a must; many future engineers also go on to obtain master’s degrees and Ph.Ds. There are certificates and certification programs out there that can contribute to someone’s body of knowledge, but that’s about it.
“Those certificates prove you know something, but they’re not proof of your ability to think,” Meike says.
The daily grind
Most mornings at work begin with a meeting known as a stand-up, a short five- to 10-minute session during which teams of about six people get together, discuss what’s on tap for the week and sync up.
Each member of the team has a minute to talk about what they’re working on and whether things are flowing smoothly. The rest of the day is spent coding, planning, designing and meeting with individuals on the team. According to Meike, coding usually accounts for 60% of a software engineer’s day.
The payoff
These days, software engineers are in demand and well paid, better paid in fact than most other computer specialists.
According to Payscale, which compiles and organizes data about job-market compensation and benefits across industries, the average annual pay for a software engineer is about $76,000. But that can climb quickly into six-figure territory as experience translates into a higher salary.
“If you become a principal engineer, you’ll still be in the technical end of things but you won’t be coding anymore; you’ll be working more on design and figuring things out,” Meike says. “And you’ll be making $200,000 or more.”