From QA to Developer? How was my process? Tips to boost your career path!

Eduardo Heinen
11 min readAug 12, 2020

--

Photo by Clément H on Unsplash

As soon as I left high school and my technical 2 years IT course I got a job to work as a computer technician, repairing broken computers inside classrooms in a university. At that time back in 2009, I started to attend Java courses and creating simple applications such as Calculators, Converters, etc. That definitely helped me out to get in touch with the programming language I liked, which was Java, and get used to the syntax, methodology, and the patterns.

I will set some tips I have collected during my journey in case you want to learn a programming language or would like to move from being a QA or something else to become a developer or even be a better professional.

By the way, if you are a QA and still don't know how to automate, it is time to get started learning a programming language as soon as possible.

Tip 1: Do more, Deliver more!

My job was alwasy really appreciated by colleagues, tech leads and even managers because I use to think out of the box. This is one of the key to achieve success: Do more than what someone asked you.

If your manager for instance that asked you to create a report, don't give him just numbers, deliver something that he will appreciate like a spreadsheet well formatted. Or if your tech lead asked you to do "A" and "B", do "A", "B" and "C" or even more if it would bring value to the company or team.

I made so many mistakes that I am pretty sure if today I took a look at my code made years ago, for sure my eyes would bleed badly right now. In my opinion, it is totally fine to make mistakes. At that moment I was starting to build something and this was just a small step compared to what I have gone up on this ladder so far.

Tip 2: Chill out! You are gonna mess up a lot!

Don’t worry to make things wrong when learning a new programming language, if you don’t make mistakes you will never learn it. And you need to drop the ball sometimes to get a solid base of knowledge.

For years I have worked as a QA Automation Engineer using Java as my primary programming language and then Ruby as my second one. For months I studied it to take my Java Certification and in the end, I never apply for that. I realized that could be a really bad habit that most people have. Start something and never end it.

Tip 3: Motivation ON… After some time… Motivation OFF.

Have you already felt like really motivated to start a new project and then you get a notebook, write down a lot of plans, database entities, diagrams, etc. And then you create the project from scratch with a famous Hello World and suddenly the motivation goes away and this is another project that is buried in the grave? I have seen this behaviour in a lot of people, specially in myself. I would say, this is a bad habit and must be defeated with all your strengths.

Remember! It is more important to finsh a task over starting 5 other tasks and don't finish any of them.

I confess my first plan was to become a developer back in 2009, I didn't even know that being a QA was an option. At that time, it was so hard to find a job as a developer without any professional experience. For this reason, I have agreed on being an intern manual QA with a promise to become a Test Analyst with a focus on automation to get experience. Initially, manual QA was not that bad and I was seeing the value in being a test analyst, which was very valuable at that time, designing test cases and test specifications. I was enjoying it so much that I was approved in 2 QA BSTQB certifications.

Since the beginning of my job as an intern, I started to work as a test analyst and focussed on automation and I loved that. Finally, I could merge 2 things I was in love with: QA + Development. It is quite normal to see it happening, and once you start in this QA Automation area you don't want to stop growing anymore, at least that what happened to me.

Tip 4: Just do it by yourself!

This is an important tip, never depend on anyone or any company to become greater. I have met people with a really pour mindset that were so arrogant and in the end, they just buried their own carreer.

I met a manual QA once and he was working in a great company, the company had announced there was an opportunity open to become a QA Automation. This manual QA mindset was: if the comapny wants me to become a QA Automation, then they MUST give me a course and prepare me to it. I think, theoretically he is not that wrong. I would never act like him, I would have dug into automation as much as I could and learn it by myself, it is my future, my carreer and I would do it by myself. Well, I don't even need to say this manual QA was fired and the company hired a QA Automation.

That is very sad to see people parking their careers because they are lazy and want to depend on something else to become something greater. #shame

As the years went by, I got more into Java helping during the development phase and get closer to developers. I met really great people in my journey so far that taught me things I would never have known searching by myself. It looks strange but I worked in a Java project where I developed the unit tests before the feature implementation got done. Also called as BDD (Usually, developers do it). If you have the opportunity to do it, then take advantage of it!

I don't want to sound haughty, but I wasn't a bad QA Automation Engineer at all. I was really good and took advantage of most of the opportunities I had. To achieve that of course, I had to sacrifice a lot of things, such as my time, effort, and many other things to become as better as I could be.

Tip 5: Get a beer, sit and code!

If you have a colleague that is your friend on your job and you have a beer, that is all what you need to improve your code skills. There is no better way to learn if not with someone who knows it.

So, take the beer, open it up, serve your friend, sit in his chair and start coding with him drinking next to you and watching what you are doing. Besides the beer, it is a free learning that would cost a lot in courses and you would not get the same experience. So, TAKE ADVANTAGE OF IT!

Being a QA Automation provided me opportunities to work in other states and even in other countries. I was allocated to work in a 3 months project in California and here it comes another important part of my journey, improving my English. In my opinion, languages, in general, are not as easy to learn as programming languages based on my own experience. I speak natively Portuguese, advanced English, basic Spanish, and basic German. By the way, I spent a lot of time trying to learn German, but for me it is impossible, I would rather learn C. LoL.

All these opportunities led me to not only learn to automate frontend webpages but much more. I dug into other areas as well, and because of that, I became a QA Automation expert. I knew how to automate in basically everything. For instance, Android Apps, iOS apps, Load Test, Frontend webpages, REST API, Mock Service, UnitTest, BDD, TDD, etc.

I used to interview other QA Automation engineers and it is very common to see great resumes falling apart during the interview. As a former colleague used to say: "Paper accepts everything". Of course, I don't have exact numbers and stats, but I have the feeling that most of the QA Automation engineers don't know how to do things they write in the resume or even don't know beyond the basic knowledge. I got really tired to see people saying they were Senior and in the end, I evaluated the candidate as Junior or Mid-Level.

Tip 6: Don't lie, someone will figure it out!

Ahaaaa, so you are this kind of person that has used for just one day or another a library or a programming language and put in your resume you are proficient on it? I will catch you! and Someone else will do as well! Just mention in your CV things you areproficient and know how it works. Otherwise your confidence goes down the drain and it may cost the job you are being applying.

We are getting close to the end of my journey to move from being a QA Automation engineer to a Software Engineer!

So, after I returned from California, I worked for some months in São Paulo, and then I was hired to work in Berlin, Germany. To be honest, the interview was quite easy for me, the person that was interviewing me didn't have the same experience/level I had and in the end, I was answering questions as easy as basic math. I remember as it was today when I answered a question in a more technical approach, the interviewer was totally lost. I noticed that QA Automation engineer was not strong as it was in São Paulo, I think we had a couple of QA Automation engineers in the company before me that used to automate the projects.

Once I came, I started to do what I do the best, deliver value to my team/company. In the first two weeks, I had the project already done by scratch with some features already automated and also started training my friend that was trying hard to get the knowledge of automation.

Not even three months in the company and they announced the company had been sold to another huge company. I remember the feeling of uncertainty and before lunch, my manager came up to me and said: "We need to talk after lunch". I swear I almost p**ped my pants! For 2 hours my heart was getting out of my mouth and I was constantly thinking: "Okay! not even 3 months and I will be fired". Well, the meeting time came up and my manager just surprised me saying something like: "I really enjoy your performance and how you do your job, I was invited to be part of one of the main teams in the huge company that bought us, and I want you to come with me". That was a relief and I was so happy because I see my work being rewarded.

Tip 7: Dealing with people? Be sensitive!

If you are dealing with people, you should be sensitive, patient, serve this person as you wish to be served. Not only your lead or manager, everyone. This act will create great opportunities for you in the future. When great news are coming, no one remembers someone that doesn't know how to serve! Even if this person is high skilled.

After I moved to work in the new team inside the new company, I started to be very proactive, learning the business picture, getting in touch with colleagues, check the projects, programming languages and frameworks I was surrounded by. In the first months, I built a QA Automation course in order to train colleagues to help me to automate the projects we had. At that moment, I was the only one in the sector that knew how to automate.

Tip 8: Alone you go faster, together you go further.

What is more important:

1 - Work faster and don't complete the task you have? or

2 - Work together slower but complete the task?

This is the main point behind a great manager or tech lead, if you have an excellent team you go further. I have seen manager that wherever company they go, they take together some special persons with him/her that sum up forces and help him/her to aim higher.

So, if you have the opportunity to train and teach your colleagues to sum up with you, just do it! In addition to the great opportunity that you are giving to someone else, you would be being sensitive and learning as well. Once you pass knowledge, you are forcing your brain to remember things that might be forgotten inside your mind.

WAIT! If everything were going fine so far, why the hell you decided to change your career path?

Well, you know when you think you cannot grow anymore inside your company and you have to make a decision to not park your career or get lazy and accommodate working without a purpose? I found myself in this situation, and I was talking to a friend about my situation and I realized I could keep learning and doing greater things if I changed my role to be a Software Engineer. My friend knew someone from another team that was starting a new team and he spoke to this tech lead about my wish and some days later, this tech lead came to talk to me about the position (inside the same company). I said what I was feeling, my experience, what I knew that would aggregate to the team and he decided to pull me to his new team.

That was an intensive skill growing, doing things I never had the opportunity do to before. That was the time where I started falling in love with Kotlin and Spring Boot.

Tip 9: A friend that knows a friend that knows a friend…

Have you already heard those stories that happened to a friend of a friend of cousing of friend and never ends the chain? Well, it happens with opportunities as well. One of the main key to get well succeeded is to have connections! If you are part of a community, or is so extroverted that can have a lot of friends and connections in every place you go, consider you have achieved an important thing. Whenever you need someone or something you will easily find! A new job? Just ask! A programming language you want to learn? Just ask!, etc.

Nowadays, I have conquered a lot of good things as a Software Engineer, and I am one of the Software Engineers that interview Software Engineers to my team and other teams as well. It's funny to see, even Senior Software Engineers I interview are evaluated as Mid-Levels. In my opinion, It doesn't matter your role, but your skills and what you are up to in order to boost your career at the most.

Tip 10: Home is not place to get lazy…

If you want to learn something, home is the right place to do, so. I know your PS4 will call you, or Netflix will beg you to sit down in your couch to watch Tv Series or Movies. That is the difference between a great professional and an ordinary one. If you want to aim higher, home is not place to get lazy.

I hope you enjoy this reading. What do you think about the tips? Have you changed your career path to becoming a developer/software engineer? Just write it down in the comments! I would love to read your experience.

(Extra) Tip 11: The great business picture!

One think that will boost your significance in the company will be the amount of knowledge you have about business. Before start coding, take a dip step inside the big business picture, understand it. Your life will be way easier. You will be become a reference. In tech discussions about new features, new services, strategies, architecture. Your point worthy! And you will have not only one solution for the problem in discussion, but many.

--

--