Developers are among the most in-demand tech professionals in the workforce, with high salaries offered to those with the right skill sets. While learning to code and breaking into a new career may seem daunting, the high number of open jobs and training opportunities could make development a great option for many people.
"A lot of developers suffer with imposter syndrome and feeling like they don't have enough knowledge or experience to apply for a developer position," said Cristina Blanchard, a front end web developer at Brew Agency. "The truth is, if you have a solid knowledge and understanding of the most basic, core concepts of development, you can learn just about anything with the right training and a little tenacity. Don't be afraid to apply for a position you feel you may be under-qualified for, because you never know who may be willing to train you or help you get the experience you need."
Interested in becoming a developer? Ask yourself the following 10 questions to determine if the field is right for you.
SEE: IT Hiring Kit: Programmer (Tech Pro Research)
1. Are you the type of person who isn't satisfied until a solution is in place?
Developers must find creative solutions to complex technical problems, said Gabriel Cardona, creator of BITBOX. "To decide if becoming a developer is the right career path, ask yourself if you like continuously learning and complex problem solving," Cardona said. "Are you the type of person who isn't satisfied until the solution is in place?"
The best programmers find joy in problem-solving, and that provides motivation to keep at difficult tasks, said Maura Teal, software developer at Pagely.
2. Do you like building, creating, and fixing things?
The development process involves envisioning a product and bringing it to life, said Ryan Walker, Lin Wang, and Blake Mills, all part of LaunchCode's candidate engagement team. Creative thinkers such as artists, musicians, and writers often make great developers, they added.
This can also require a lot of attention to detail, and the ability to lock into a task that others might find tedious, Blanchard said.
However, "being a software engineer isn't simply about writing code," said Michelle Ridsdale, chief people officer of Envato. "You need to be able to test it thoroughly, solve issues, write sensible user stories to support its use-case and work collaboratively across teams of all sizes."
3. Do you enjoy understanding how things work?
"Coding requires logical thinking built upon understanding how programming tools work," the LaunchCode team said. "A good developer breaks down a project into tangible pieces and fits the puzzle together. People with systematic and logic thinking skills can usually find a good career as a developer, such as auto mechanics."
Generally, good developers are tech enthusiasts, said Chuck Tweedy, software and electrical engineering group manager at NOVO Engineering. "He or she is an early adopter, excited about new technology, and captivated by developments," Tweedy said. "If you find yourself intrigued by innovative software technology and feel compelled to figure out how it is made, or if you can spend hours trying to solve a problem without a sense of time passing, chances are, you may enjoy a career as a developer."
SEE: Job description: Java developer (Tech Pro Research)
4. When faced with an obstacle, do you feel motivated to overcome it, or do you feel discouraged from continuing?
The development process is as much about fixing code as it is about writing code, according to the LaunchCode team. Developers are often faced with problems that take significant amounts of time to solve, and they must remain determined.
That means they must be able to handle making zero progress on a task for hours or even days, to find out that you had a comma in the wrong place, said Ilana Davis, a front end developer intern at Planet Argon. "Something so small could cause a huge ruckus and often they are hard to spot," Davis said. "There's nothing like spending days researching for a solution only to find out you were missing a comma. It can be frustrating. This is one reason being detail-oriented is super important."
5. Can you pay attention to details while also not losing sight of the big picture?
Breaking down a large goal into smaller, achievable tasks is key for the development process, the LaunchCode team said. "However, if a developer becomes bogged down with sorting out small details, the larger goal of development can become lost, and a project can end up a messy collection of smaller parts," they added. "The ability to focus on both at once is essential."
This also requires an instinct to make things more efficient, said Harj Taggar, CEO of Triplebyte. "Not all developer work is taking brand new ideas and building them," Taggar said. "This is the most exciting part, but often you need to take the work someone has already done and find ways to make it more efficient and squeeze out performance improvements. If you naturally find making things more efficient enjoyable, you'll more likely be suited to this career path."
SEE: Hiring kit: Python developer (Tech Pro Research)
6. Do you like to work with other people?
The myth of developers spending all day in front of a computer alone is "extremely inaccurate," according to the LaunchCode team, as modern developers work with a team of developers, users, clients, and other departments.
The ability to work well as a team and divide tasks is essential, said Joshua Holmes, CEO of Ethode.
"One person doesn't write the whole system," said Tweedy. "You have to coordinate with other developers so that the different pieces of software can talk to each other. This is super important in an Agile environment because there frequently aren't any up-front specifications. If someone doesn't like to interact or is extremely uncomfortable working with other people, we will see that immediately during the interactive interview."
7. Do you like to learn?
The development field is constantly changing, and working in it requires the ability to study new things all the time, said Cristian Rennella, CTO and co-founder of elMejorTrato.com.pe.
"As a programmer, the most important challenge is always to be hungry to learn new things," Rennella said. "Today it is artificial intelligence, virtual reality, and blockchain. And tomorrow will surely be new technologies. The difference between someone successful and someone who fails as a developer is their desire to learn something new every day. Because the only constant as a programmer is change."
New tools, languages, and methodologies are released every day, and developers are expected to keep up with them all to some degree, said Danielle Sadczenko, lead web developer of Hudson Integrated. "Much of this learning will happen on the job as you're working to solve your latest problem," Sadczenko said. "A great developer will accept this challenge and often work on side projects as a hobby to keep their skills sharp. If you enjoy learning and pick up new things quickly, you could do well as a developer."
SEE: How to become an iOS developer: A cheat sheet (TechRepublic)
8. Do you enjoy solving problems?
Great developers thrive on solving problems, said Sadczenko. While some believe that programmers have to be strong in math, the reality is that they need to be able to look at a problem, break it down into pieces, and test a solution, she added.
"Great developers look at a complex issue with a sense of wonder and an eagerness to dive in and see what's going on," Sadczenko said. "When they have found a fix, they get a sense of accomplishment and pride. A developer will be excited about having fixed a problem, a non-developer will just be happy it's fixed and move on."
Development is often similar to solving a Rubik's cube: There are seemingly infinite ways to go about doing it, said Tweedy. Developers must solve problems using code, and each problem that arises offers multiple options that a developer must wade through to find the one that works.
9. Do you work well under pressure?
No matter the role or workplace, developers will always come up against a tough deadline at some point, Sadczenko said. You need to determine if you are the type of person who shuts down and has trouble focusing under pressure, or if you can rise to the occasion and get the job done.
10. What kind of development do you find most interesting?
As a developer, you need to determine if you enjoy working on hard, technical problems without thinking about the user experience, or if you care less about the technology and more about how it's used, Taggar said.
"This is the most important question to ask because you need to use it to guide you towards the right kind of company," Taggar said. "If you only care about solving hard, intellectually technical challenges and you work at a company that only values design and user experience—it'll be a bad match for both of you. Understand what kind of development and programming work interests you and then find the company that fits."
- Special report: IT jobs in 2020: A leader's guide (free PDF) (TechRepublic)
- How to become a developer: A cheat sheet (TechRepublic)
- Top IT jobs and hiring trends for 2018 listed in Tech Pro Research survey (ZDNet)
- The 10 best tech jobs in America for 2018 (TechRepublic)
- 10 questions developers should ask employers during a job interview (TechRepublic)
Alison DeNisco Rayome has nothing to disclose. She does not hold investments in the technology companies she covers.
Alison DeNisco Rayome is a Staff Writer for TechRepublic. She covers CXO, cybersecurity, and the convergence of tech and the workplace.