Six Lessons Learned From My Years As A Software Tester I never thought I could become a software tester. It just wasn’t an option I was presented with when I was a young high school student about to make a life-changing decision – choosing my future career. Back then, I felt that when you wanted to get a job in tech, the only options available were becoming a developer or an analyst, but not a tester. But luckily, once I entered the tech industry it presented me countless number of career opportunities to choose from. So whenever you ask a tester how did they become one, they’ll most probably answer you: “by accident”. It wasn’t any different for me. I just stumbled upon it while I was in college looking for a job. Today my passion for testing has turned into a business and I wanted to share six important lessons my career as a tester taught me before I bridged the world of entrepreneurship. Photo Credit: Marko Kruustük, August 2013 1. Don’t be afraid to ask questions There are no stupid questions. When I was in college, James Bach visited our school and the #1 thing he taught me was that a tester should always ask questions before making any assumptions, if given the time and resources. Up until then I was always so anxious about asking questions and offering answers, because I didn’t want to embarrass myself in front of people. Keeping a curious mind and being eager to learn more will help you get far in life. If something is unclear, it’s always good to ask questions. 2. Reach out and connect with new people and let them teach you something When I moved to London after graduating from college, I started reaching out to people in the testing industry with the goal of learning something new from them. I was ambitious and wanted to learn how to become the best I could possibly be. I reached out to strangers explaining my situation and my pure interest in connecting with others in the industry in order to become better. I got many negative but also many positive answers. Be prepared to get lots of no’s, but be persistent and you’ll get the results you need. The more we help each other, the more we can elevate the industry altogether. It’s definitely not the most comfortable or natural thing for most people to do, but you’ll be surprised by how many people are actually open and willing to help you, if you have good and understandable intentions. Just try it! 3. Learn to listen and understand the end users perspective When I started my first job as a tester, I was given a “simple” goal — find issues in products. At first, I was the only tester on the project and had to learn everything by myself. But I knew that I had been successful in uncovering issues in those products I was using on a daily basis — and the reality is that we all are. Anybody can find issues in any product they use. What really makes testers important and a crucial part of the software development life cycle is their ability to listen, understand and analyze the product under test from multiple angles while considering the end-user feedback into the evaluation and investigation process. 4. Quality is everybody’s responsibility There is a misconception in the industry that testers need to find all the issues, and if everything falls apart in production it’s largely because of a lack of testing or because of testers doing a sloppy job. Obviously there could be some truth to the second part, but mostly the underlying issue lies somewhere else — either the process or a methodology you were following with your team. Maybe it was due to a lack of time, resources or something else. I’m not going to hide the fact that when I started in the industry, I always felt guilty when something went wrong in life. I would start blaming myself and questioning my abilities instead of looking at the big picture and trying to understand the root cause of the issue. The reality is, every new feature or a bug fix introduces an unknown number of new issues — it doesn’t matter how many issues we are able to identify, what matters is how we can deliver a quality product as a team that makes our customers happy. 5. Building software is like playing piano I’ve played piano since I was 7 years old and I’ve learned that you can’t set the expectation to be perfect. I believe that perfection kills creativity and is holding people back. Skip perfection and just keep going. It requires time and patience to master your skills and you can always learn, improve and do better — and this is what keeps me going. It excites me to learn something new every day. While I was working as a tester, I quickly learned, that in today’s industry, in order to beat competition as a company or a product, you have to iterate quickly and you can’t expect to constantly have everything in perfect order — find all the issues or develop every feature your users ask for. In order to keep growing you have to keep on going. Photo Credit: Marko Kruustük, July 2015 6. Automation does not replace manual testing The rise of automated testing has caused a lot of buzz and newbie testers are constantly questioning whether they will have jobs in the future… I believe that automation is just a tool that helps your team balance your weaknesses, so you can focus on your strengths. I also recommend reading a blog post written by the CTO of Basecamp that illustrates my point perfectly. Since unit testing and test-driven development burst onto the programming scene in the early 2000s, too many programmers have deluded themselves into thinking that they could ship high-quality software with automated testing alone. It’s a mirage. DHH, CTO at Basecamp I’m very lucky that I found my passion for testing at such an early age. It taught me creativity, compassion, and patience. I also learned that nothing in life comes easy — there were times I was struggling with understanding the high-level purpose and impact I could have as a tester. But if you are willing to wait, learn, and work hard, you can accomplish anything. Do you like software testing? Join the Testlio Network as a freelance tester today.