Software Testing is the best profession in the world. I know that. If you don’t, please check this out!

It makes you happy and additionally, you can earn a living. That’s great!

But most probably, if you have been in the business for a while, you have met some unhappy testers; or maybe, you are/have been one of them. If that is the case, or you are just starting your career in the field, hope this post will help you.

My Five Rules

These are the five rules I try to follow every day at work. I can honestly say that they have helped me to be happier and more successful.

#1 Don’t be an asshole

The most important one. Back to it in a minute.

#2 Keep learning

Let’s be honest. You don’t know anything. I don’t know anything. Nobody knows anything. A general rule in life, but constantly applicable in IT.

Think in the software that is surrounding you: inside your laptop, your mobile, their operating systems, their apps, your super-automatic-coffee-machine, the air-conditioner, the auto-pilot system of a plane, your car central unit managing all those sensors, controlling the laser eye surgery machine…

Software products and systems are diverse. They are very much diverse. In size, in complexity, in criticality… Software is so diverse that software development methodologies must be diverse; software testing methodologies must be diverse, software testing tools must be diverse and software testing techniques must be diverse.

So, accept you know nothing, and learn. Learn about your business domain. Learn about the problems the software you are testing is trying to solve. Learn about the technologies, frameworks, programming languages your software is built on. Learn about the testing tools, techniques and methodologies most suitable for your product and context.

Accepting we know nothing is hard and sometimes, frustrating. Doubting can be painful and cause anxiety. But there are only two ways:

  1. You can accept it, embrace it, make decisions based on the information and knowledge that you currently have and keep learning.
  2. Or you can think that you know everything you need, that what you don’t know is not important, that you have the right answers and stop learning.

Remember, #1! Don’t become a methodology fanatic. Don’t become a tool fanatic.

Learn as much as possible about business, methodologies, technologies, architectures, tools. Arm yourself with the highest possible amount of skills and resources. You will be awesome.

I call it the law of the instrument, and it may be formulated as follows: Give a small boy a hammer, and he will find that everything he encounters needs pounding.

Abraham Kaplan

It can be very convenient to go live with an MVP web application for a Golf Club as soon as possible and accept some risks. Would you do that with the software of our new laser eye surgery machine? Hope you answer “No”. Remember, IT depends.

But not everything is uncertainty, Not at all. The more you learn and experiment, the more you discover general valid principles, solid patterns and good practices. And a magic transformation occurs: doubts and anxiety disappear. You still know that you know nothing, but it’s ok because now you know you will know. You feel relaxed because you know you will be able to solve the problem, even being conscious that you don’t know how to solve it yet.

I have never tested any machine-learning-powered software. Yet. I don’t know which is the best testing approach, or which are the best tools and techniques. No idea. Yet. But I know I will do it quite well. And if the first time, I don’t, the second one, I will.

If you are interested in learning more about Testing, you can check my Training Resources page.

#3 Work hard, but smart

Two brief ideas:

Work hard in silence, let your success be your noise.

— Frank Ocean

This is something that has worked quite well for me. But you know, it depends. In some contexts, maybe you need to promote your work. But, for me, as a general principle, it has worked better this “work in silence” mode. Instead of preaching about the value of testing, try to prove it. Instead of complaining about the quality of the requirements, the code itself or the delay in the delivery, work on adding value. Help to identify the causes of the issues, communicate your ideas for improvement and ask everybody “how can I help”?

There is nothing worse than a motivated fool.

— Emilio Duró

The translation is mine. Originally, Emilio Duró, a Spanish well-known speaker, coach and professor, said:

En la vida no hay nada peor que un tonto motivado.

He wanted to say that if you are motivated, but you don’t have the needed knowledge and skills, you are going to cause a lot of damage. So to succeed, you have to be motivated and have a positive attitude, but you have to know what you are doing.

And, the last ingredient, you have to work smart to boost your productivity. There are thousands of books and posts about this (I collected some of them in my Training Resources page), so if you think you are not very efficient using your time, this is definitely an area for you to improve. Plan, schedule, organise, prioritise, focus and… get the job done!

#4 Be community

You are not alone. You have hundreds of colleagues out there waiting for you. Go and connect with them. They know more than you. You know more than them. Share. Help. Be supported.

Twitter and LinkedIn are great places to connect with the Testing Community. Just in case it helps, here is the list of awesome testers I follow on Twitter.

And here you have some web communities:

Remember: you don’t know anything. The community knows everything. Everything. About all testing types, tools, frameworks, approaches, strategies, techniques. Give, answer, ask. You’ll see. It’s awesome!

Once again, #1: please check if there is already an existing community close to you before creating a new one! Also, remember that we have this thing called “the Internet”, so re-think about what “close to you” really means in your context.

#5 Be kind

The most important one!

(YOU: Hey! But you just told that the most important one was #1! ME: Yes, but if you follow #5 strictly, you will automatically follow #1. #1 is for beginners. #5 is for experts.)

Be kind, for everyone you meet is fighting a hard battle.

— Ian MacLaren

Success, kindness. That’s it. Everybody is fighting their hard and unknown battles. If you are kind, you are helping. If you are kind, you are humble, you will learn. If you are kind, you will not blame others, you will add value instead of complaining. If you are kind, you will support others, and you will be supported by others. You will be part of the community, or you will build one around you.

In Testing, remember to be especially kind:

  • When reporting defects
  • Always

As testers, we are part of a process, and anything that is not properly done before will impact on our work. We will have problems is requirements or documentation do not exist or are not good. We will have problems if the development goes wrong, or late, or both. We will have problems if the project is not well managed; if estimations were inaccurate. And we will have a lot of problems if Testing is not understood; if we are not aligned with our teammates and stakeholders about which our role and responsibilities are and what quality assurance is.

In short, we will be in lots of situations when being kind will require some effort. Remember others’ battles. They may have had time concerns, pressure, personal issues, lack of resources or knowledge. We all are humans. Testing is not reviewing the work of others to highlight what they did wrong. Testing is to investigate, to provide information, to help, to assess, to complement.

Again, remember #1. Don’t think you know more. Don’t think you are better. Don’t blame. Don’t complain. Just ask “how can I help?”.


Many thanks to Francisco Moreno, QA Lead at @sngular, who sent the ones he provides to newcomers to me:

  • You’re part of the team not a policeman

  • Quality is a shared responsibility

  • Focus on adding value

  • Be humble

  • Be curious

  • Ask everything


Your feedback is more than welcome! 🙂 Do you like these rules? Do you agree with them? Would you add some more?

Jose Manuel Sampayo

Director Platform Engineering | Test Engineering @adidas. I drive Continuous Testing for Digital Transformation. I love dogs. And also people.

All author posts

Privacy Preference Center