4 paths into tech you probably haven't considered (but should)
Demand for software developers is at an all-time high. But so are the requirements for landing one of these sought-after positions.
Companies want education, experience, expertise... and all too often for you to jump through multiple hoops to get through their grueling interview process.
Maybe you're changing career, or perhaps you're just starting out and struggling to even get a response from companies. Although there's a lot you can do to prepare for interviews and increase your chances of success, the reality is that some folks still don't manage to land a job.
If you find yourself in this situation, don't give up just yet. You've learned valuable skills, and that time and effort doesn't have to go to waste.
Getting a job as a developer when you have no experience is hard. If you're not having success with entry-level job applications, consider a different technical role as your starting point. Some roles can be an easier way to enter the industry—and could offer a path to software development in the future.
Tech companies don't just hire developers
Although programmers are what everyone thinks of when they imagine the tech industry—and it's true that the engineering team often makes up a significant proportion of a company—there are many other critically important roles that need to get done in order for any company to be successful.
Many people just aren't aware of all the other roles available within the tech industry. Or they're so focused on becoming a developer that they don't stop to consider the alternatives.
Let's take a look at some of the other roles you can apply for (and yes, they can all be done at entry level).
Technical Support Engineer
Technical support engineers answer customer questions and troubleshoot issues related to a company's products. Their role is to answer calls and emails from customers and solve any problems they're experiencing.
The role is often something of a technical/product hybrid, where you have to understand the technical aspects of a product, but also how it works from a user's perspective. If you like interacting with people, it can be very satisfying to help solve their problems.
Although this role is a great way to get to know a company's product—and its customers—it's unlikely you'll actually write much (if any) code.
What skills do you need to do it?
- Problem-solving and debugging, so you can troubleshoot issues efficiently
- The ability to comprehend potentially complex products, and see things from a user's perspective
- Communication skills and empathy are extrememly important (read: staying calm in the presence of frustrated, angry customers)
What kind of companies hire for this role?
At very small startups, you might find the founders or product person take on this work initially. But as soon as a company grows at all (above 10 people or so), they'll usually hire a dedicated person to handle it.
This role may similar to (or replaced by) customer success in some companies, so you could consider roles with that title as well.
QA/Software Engineer in Test
QA (quality assurance) engineers are focused on all things product quality. This can mean everything from manually clicking through user flows to check everything works, to (more common these days) writing automated test suites in code.
This role actually shares many traits with software development: both roles should care about quality, catching edge cases, and ultimately making sure the best product gets shipped to the customer. The main difference is a mindset shift.
Where software developers' primary focus is on designing and building out features, QA's attention is on making sure everything is completed to spec, free from bugs, and has been battle-tested with attempts to break it in strange and unexpcted ways.
If catching issues and making sure an application is rock-solid sounds like your idea of satisfaction, look into QA engineering.
What skills do you need to do it?
- Attention to detail is a must: you need to care about things being right, and be able to spot when they're not
- Most QA engineers today will be expected to have coding skills, and to be able to use them with appropriate testing frameworks
- You also need a good appreciation of user requirements for a product, and to be able to distill them into testable steps or flows
What kind of companies hire for this role?
QA roles are generally found in medium to large size companies. It's possible to get by for a long time with just developers, as they can (and should) write tests to accompany their own code. So a company will often be a few years old before it decides to break QA out into a separate role.
Whether a company hires QA engineers is also dependent on their individual philosophy around this—some just choose not to have dedicated QA at all. It is possible to find these roles in plenty of companies if you search for them though.
Developer Evangelist
Developer evangelists focus on bridging internal and external communications related to a company's product. It's a community-oriented role, in which you act as an ambassador for the company, interacting with the outside world, both online and through in-person events.
This is a great role for people who enjoy interacting with people just as much as the technical side of products. You might do everything from speaking at conferences or hosting workshops, to interacting with the community via your company's open source projects.
Developer evangelists may also be known as technology evangelists, developer advocates, or some other variation on those words.
What skills do you need to do it?
- Strong coding skills and technical ability: although most of your time won't be spent writing code, you may work on open source or code in live demos
- The ability to understand and present technology in a way users find clear and engaging is a huge part of this role
- An outgoing and sociable personality—this role is all about building relationships with people outside your company
What kind of companies hire for this role?
Developer evangelist roles are more commonly found in established companies of a larger size. Google, Amazon and Microsoft all have their own equivalents of this role, for example.
This does mean that if you have your sights set on early-stage startups, you likely won't find many developer evangelist roles.
Software Engineer Apprentice
Software engineering apprenticeships are a relatively recent addition to the entry-level job landscape.
Distinct from internships (which are programs designed for students currently studying in STEM fields), apprenticeships are aimed at recent coding bootcamp graduates, or self-taught developers of a similar level.
Bootcamps claim that students will graduate ready for a junior developer position. But more and more companies started to realize that there's often a skill gap which prevents graduates from being successful in their first roles. Apprenticeships are an attempt to solve this problem.
You can think of them like paid contract-to-hire positions. They're designed to take very junior developers, and provide them with the extra educations and training they need, with the goal of converting to a full-time software engineering role once completed.
What skills do you need to do it?
- The ability to code and build simple apps, gained either through a coding bootcamp or self-study
- The desire to become a full-time software engineer
- Application processes for these programs are often similar to regular interviews, so you'll want to brush up on all the same tech interview skills
What kind of companies hire for this role?
A few of the larger tech companies have announced official apprenticeship programs in the past couple of years. These include Microsoft, LinkedIn, Pinterest, Lyft and Twilio.
Applications generally only open once a year, so you'll need to check that the timing works for you.
Also bear in mind that entry to these programs is quite competitive, so it's worth having a backup plan in case the apprenticeship doesn't work out.
Can I use one of these roles as a stepping stone to a developer role?
In most tech companies, it is possible to transfer between roles.
It's not always easy or guaranteed, but if you show an interest in a different role available at your company, they will often support you in your desire to transition to that role. After all, it's usually in their interest to keep you as an employee rather than lose you to another company.
What does this mean? People can (and do) become developers at their companies after working in a different role.
There are a few benefits to this approach:
- These developer-adjacent roles can be less competitive, require less experience, and have less brutal interview processes.
- While you're working at the company, you can get to know the developers, learn about what they're working on, what technologies they use, and what the role is really like before deciding if it's for you.
- You can network internally. A personal connection is often the best way to get a job, and you can't get much more personally connected than if you're already working there.
- You'll already know the company, culture and product. You've already been successful in your current role, so the company already knows and trusts you. This means there's much less risk than if they were to hire externally.
However, also bear in mind that the experience you'll gain is not always directly relevant, so it still won't necessarily be easy to land your first developer job.
You'll still likely need to put in effort outside of your daily work to build relevant projects and practice interviewing, so you can demonstrate you have the ability to be successful as a software developer.
Final thoughts
Although these other roles can be used as stepping stones to a developer job, most of them are also careers in their own right.
This means they require their own unique skill sets and technical knowledge, and therefore attract people with specific interests and preferences aligned with the nature of the role.
If you're a career changer, that's good news, because you might already have some of these other skills—meaning you'll be able to settle into your new role quicker. And maybe this role will turn out to be a better fit for you than software development anyway.