11 Lessons Learned From Working as a Tester on a Startup

Ever since I have started working on the startup application called Niftio, which is an online presentation platform, I’ve heard how different teams work in outsourcing, in comparison to teams on products or startups.

My job was to test the application, but besides from that, tasks for my team and I, were not strictly related to our job description. We had various assignments, and we did what we had to in order to complete our plans — because that’s a cross functional team does.

During a time span of 2,5 years, I have learned various skills, not all of them testing related. Some of them, I’m sure colleagues who worked on outsourcing projects are aware of as well, but nevertheless I would like to share some of the lessons I’ve learned.

So here it goes:

1. Never leave anything undocumented

During meetings and even casual talks, lots of opinions are shared and ideas, improvement suggestions, and potentially breakthrough features are born.

The problem?

Often, people leave those ideas there and never bring them up again.

What to do:

Document those thoughts and come back to them later when the timing is appropriate.

This doesn’t mean you have to make a list every time someone says something, rather be present to every discussion and try to filter those items which have the potential of bringing some value to the project.

2. Doing multiple things at a time will decrease your productivity

There will always be more than one thing that is ‘really important’ and requires attention ‘yesterday.’ But even so, taking multiple tasks upon yourself and working on more than one at the same time will decrease your overall focus and productivity.

Be like a postage stamp — stick to one thing until you get there — Josh Billings

For this, it is important to try to prioritize those tasks, discuss it with your team and figure out which ones you need to do first.
If you don’t believe me, just research what science has to say about multitasking.

3. Saying yes all the time is self-sabotage

Wanting to help and be useful is good. Saying ‘yes’ to every request every time, not so good.

We have the tendency to accept every task which comes our way. Many times, offering or accepting to help can be very useful, it can serve as a learning experience or just for strengthening our professional and personal relationships. But, on the other hand, if you don’t say no every once in a while, it can affect your overall work performance.

Saying ‘no’ is healthy…

… and it doesn’t make you a bad person. Don’t make up bullshit excuses for why you can’t do a certain thing, just try to figure out if it worth it. In this situation, you can also delegate or offer to help at a later time if it’s not too late in order to not lose focus on the thing you’re currently working on.

4. Knowing your capacity will give you a clearer vision of what task you can delegate

It is imperative to know how much work you can take upon yourself. This comes after a period of experience and with tasks you have a certain familiarity towards.

Even so, often we tend to say ‘I can do that, and that and that’, either because we underestimate the tasks or because of our hubris. This will just lead to exhaustion and eventually burnout.

My approach on this:

Try to estimate my workload as best as possible, and delegate the rest of the tasks. Sometimes a teammate is more qualified than you to perform a certain activity. It can take you a full day to complete it because you have to do research but someone else can do it in 1 hour because he has already done it 10 times, so do that instead — delegate.

5. Don’t see idle time as an opportunity to relax, it’s an opportunity to grow

There will probably be times when the workload is not as high as usual, and you have periods during the day when there will not be any tasks for you to take.

What do you do during these periods of time?

There will be those who will say ‘You should just relax, take it easy if you have no tasks. Now you can ask yourself the question, ‘Do you really need to relax? Are you that tired?’. If not, don’t take this as idle time, it’s a great opportunity to get to study that new application you’ve been curious about, or finish that presentation you’ve been wanting to show to your colleagues.

Either way, use that time for something useful, there will come a time when you won’t even have time to eat and regret not doing what you should have when you were more available.

6. Get to know your team’s abilities so you know where to go to with each task

It’s very important to know what skill set each team member has. If you know exactly which person to ask when you have a problem or question, or even when it comes to assigning a task, you can save up a lot of time and go directly to the person.

This aspect can also help a lot when it comes to the delegating of tasks, I told you about earlier.

7. The environment is flexible, mold it to your team’s necessities

Every team works a bit different than the other. I believe that there is no predefined ‘best way’ of working inside a team, for example pure scrum. We have different available frameworks like scrum and kanban which should just be used as foundations on which we can build and develop a particular team’s way of working.

The team can develop this way of working over time as they experience various work styles. We should continuously inspect and adapt, if something doesn’t work as expected, find a better alternative.

8. Trying to be good at everything will decrease your overall performance

With today’s rapidly evolving technology, it’s hard to be up to date or even familiar with all technologies and applications out there.

For each particular role in an IT firm, there are countless areas you can master. Trying to be good on all of them, in my opinion, is a waste of time and not something very efficient. There are things you know, and things that you are really good at, but you should figure out what your interests are, focus your attention on them and master them.

Only one who devotes himself to a cause with his whole strength and soul can be a true master. For this reason, mastery demands all of a person — Albert Einstein

9. Develop a system and not repeat past mistakes

It’s inevitable we’ll make mistakes at some point. The important part is how we manage them.

Some people pretend that it never happened and sweep them under the rug, while others confront and learn from mistakes in order to improve. The first step would be to acknowledge your mistake and be able to admit that you screwed up.

Anyone who has never made a mistake has never tried anything new — Albert Einstein

Some people get defensive when it comes to this part. When this happens, it’s important to help everyone understand that mistakes are not something to punish, and they’re not a personal attack. Rather they represent a learning experience. We have the chance to analyze them and figure out ways to adapt our processes so that those mistakes don’t occur again.

That being said, I think it’s necessary to encourage people to try and take upon themselves some high-level tasks and fail, rather than stay in the comfort zone and not grow.

10. Never be ashamed to show your work

Oftentimes, especially when it comes to a junior who is new to the field, he will be reserved when he has to showcase his work. This is because he will be afraid of being judged and his work being rejected. When I first started studying java and wrote some automated tests, I knew my code was bad but asked feedback from a more experienced colleague. He didn’t tell me my code was shit but gave me a lot of useful feedback.

So don’t be afraid of constructive criticism or feedback, if you avoid it, the learning curve will be very linear.

11. Try to maintain a pleasant work environment

The stages of team development will always be present (forming, storming, norming and performing). Conflict can be present at many times. It’s how we manage conflict that determines if the team will be able to collaborate efficiently further.

If there’s a person you know is hot headed don’t charge head on whenever you feel like you should intervene. If you’re pissed off wait a bit to cool off before saying all the stuff you have boiling in the back of your mind/tongue. Try to approach each matter diplomatically trying to see the bigger picture.

Oh yeah, and always be polite.

That being said, these past 2 and half years have taught me a great variety of things, skills I can apply not only in my professional but also personal life. I only hope the next projects I will be working on will be close to this one. It was a blast 😀

11 Lessons Learned From Working as a Tester on a Startup

Article written by Dragos Campean
The article was originally published here.