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’ve compiled the most important details and resources. This guide will be updated on a regular basis.
SEE: IT jobs 2018: Hiring priorities, growth areas, and strategies to fill open roles (Tech Pro Research)
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 developer talent has skyrocketed in recent years, as companies seek people who can bring digital projects and applications to life.
Front-end developers, full stack developers, mobile developers, and back-end developers are among the top 10 hardest to fill tech jobs, according to data from Indeed.
Meanwhile, the US Bureau of Labor and Statistics predicts that software developer jobs will grow 24% between 2016 and 2026—much faster than the average rate of other professions, the bureau noted. Application developer jobs are projected to grow 31% in that time, and systems developers are forecast to grow 11%.
What are some developer job roles?
Developers can take a number of different career paths. Here are a few roles in the field.
- 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.
- 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.
- Mobile developer: Builds apps for mobile devices, including iOS and Android. A mobile developer might use Java, Swift, and Objective-C.
SEE: IT Hiring Kit: Programmer (Tech Pro Research)
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 Stack Overflow predicts that by 2019, Python will significantly outstrip other languages in terms of active developers. Coding Dojo found that Python grew in popularity by about 5,000 job postings between 2017 and 2018.
Stack Overflow’s 2018 Developer Survey found that Rust, Kotlin, and Python were the most loved programming languages among developers, while Visual Basic 6, COBOL, and CoffeeScript were the most loathed.
In terms of what programming languages can net you the highest salary, globally, the top paying options were F# ($74,000), OCaml ($73,000), and Clojure ($72,000), according to Stack Overflow. In the US, Erlang ($115,000), Scala ($115,000), and OCaml ($114,000) topped the list, the survey found.
SEE: Job description: Java developer (Tech Pro Research)
What other skills are required to become a developer?
Outside of technical know-how, employers are increasingly looking for developers with strong soft skills. «These little things can be the differentiator along evenly qualified candidates so much more than certifications,» Mike Walsh, founder of Straight Path Solutions, told TechRepublic. «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.»
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.»
SEE: Hiring kit: Python developer (Tech Pro Research)
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 US Labor Department, software developers made a median salary of $100,080 in 2016. The highest-paid 10% in the profession earned $157,590 that year, while the lowest-paid earned $58,300.
A 2018 Stack Overflow survey found that the median salary of developers worldwide was $55,000, while in the US, that number was nearly double, at $100,000.
Here are some average reported base salaries, drawn from reports from Indeed and Glassdoor:
- Full stack developer: $111,640
- Mobile developer: $90,000
- Salesforce developer: $108,089
Where are the hottest markets for developer jobs?
In 2017, Zippia ranked the best US cities for web developers in terms of salary relative to cost of living, as well as number of job opportunities. San Jose, CA, Seattle, WA, Framingham, MA, Austin, TX, and San Francisco, CA topped the list.
For software engineers, Glassdoor named the highest-paying cities in 2016 based on adjusted salary and cost of living, and found the top were Seattle (adjusted median salary: $105,735), San Jose ($100,989), San Francisco ($99,751), Madison, WI ($97,236), and Raleigh, NC ($94,142).
What are some typical developer interview questions?
Developers can expect questions like these during a job interview:
- What’s your favorite language, and why?
- Provide an example of a web application that you’ve built and what technologies were used to build it. What considerations did you make when deciding on the tech stack to use?
- How do you stay aware of new technologies related to development?
- What projects are you currently working on? What side projects are you working on?
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?
Where can I find resources for a career in development?
There are different paths into a career as a developer, and the skills or degrees required typically depend on the job.
About 73% of professional developers have a degree in computer science or another engineering discipline, 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.
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).
SEE: Job description: Front-end developer (Tech Pro Research)
A number of people are also learning to code through coding bootcamps. As of 2017, there were 95 coding bootcamps in the US, with close to 23,000 graduates that year, according to Course Report.
The majority of coding bootcamp graduates do find full-time employment, with 80% reporting that they are in a job that requires the technical skills learned at the bootcamp, according to a 2017 Course Report survey. These graduates saw an average salary increase of 51%, or $23,724, with an average starting salary of $70,698. However, it should be noted that 75% of bootcamp graduates already have a bachelor’s degree, Course Report found.
A 2017 Indeed survey found that 80% of US 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 blog post. «A portfolio of projects and products you have made credible contributions to is worth more than years of experience or schooling.»