Almost every online forum or social media network you can find has plenty of posts with people looking for a change in their work at the start of every new year. While many posts come from those with long careers looking to stay in their existing roles elsewhere, a large portion comes from workers looking to enter a new field.

In software testing and QA forums, I've noticed an influx of people wanting to get into test automation for the first time. These posts come from people at all levels, from testers with QA experience but no hands-on automation work to those with zero experience in testing. With more organizations looking to get into automation these days, many people are looking to join the field.

Unfortunately for these people, getting into the field is a lot more complicated than expected. One of the main pain points I've seen is that almost every entry-level automation job posting seeks testers with at least a year or two of experience. Without any hands-on experience, many would-be automation testers feel entirely stuck.

It's understandable to want to hire someone with some experience from the start from a business perspective. Taking someone in with little to no experience for a specific role requires a decent investment of time, with tons of hand-holding to guide them at the start. Many organizations don't have the resources or the desire to deal with this, so they want someone who can get started with minimal effort.

Without on-the-job experience, yet no one wanting to provide the opportunity to gain that experience to start, does that mean you'll remain stuck forever? Don't despair - you don't have to stay stuck forever. You have the chance to make your path and move into test automation.

First things first: You need to put in some work on your own

Whenever a tester asks me how they can get into test automation, I probe them about their current level of experience or knowledge. In particular, I focus on their programming skills or knowledge of test automation. At the very least, do they know the basics of computer programming, or do they have a high-level overview of test automation?

More often than not, the reply is that they have zero programming experience and don't know anything regarding test automation beyond "having the computer run tests on its own." Sadly, that lack of knowledge is a significant roadblock on the path to test automation. You need to spend some time learning the basics of programming and test automation before proceeding.

These days, you have tons of resources at your disposal online. You can find complete courses covering the basics of programming and test automation for free on YouTube. If you want more in-depth coverage of a specific topic, educational platforms like Udemy, Udacity, and Pluralsight offer low-cost courses. You can also pick up an ebook or course from an independent, experienced developer for deep dive into a subject of your interest.

The choices can be overwhelming, but don't get stuck trying to choose your first programming language or test automation tool. Pick any programming language that's widely used (Java, Python, JavaScript, etc.) and a test automation tool for that language like Selenium, Robot Framework, TestCafe, and so on), find resources for them, and get started. Once you pick up the basics on any one of these, you can transfer your knowledge to another language or test library.

You can argue that you don't need any programming skills these days for test automation, thanks to codeless testing tools like TestCafe Studio and Ranorex Studio. However, these tools will only get you so far. They work well to get you started, but you'll inevitably find them limiting in what they can do. You don't need to be an expert programmer or have intimate knowledge of a testing framework. Still, programming skills are necessary if you want to advance your career in automation. Showing that you've studied the basics is the fastest way to show initiative and the willingness to learn and grow.

Things you can do to land your first test automation job

With basic programming skills and an understanding of test automation in place, here are a couple of things you can do to improve your chances of landing your first test automation job.

Build side projects and expand your portfolio

When you don't have any experience at the start, you need to get that experience somehow. One of the best things you can do is create that required experience yourself by building side projects on your own time. Spending time working on these small projects and building your portfolio allows you to have something to show when sending your resume and getting interviews.

It doesn't matter what you create as a side project or an addition to your work portfolio, as long as it's relevant to the field you want to focus on for your career. For people seeking test automation work, here are a few ideas of things you can do to expand your portfolio:

  • Automate some common flows for a website you often use, utilizing the programming skills and tools you know.
  • Experiment with building an automated test suite for applications you're interested in testing, like a website or a mobile app.
  • Create a blog or YouTube channel to document what you're learning and talk about what's new in the world of test automation.

At this point, you might be thinking that you can't do any of these things because you don't have the experience. Usually, this kind of thinking is perfectionism sneaking into your mind. It will help if you let go of these thoughts. When you have little or nothing to show in your portfolio, you'll want to build up as much as you can without worrying about things being perfect. It doesn't mean you get to skip on quality, but know which areas could use some improvement if you had more time or experience. Keeping your shortcomings in mind makes for great talking points during interviews.

Contribute to open-source projects

Sometimes it isn't easy to know what to build for yourself since it's an open-ended question. Perhaps you might prefer a bit more focused guidance instead of a wide-open field. In either of these scenarios, an excellent avenue to explore is the world of open source.

Most testers think that contributing to open-source projects can only be accomplished by coders, but there's so much more you can do with these projects. When it comes to testing, you'll find that lots of open-source projects have broken or incomplete automated test suites - if they have any at all. These projects provide the perfect opportunity to hone your testing skills in a real project.

Ideally, you already use some open-source projects in your day-to-day work. Find where those projects host their source code and check their README file or issue trackers to see if you can spot opportunities to contribute. You can also use tools like GitHub's advanced search to narrow down projects using the programming language or test tool you're familiar with.

The beauty of open-source projects is that you don't always need explicit permission to jump in and help with improving. You can reach out to the project maintainers to ask, or you can learn Git and submit the changes yourself via a pull request. Like working on your portfolio and side projects, helping with open source demonstrates competency and initiative. It also shows you can work with others. These contributions go exceptionally far in making you stand out when applying to jobs.

Grow and leverage your network

There's a good chance that you're now working at a job that you landed thanks to someone you know. Depending on which study you read, most people hired for a job got the position because of a personal connection. Despite its potential, networking remains a vastly underutilized tool when job-hunting.

If you're looking for a test automation job, mention it to your existing network. Reach out to people like former co-workers, university buddies, or personal friends working in the testing industry. Let them know you're interested in test automation and ask for advice. Given a chance, most people in your circle will be happy to help however they can, as long as you show you're trying and you're not asking them to find you a job directly.

What if you don't know anyone in the tech or testing business? In non-pandemic times, the best advice would be to go to local meetups and conferences. But in the age of social distancing, that's not an option. Still, you're not limited only to those you know in person. Thanks to the Internet, you have millions of people you can reach out to at any given time.

Most of those meetups and conferences that happened in a town near you have now moved online. Everyone has the same opportunities to join them and interact with others. Social media networks like Twitter and LinkedIn are gold mines for finding people doing what you want to do and are often just a click away. You can also reach out to book authors, YouTube creators, and blog writers with a friendly email message to connect.

Meeting people you don't know online isn't ideal for many reasons, especially since it's difficult to gauge someone's intentions from a computer screen. But don't let that prevent you from connecting with people on the Internet. Don't be afraid of reaching out to others online, thinking they don't want you contacting them. In my experience, most authors and content creators would love to help you on your journey.

Be open to internships and freelance/crowdtesting work

When seeking new job opportunities, most people focus on job listings for full-time employment. However, these aren't the only ways to get your foot in the door. You can find other "non-traditional" ways to work for an organization that doesn't require a 40+ hour engagement from someone with experience in the field.

A less-common way of working at a company is through paid internships. These internships typically target new college graduates, but anyone can apply. The positions are limited, part-time jobs with meager pay, but in return, you'll get the valuable experience needed to get your first full-time job. Early in your career, work experience is usually more valuable than the money you'll receive.

Be careful with unpaid internships, though. If you can take the financial hit with an unpaid internship to gain experience, only consider taking the position if you know for sure what you'll get out of it. Many organizations use unpaid internships as an excuse to get people to do menial tasks unrelated to what you want to learn, and you'll get nothing out of it.

Outside of internships, you can seek out freelance and crowdtesting work with minimal work experience, as long as you can demonstrate you can get the job done. We're living in a period of the so-called "gig economy", where it's common for employers and employees to look for short-term commitments. Platforms such as Upwork, uTest, and Applause let you find one-time jobs that can help you gain real-world work experience.

The downside to freelancing and crowdtesting is that you'll likely compete with dozens of others with similar skill levels as you. It's a competitive market that significantly drives down wages, which is difficult for those living in a country with a higher living cost. You'll likely have to work for less than you'd like at the start. But with every gig you get, the more you can find better-paying work, and it often happens sooner than you think.

Slide in through the side door via another role

If you're dead-set on finding work as an automation tester but find it difficult to find any job without enough experience, you might want to consider a different role. Consider starting your journey to test automation through another position with a lower entry barrier into the workforce. For example, many companies might not seek a dedicated QA person at a given time, but they may have other tech-related positions available. Roles such as technical support specialists and different IT-related positions are more widely available around job boards, and in some cases, they're easier to obtain.

These tech-related positions also have the bonus of being close to the tech team in the organization. Being able to interact with experienced developers and testers daily expands your network and can help you spot new opportunities for the role you want within the company. It's not uncommon for organizations to hire internally before even posting the job posting publicly, so being inside boosts your chance at switching to a better role or getting a promotion.

I can vouch for this strategy since it's how I began my career. I studied computer science in college, and after graduating, I wanted to find a software developer role. However, I couldn't find any jobs for my experience level where I lived. I opted to apply for an entry-level IT technical job at a company, repairing used computers for resale.

The company that hired me used a custom-built application internally, built by an outsourced overseas team. There were some communication issues between companies, where any small change or bug fix took at least a week. Out of curiosity, I began poking around the application codebase in my spare time and learning more about the system.

About six months into the job, I had a few minor suggestions on improving the application. Instead of requesting them to the outsourced team as usual, I asked my boss if I could take some time doing the changes on my own. He was hesitant I could handle it but agreed to try for a few days. Thankfully, poking around the codebase in my free time paid off, and I was able to complete the updates in a day. After a few weeks of handling most app updates on my own, my boss was impressed and hired someone to take my IT role and switched me over to become a full-time software developer.

The key to successfully switching roles is to be prepared and set yourself apart from everyone else. In the story above, if I hadn't been learning what development tools they were using or showed initiative by improving the software, I wouldn't have received the opportunity to become a software developer in that company. The organization never looked for the role publicly, yet there was a need to solve a problem. When you're on the inside, you'll have similar opportunities others on the outside won't ever have.

Summary

Getting your first job for any technical role is hard - really hard. It's a long, draining process, full of rejections and non-responses any time you send out your resume. It doesn't help that most organizations want someone who has some on-the-job experience. It's a chicken-and-egg effect: no experience, no job. The inverse is also true: no job, no experience. How can you break the cycle? Fortunately, you can skew the odds in your favor by taking the initiative to get your first test automation job.

First off, you need to get yourself ready with some preparation on your own. Automation relies on knowing the basics of automating tests and requires some basic programming skills as well. With so much material available online about these topics, there are no excuses not to know a little about them before you begin your job hunt. You don't need to be an expert, but you will need some initial knowledge to move farther than others.

With the basics in place, you have a few options to improve your chances of landing that first automation job. You can spend some time building small testing projects and expanding your portfolio and online presence. Open-source projects provide an excellent opportunity for this and expand your existing network of people who can guide you in the direction you want to go. Finally, you can find side-work to gain experience or start working in a different role to leverage into the position you want.

Combining more than one of these choices increases your opportunities, so use the strategies that work best for you. Any or all of these choices aren't guaranteed to land you a job, but it's much more useful than throwing your resume around and hoping someone will call you back. Take the time to make yourself stand out from the rest, and someone will know you're the right person for the job.

What did you do to get your first job as a tester? Help others starting their careers by sharing your experiences in the comments section below!