If you are interested in pursuing a career in development and don't know where to start, here's your go-to guide for salaries, skills, and the best programming languages to learn.
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 developer will be updated on a regular basis.
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%.
- How to build a successful developer career (free PDF) (TechRepublic)
- 7 programming languages that every developer should learn in 2018 (TechRepublic)
- 15 books every programmer should read (free PDF) (TechRepublic)
- 5 habits of highly successful developers (TechRepublic)
- The truth about MooCs and bootcamps: Their biggest benefit isn't creating more coders (cover story PDF) (TechRepublic)
- IT jobs 2018: Hiring priorities, growth areas, and strategies to fill open roles (Tech Pro Research)
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.
SEE: IT Hiring Kit: Programmer (Tech Pro Research)
- How to become an IoT developer: 6 tips (TechRepublic)
- How to become an Alexa developer: A cheat sheet (TechRepublic)
- The 10 easiest programming languages to learn (TechRepublic)
- Want to learn programming? This startup pays you cryptocurrency to study Python (ZDNet)
- How to become a Unity developer for VR and AR (TechRepublic)
- Developer documentation: How to get it right (ZDNet)
- Here's why younger developers can't stand new programming languages (TechRepublic)
- What are the highest paid jobs in programming? The top earning languages in 2017 (TechRepublic)
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. 4 on the TIOBE Index. Coding Dojo found that Python grew in popularity by about 5,000 job postings between 2017 and 2018. 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.
Stack Overflow's 2019 Developer Survey found that Rust, Python, and TypeScript were the most loved programming languages among developers, while VBA, Objective-C, and Assembly were the most dreaded.
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.
- Stack Overflow: Python is on fire, and Kubernetes needs some housecleaning (TechRepublic)
- Why Python is so popular with developers: 3 reasons the language has exploded (TechRepublic)
- Getting started with Julia: A list of resources (free PDF) (TechRepublic)
- How to learn TypeScript: A resources guide for developers (TechRepublic)
- Which programming languages are most popular (and what does that even mean)? (ZDNet)
- The 10 coding languages top developers plan to learn next (TechRepublic)
- The 10 programming languages developers use most with Node.js (TechRepublic)
- The death of Ruby? Developers should learn these languages instead (TechRepublic)
- Programming languages: Python is hottest, but Go and Swift are rising (ZDNet)
- Java at a crossroads: Why the popular programming language needs to evolve to stay alive (TechRepublic)
- How to learn programming: 3 languages to get you started (TechRepublic)
- Which programming languages pay best, most popular? Developers' top choices (ZDNet)
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."
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 (Tech Pro Research)
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."
- 10 ways that IT pros and developers can keep their tech skills up to date (TechRepublic)
- Six ways to fix the IT skills shortage (ZDNet)
- Stack Overflow founder Spolsky: The three skills every software developer should learn (TechRepublic)
- Learning to code is not a magic bullet: Husic (ZDNet)
- Lack of soft skills holding IT pros back from getting hired, promoted (TechRepublic)
- How to become a developer: 7 tips from the pros (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 US Labor Department, software developers made a median salary of $101,790 in 2017. The highest-paid 25% in the profession earned $128,960 that year, while the lowest-paid earned $77,710.
A 2019 Stack Overflow survey found that the median salary of developers worldwide was $46,625, while in the US, that number was more than double, at $123,429.
Here are some average reported base salaries in the US, drawn from Stack Overflow:
- Full stack developer: $110,000
- Mobile developer: $112,000
- QA developer: $99,000
- 10 ways to prevent developer burnout (free PDF) (TechRepublic)
- Five highly-paid and in-demand programming languages to learn in 2018 (TechRepublic)
- The 10 best tech jobs in America for 2018 (TechRepublic)
- The 8 highest paid and most in-demand tech jobs in America in 2018 (TechRepublic)
- The 10 best tech jobs that pay the highest salaries (TechRepublic)
- 100K developers share most loved and most hated programming languages in new survey (TechRepublic)
Where are the hottest markets for developer jobs?
The highest-paying software developer jobs on average are found in San Francisco ($147,590), Seattle ($133,810), San Jose ($132,170), Silver Spring, MD ($126,260), and Oakland, CA ($125,120), according to US News & World Report.
In 2017, Zippia ranked the best US cities for web developers in terms of salary relative to cost of living, as well as the 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).
- The top 10 cities where you can find a blockchain job (TechRepublic)
- The top 10 cities where job seekers want to move (TechRepublic)
- Developers: Will AI run you out of your job? (ZDNet)
- Here are the 15 best cities for women in tech (TechRepublic)
- The top 10 cities where tech workers can make the most money (TechRepublic)
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?
- Interview questions: Android developer (Tech Pro Research)
- Interview questions: iOS developer (Tech Pro Research)
- Interview questions: SAP developer (Tech Pro Research)
- How Skype is making it easier to conduct technical and coding interviews (TechRepublic)
- Skype adds real-time code editor to test candidates' tech skills in video interviews (ZDNet)
- Throw out the whiteboard: 3 ways to improve the technical interview (TechRepublic)
- The Apple Developer Program: An insider's guide (free PDF) (TechRepublic)
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).
A number of people are also learning to code through coding bootcamps. As of 2018, there were 108 full-time coding bootcamps in the US, with more than 20,300 graduates that year, according to Course Report.
SEE: Job description: Front-end developer (Tech Pro Research)
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.
SEE: The best job-search apps to boost your career (Download.com)
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."
- Getting started with iOS development (free PDF) (TechRepublic)
- Coding school graduates: Are they worth hiring? (TechRepublic)
- 3 tips to spot a fraud coding bootcamp and choose the right one (TechRepublic)
- Apple gives free app development curriculum to schools (CNET)
- Coding school doubles the salary potential for high school grads (TechRepublic)
- Veterans: Here's which coding bootcamps will accept your GI Bill (TechRepublic)
- 3 iOS apps for learning to code in bite-size lessons (TechRepublic)
- 10 free resources to help you learn to code (TechRepublic)
- How Google's Grasshopper app can help professionals learn to code for free (TechRepublic)
- Visit Swift Playgrounds, Apple's programming app for iPad (pictures) (CNET)
- The state of women in computer science: An investigative report (cover story PDF) (TechRepublic)
- NASA's unsung heroes: The Apollo coders who put men on the moon (cover story PDF) (TechRepublic)
- Hacking the Nazis: The secret story of the women who broke Hitler's codes (cover story PDF) (TechRepublic)
- Photos: The 20 most influential programmers of all time (TechRepublic)
- No CS degree? For skilled developers, 75% of hiring managers don't care (TechRepublic)
- Software developers are changing: They want to learn in different ways (ZDNet)
- She persisted: Transforming software engineering at Autodesk (ZDNet)
- Why learning to code won't save you from losing your job to a robot (TechRepublic)