Professional developers are among the most highly sought-after tech professionals in the workforce, with increased demand and talent shortages leading to large salaries for many of those in the field. That said, software development is a dynamic field, in which new programming languages, frameworks, and technologies may live and die within a few years, and job needs are constantly shifting.
To help those interested in the field better understand how to break into a career in development, we compiled the most important details and resources. This guide on how to become a professional developer will be updated on a regular basis.
SEE: How to build a successful developer career (free PDF) (TechRepublic)
Why is there increased demand for developers?
Every company has become a tech company to some degree, with digital transformation projects underway in most industries to stave off disruption. This means that demand for professional developer talent has skyrocketed in recent years, as companies seek people who can bring digital projects and applications to life.
Among the 10 most in-demand jobs for 2021 are programmer analyst, mobile app developer, software developer and DevOps engineer, according to CIO magazine.
Meanwhile, the US Bureau of Labor and Statistics predicts that software developer jobs will grow 22% between 2019 and 2029–much faster than the average rate of other professions, the bureau noted.
While tech jobs have been down since the beginning of the COVID-19 pandemic, the increase in e-commerce as businesses shifted from in-person to online shopping has caused the demand for web developers, who create web applications, to increase, according to Dice. The web developer role saw an average salary increase from $77,753 to $81,550 year-over-year (4.9% growth). Similarly, software developers saw an increase of 1.9 percent, from $109,198 in 2019 to $111,297 in 2020.
- 15 books every programmer should read (free PDF) (TechRepublic)
- 5 programming languages network architects should learn (free PDF) (TechRepublic)
- 5 programming languages cloud engineers should learn (free PDF) (TechRepublic)
- 5 programming languages application solutions developers should learn (free PDF) (TechRepublic)
- Listen to TechRepublic’s weekly Dynamic Developer podcast
What are some developer job roles?
Developers can take a number of different career paths. Here are a few roles in the field.
- Mobile developer: Builds apps for mobile devices, including iOS and Android. A mobile developer might use Java, Swift, and Objective-C.
- Full stack developer: Is able to work on both the front end and back end portions of an application or website. A full stack developer has specialized knowledge of all stages of software development, including server, network, and hosting environment; relational and nonrelational databases; interacting with APIs; user interface and user experience; quality assurance; security; customer and business needs.
- Back end developer: Builds the functionality and interactivity of a website, including the elements that allow users to carry out actions like logging in, creating an account, and liking posts. Depending on what you want your web app to do, you might learn languages including Java, Python, Ruby, and PHP.
What are the best programming languages to learn?
There is much debate over which programming languages are best to learn at a given point in time, but here are a few safe bets.
- Java: Java is used by millions of developers and billions of devices worldwide. Java is the official language of Android development, and 90% of Fortune 500 companies use Java as a server-side language for back-end development, according to an analysis from Coding Dojo.
- Python: Python is commonly used in scientific computing, data mining, and machine learning. It’s the fastest-growing programming language, and is currently No. 3 on the TIOBE Index. Coding Dojo found that since the beginning of 2018, the number of Python jobs has skyrocketed. Python was also rated the most loved programming language by developers, according to Hired. If you want to learn Python, check out the Google IT Automation with Python Professional Certificate on Coursera.
SEE: Python is eating the world: How one developer’s side project became the hottest programming language on the planet (cover story PDF) (TechRepublic)
According to the Stack Overflow Survey of Developers for 2020, Python dropped to third place behind top-ranked Rust (now in its fifth year as leader) and newly minted second place TypeScript, which pushed Python down a spot.
VBA, Objective C, and Perl are the most hated languages, which Stack Overflow notes are currently highly used, but the developers coding with them have “no interest in continuing to do so.”
In terms of what programming languages can net you the highest salary, globally, the top paying options were Clojure ($90,000), F# ($80,000), and Go ($80,000), according to Stack Overflow. In the US, Scala ($143,000), Clojure ($139,000), and Go ($136,000) topped the list, the survey found.
- The essential 10 programming languages developers need to know this year (TechRepublic)
- Rust: What developers need to know about this programming language (free PDF) (TechRepublic)
- Getting started with Julia: A list of resources (free PDF) (TechRepublic)
- How to learn TypeScript: A resources guide for developers (TechRepublic)
- Top 5 programming languages web developers should know (free PDF) (TechRepublic)
- Top 5 programming languages for mobile app developers to learn (free PDF) (TechRepublic)
- Git guide for IT pros (free PDF) (TechRepublic)
What other skills are required to become a developer?
Outside of technical know-how, employers are increasingly looking for developers with strong soft skills as well as technical skills. “These little things can be the differentiator along evenly qualified candidates so much more than certifications,” said Mike Walsh, founder of Straight Path Solutions. “Things like how you handle conflict, if you are too proud to say ‘I don’t know.’ Do not lose your soft skills.”
With the pervasiveness of agile development methodologies, programmers must show that they can integrate into mixed-skilled development teams, said Ed Szofer, chief executive officer and president at SenecaGlobal. “To be a productive member of these types of teams, programmers must be able to communicate clearly, report progress accurately, raise issues promptly, and generally be a good team player,” Szofer said. “In today’s ultra-competitive environment, a programmer’s soft-skills are now almost as important as the hard skills.”
SEE: All of TechRepublic’s cheat sheets and smart person’s guides
Problem-solving skills are also highly sought after for developers, said Mark Wilcox, vice president of business development at ICSynergy.
“What I look for is, ‘How does a programmer think about solving a problem?’ And then I look for action they are taking in learning how to improve their skills,” Wilcox said. “I don’t care as much if they are an expert in a specific language because any competent programmer can learn a new language in a week. But if they don’t have good problem-solving skills and are not constantly trying to improve, then they will end up hurting your project.”
Especially for junior developer positions, “[employers] really don’t care about what you think you know,” said Todd Millecam, CEO and principal consultant of SWYM Systems. “Focus on how quickly you can learn and how willing you are to learn.”
SEE: Hiring kit: Python developer (TechRepublic Premium)
Developers often thrive when they have some business acumen as well, and can look beyond the immediate uses of their code, said Anna Daugherty, digital marketing manager of PITSS. “They need to be able to see how their software or application fits into the wider scope of the enterprise, how their project drives ROI, and how they’re contributing to the overall organizational health,” Daugherty said. “If they have this skill, they’ll work harder, smarter, and be able to speak the language of the executives who need them to produce better results.”
- How to become an Alexa developer: A cheat sheet (TechRepublic)
- The 4 most hated programming languages (free PDF) (TechRepublic)
- Python playbook: Upgrade info, new features, installation and usage tips, and more (free PDF) (TechRepublic)
- The highest in-demand skill for software engineers is Redux.js (TechRepublic)
- The Rust programming language now has its own independent foundation (TechRepublic)
- C, Java, and Python hold onto the top 3 spots in the TIOBE Index for February 2021 (TechRepublic)
What is the average developer salary?
A developer’s salary is based on a number of factors, including years of experience and location. According to the Bureau of Labor Statistics, the 2019 median pay was $107,510, whereas in May 2019, the median annual wage for all workers was $39,810, the BLS said. That’s a 5.33% increase over the 2017 median of $101,790. The best-paid 25 percent made $136,320 in 2019, while the lowest-paid 25 percent made $82,430, according to the U.S. Labor Department.
A 2020 Stack Overflow survey found that the median salary of developers worldwide was $57,000, while in the United States, that number was more than double, at $120,000.
Here are some average reported base salaries in the U.S., drawn from Stack Overflow:
- Full stack developer: $112,000
- Mobile developer: $120,000
- QA developer: $105,000
SEE: 10 ways to prevent developer burnout (free PDF) (TechRepublic)
Where are the hottest markets for developer jobs?
The highest-paying software developer jobs on average are found in San Jose ($145,730), San Francisco ($145,250), Seattle ($134,090), New York ($122,230) and Battle Creek, Michigan ($121,160), according to US News & World Report.
In 2020, Zippia ranked the best U.S. states for web developers in terms of salary. Topping the list are Washington, D.C., Virginia, New York, California, and Washington.
SEE: C++ programming language: How it became the foundation for everything, and what’s next (free PDF) (TechRepublic)
What are some typical developer interview questions?
Developers can expect questions like these during a job interview:
- What kind of development are you currently doing?
- Tell me about a tough software development problem and how you solved it.
- Can you describe the development methodology that you’re familiar with?
- How is/was the QA process handled at your company?
- What is your process to test and find bugs in an application?
- What are your career aspirations?
While it’s important to prepare for the questions you might be asked by the employer as a developer job candidate, it’s also key to know what questions you will ask them. Some questions might include:
- How will my performance be measured?
- What are the biggest challenges facing the team right now?
- Can you tell me about the members of the team that I would be joining?
- Is there room for growth?
- Interview questions: Android developer (TechRepublic Premium)
- Interview questions: iOS developer (TechRepublic Premium)
- Interview questions: SAP developer (TechRepublic Premium)
- The Apple Developer Program: An insider’s guide (free PDF) (TechRepublic)
- Google: We’re funding developers to work full-time on Linux security (TechRepublic)
- Developers are facing burnout after spending too long hunting bugs in code (TechRepublic)
Where can I find resources for a career in development?
There are different paths into a career as a developer, and the technical skills or degrees required typically depend on the job.
About 75% of professional developers have a bachelor’s degree or higher, according to Stack Overflow. Traditionally, a bachelor’s degree in computer science was necessary for advancing in the field; however, a shortage of developers in many areas and the rise of coding schools has led some companies to hire candidates without traditional education backgrounds.
SEE: Web Developer Masterclass: Beginner To Advanced | Java Object-Oriented Programming & Design | The Very Big Data & Apache Hadoop Training Bundle (TechRepublic Academy)
Some 87% of developers said they have taught themselves a new language, framework, or tool without taking a formal course, while 49% said they had taken an online course in programming or software development, like a massive open online course (MooC).
A number of people are also learning to code through coding bootcamps. According to Course Report, in 2021, the average bootcamp costs $13,500, with graduates starting salary at $67,000. Eighty-three percent of bootcamp graduates report working in programming jobs. The average bootcamp student has six years of work experience and at least a bachelor’s degree but never worked as a programmer. However, the number of students with degrees appears to be declining slightly over time, Course Report said.
A 2017 Indeed survey found that 80% of U.S. tech hiring managers and recruiters said they have hired a coding bootcamp graduate for a tech role, and 99.8% said they would do so again. Of the 1,000 people surveyed, 72% said they consider bootcamp graduates to be just as prepared and likely to perform at a high level as computer science grads. However, 41% of hiring managers said they would prefer to hire someone with a computer science degree, because they are more qualified and more likely to be a top performer, Indeed found.
No matter your education background it’s key to have a portfolio of your work to show employers. “The reality of getting hired as a developer is that it’s way easier to get hired if you show the company what you have done,” Nick Larsen, a data engineer at Stack Overflow, is quoted as saying in a Stack Overflow blog post. “A portfolio of projects and products you have made credible contributions to is worth more than years of experience or schooling.”