A couple of weeks ago we discussed how finding a bug can be a blessing in disguise and help protect your company’s reputation.

Today we will dive into the importance of communication and the benefit of becoming a better developer.

Communicate. Respect. Often.

“Mistakes will be made along the way. Because decisions will be made along the way.”

– Steve Jobs

Communication plays a fundamental role for remote teams. You are not just communicating about a bug, you are communicating respect. You are paying back the trust your team has shown in you. If developers were perfect enough to find all the bugs by themselves, no one would need you (the second eye). So keep in mind, you are there because developers need your help. Try helping them out. A small change in the structure of your sentence or wording could make a huge difference in the response you get. For example, you could say “what if we do this like xyz” instead of “do it like xyz because that’s how it works”.  Maybe ask for a reason and get feedback. This will help you in testing the same scenario next time.

Don’t hesitate to ask for help. People get what they ask for. Try to understand how it works not just why it works. Remember, your purpose is to add value to your product, not to just do your “job”. Humbly express your opinions. Don’t afraid of being wrong or making mistakes.

Steve Jobs, your turn:

“Mistakes will be made along the way. Because decisions will be made along the way.” – Steve Jobs

Code yourself.

Testing can be boring sometimes. To make things more exciting, try learning some code if you haven’t already. Don’t live your life under one umbrella. Life is dynamic. It needs surprises, challenges, little achievements and encouragements. You can always set your priorities but my suggestion is to learn some code and contribute whenever you get a chance. This will help you realize some of the different challenges developers face. These experiences will help you when testing someone else’s code. Again, your job is to add value to your product. Try however you can.

Although testing requires a different attitude, when you are coding and testing at the same time (which you should), there is a good chance you will accidentally miss some bugs in your work. When you are coding, there are some assumptions that you make about your own code – that it will (or at least that it should) just work. While you are testing, remember the first and most important principle of this game is… Yeah. Never make an assumption. 🙂

This has helped me a lot. I call it “modes”. When I am in developer mode, I try hard (just like every developer) to make my code as bug free as possible. But when I am in QA mode, I forget everything I did as a developer and focus on how a use case should perform and start testing every detail of it (including the ones that didn’t click while I was coding). Repeating this process over and over again, improves things greatly, if not making it perfect.

Conclusion

Nobody is perfect. We are all learning here and the best way to learn something is to experience it. Learn something new everyday. Make, explore, discuss and create something new. Life is too short to live it in the cage of your own thoughts. Whether you are developer, tester, designer or even a painter, be open to looking into someone else’s life, profession, and experiences, and learn something. Don’t be afraid of being wrong… that’s how this “learning” thing works 🙂

Oh, and how could I forget Rumi here:

Out beyond ideas of wrongdoing and rightdoing there is a field.
I’ll meet you there. – Rumi

And last but not least, share what you learn. This will not only help others make better decisions but also make you a better learner.

What is your experience with testing or QA as a developer, or as a QA specialist? What do you think should be improved or considered?