The 3 things that I have learned as a team manager
I have worked at ContaAzul for 4 years and a very good thing here is the opportunity that we have to try to experience different kinds of jobs. I have gotten the opportunity to try to be a manager, of course, it’s a very risky move because my job as manager would impact on my co-workers. Anyway, a year as a team manager has taught me 3 things that I would like to share.
1 — People are trying to do a good job.
No matter if your co-worker may seem to be acting like an idiot and making a lot of mistakes every single time. When he wakes up in the morning he doesn’t think “hello world, hello life, today I’m going to work to disturb my co-workers”, or “Today is a good day to do some shit at work”.
So, if you want to be a good professional, your co-worker probably wants that too (This is not a rule!). If you want to get a raise, your coworker probably want that too! So if your co-worker is doing something wrong, don’t assume he is trying to be a bad professional. Just give him feedback because this is an opportunity for him to improve
2 — Collaboration is key for a successful team
When I first heard about Github around 2012, I thought I really understood the meaning of collaboration because open-source is that magic word called collaboration. So let’s open a pull request, write some comments for my co-workers, wait for some comments, merge pull request and… wait, the Github process alone is not collaboration, I was doing all my old mistakes behind the mask of collaboration, for example, when someone wrote a code review for me I just got frustrated. I realized that it was a huge mistake and that I was lying to myself about “collaboration”.
Looking from the outside into an engineering team, I could see that different points of views were the key to finding awesome solutions. I realized that I was solving problems using the same mindset that I have used for years and that I would not make amazing software this way. A good team has different points of view, and to build an efficient and excellent team you need as many ways as you can to face the problems. So when you are on a collaborative team, you can see the interaction between the team members building things you couldn’t build alone.
3 — Be clear about your expectations
This is a very simple thing; your manager can’t read your mind. A good manager can see employees’ behavior and suppose that someone is happy/sad/anxious/relaxed/etc. A good manager will try to find out what is going on with you, talking with you and asking “Are you ok?’” or “How can I help you?” or “Can I do something for you?”. But if you are unhappy, tell this to your manager. Seriously, his job depends on your success and the things that are disturbing you are his problems too.
Another thing related to this is if you want to be a software architect, a team manager, a security engineer, or something else let him know. A part of his job is to help you to move up in your career if he knows your expectations he may help you to find a good option for your career and the company as well. As I said, he can’t read your mind, so tell him what he needs to know about your expectations.
By the way, as I have decided to try to be a team manager I have decided to go back and set my focus on tech (I have told it to my manager), but this is a good content for another post.
Of course, I have learned a lot of other things that I can’t remember while writing this, but my point is I believe I’m a better software engineer and a better co-worker for having some management experiences.