A little disclaimer first: this is not about bragging! I would just like to take the oportunity to tell you a little bit about my journey into test automation. In fact I presented this during the Nordic Testing Days 2019 conference in Tallinn, Estonia.
During my school days, probably when I was about 10 years old , there was a group of people in my class who were just getting a little bit into programming Basic. So I started as well and soon enough, I was hooked. My father had just bought a blazingly fast 286 PC with a whopping 20 MB hard drive and a monochrome monitor. After a short while, my programming experiments almost filled its capacity entirely...
This fascination of telling a machine what to do never left me, so later in high school, I took some programming courses. This was going to be my career - I was pretty sure about that!
In Germany, we have a special kind of vocational training that is a mixture of work in a real company and school. Since I was determined to get into the business world as soon as possible, I never bothered to study but directly applied for a job. In fact, this was the second year that this job profile even existed in Germany. So naturally, the education part of it was not at all mature yet. Luckily enough, I kept learning and developing small private projects throughout these 30 months of training (mainly PHP and Flash).
After this, I could officially call myself “IT specialist for application development” - I was ready for my first real job. Or so I thought.
I worked for a small web agency and created mainly web applications and small games. But way more important than the technical aspects I learned there were things like how to work in a team, how to document your work and - most importantly - how to organize work. Some aspects that were not really taught in school.
One and a half years later, the company went bankrupt. So, being young and careless, I made the decision to be a freelancer from this point on. So I turned into a self-employed web and Flash developer.
Boy, this was a rollercoaster ride! But it lasted for more than six years and I am seriously glad that I went through this time. In terms of learnings it had a lot in stock: how to approach and work with customers, how to organize your work even better than before (since there was no company backing me) and, in terms of technology, how to make my code reusable.
My very last customer I worked for as a freelancer was a well-known computer game company. I was hired there to help with the front end development of a new Facebook game. The team grew pretty quickly from three people to 15 so the team work aspect was even more important than in my previous jobs. It also taught me about the intricate relationship between frontend and backend developers and how to coordinate and align our work so we could keep up the weekly releases.
We also had a few QAs in the team and, to be frank, us developers viewed them as "necessary evil". It could be horrible to push a new feature with a strict deadline and then having it returned to you because of bugs. At one time (and I am not proud of it), we even pushed something even though we knew it had a bug. In this case, we thought "if QA doesn't find it, we don't have a bug".
After one and a half year, this project was cancelled. I stayed and became part of the tools and services team which developed specialized software for marketing, community management and support of various games. This was not only the first time I had to do Java Enterprise development and sharpen my team work skills even further (our QA team was located in Romania) but I slowly realized the importance of quality assurance and automated testing. Writing unit, integration and functional tests became part of our daily routine.
Then there was Selenium. This changed a lot for me - I started writing my very first simple test framework so we could run end to end tests as part of our release pipeline. Working a lot with all the different forms of testing turned out to be surprisingly enjoyable for me and I wanted to do more of this.
After six years in the games industry, I discovered a job offer as a Test Automation Engineer that ticked all the boxes of what I wanted to do. Even though it was scary and I had serious doubts, I applied.
Fast forward to 2020...
I have been working as a Test Automation Engineer now for almost four years. My tasks include: developing and maintaining our in-house end to end testing framework, test runs inside our CI/CD pipelines, ensuring reporting and visibility of results as well as consulting and helping with all testing related matters. Since I belong to the core QA team now, my whole view of the importance of this profession (including exploratory testing!) changed a lot as well - but I will leave this for a future blog post.