What I've learned in my first professional year as a QA Engineer

Felipe Cavalcanti
6 min readOct 3, 2020

Opinions and experiences from a not very experienced tech guy

Creator: marchmeena29 | Credits: Getty Images/iStockphoto

1. Good communication is a key for a project's success

Most of the problems faced inside my team were, in the end, related to some miscommunication between our team members. Much of this came from an attempt of implementing in a practical and, in my point of view, not very well stablished Agile concept. There were faults and sometimes a very poor documentation or even discussion about what should be done for the next coming Sprint. Also, when would a task or feature be considered done? By done, you mean implemented with unit tests, integration tests and QA validation executed, right? Or shall we postpone the unit tests and release it as quickly as possible to our client, increase our bug backlog in the future and then work on killing the bugs? Should the comments about a Story update be placed in the comments section or should we edit the original story? In a QA side, how should we write our test cases? Should it be written following a charter or a script model?

Those are just some questions faced and heard by me. For sure I can tell you that most of them are philosophical questions that had taken some hours from our time with discussion along several meetings. At that point, it seemed too much effortless talking while everyone would state and stand for their opinions.

In the last semester we've had some good improvements and most of the questions cited above were no longer being discussed. Actually, we've started testing our options and figuring out those who would best fit our expectations and those which would not. The team communication itself became more straight-forward and it was directed onto more critical stuff such as raising new test scenarios for new features and helping on an Application behaviour's definition.

Another thing about communication is how important a daily meeting is. It's probably around 15 minutes and it is meant to share everyone's statuses about their tasks and to communicate with the team about your impediments and how it will affect the Sprint's goal if no help is offered or if the team members let it pass by. A very good tool I learned is the "team's flag concept" at the very end of daily meetings: a green flag is raised if everything is working as expected, a yellow flag is raised if there is something that needs more attention and a red flag is raised if we are in very much trouble. That's a concept discussed and raised quickly by the whole team together and fast action plans should also be shared to make a flag green again and make the release good to go.

2. No matter how unexperienced you are, you'll always be able to contribute on something

That's very simple: you're worth it! It's not because you're new to a team or even starting your career inside technology world that you have nothing to add. Surely, you'll be requested and people around you should know you need help once in a while to get over some tasks.

I once received a public commend from our client because the way I commented about the bug's status after a validation. At first sight it looks like something not very important but it is always good for you costumer to know which version this bug was validated in, its current status (does it still happen?) with a complete description of the scenario, instead of just mentioning you validated it.

That was when I realised that even the small things I do are accountable and helpful for the environment I am involved in even though I've just started.

3. No extra money can buy your health

That's a big step you should always consider when you're about to start working in a new tech company or going to another project: How is the extra-time working culture over there? Keep that in mind!

Extra-time should be considered as optional and it should be done exceptionally only in cases which it's very necessary. If it becomes something mandatory you'll probably see your mental and physical health decrease time at a time and if that happens your work performance might be affected. Therefore, remember that no extra money can buy your health.

4. You may not get along very well with some coworkers and that's fine

There's no perfect world scenario in life and it is also applied inside your work environment. Every time you have someone you don't get along very well, try to be gentle and avoid conflicts. Every person has its own way to deal with others and that's fine if you don't "match" with that person's personality. Scale that to your supervisor or leaders, let them know you're uncomfortable with it if it's really disturbing your performance. On the other hand, always remember you are part of a team and even though you are facing some trouble with someone, you both have to work to deliver the best product or service you are meant to.

5. Asking for help is the better way to solve a problem you're stuck with

You are no hero! Although the most experienced people easily and rapidly solve hard problems, they still don't know everything and once they were also in your starter-position and had to ask and learn a lot. Every time you are stuck with some task, I would recommend you do the following steps:

  1. Research (Google it!)
  2. Try two or three solutions you've found
  3. Then, if none of them worked, ask for help.

That will help you to look for a solution first and not getting used to just receive the answers from someone and it will also reminds you that it's ok to not know everything and ask for help.

6. Be proactive and exercise your leadership skills

Be proactive and show what you've got! Again, you don't have to solve hard problems or show you're the best (actually, know you're not and everybody is working together). But, a simple action like taking the initiative to gather some people around a meaningful and important discussion or even identifying a need and literally doing it without anyone asking would be very good. Always share what you're doing and why you're doing it. Ask for opinions, be open-minded to changes and updates.

7. Hear what people have to say

As mentioned before, be open-minded and hear what people have to say. In this world there are thousands of ways to solve something and surely your vision will differ from the your colleagues. Let it come, discuss, test, change, test it again and finally get your goals done. Everybody has something to teach and something to learn.

8. Deep-dive through the User Stories

Ok, I get you are an Agile fan but you'll need at least a minimal documentation to guide you. As a QA, face the User Story as your best friend because that will tell you exactly what's expected from the application you're testing and validating. Also consider raising scenarios not mentioned and help the UX/UI team to make the US even more complete. The better the scenarios coverage, the better will your work be. Keep in mind that you and your whole team are responsible for the software quality, that's why everybody should deep-dive through the User Stories and think about every possibility.

9. Set your goals and don't be too hard on yourself

It's a process. But you need to know what your goals are. You have to understand where you want to get and really make your path to it. Which seniority level do you want to be in five years? What do you have to do to reach that goal? How more responsibility you'll be accountable for? How will you get prepared to the new challenges upcoming? Understand where you are now and be aware to respect your professional growth. Enjoy every moment and learn from all of them. No rush, just focus!

10. Organize your time and your financial life

It's common to feel overloaded when you want to do so many things at once. Split your tasks, set for each one of them an specific time-box and keep improving. Find the best ways to do so. In the beginning you're also not gain too much money, therefore think and spend it wisely. You can't spend more money than you have. Create some tables and write everything down: your goals, your finances(income and outcome) and live the best way you can. Allow yourself to make things that take you away from working thoughts and enjoy your personal life too. Go to the beach, make a trip somewhere you want, eat sushi and be gentle with yourself. Remember: you are not a machine!

--

--

Felipe Cavalcanti

Bachelor in Computer Science / MSc student in Software Engineering @ UFRPE / QA Engineer @ CI&T