DEV Community

Cover image for First steps leading engineers
João Barbosa
João Barbosa

Posted on


First steps leading engineers

6 months ago, I volunteered to help on career Growth at Whitesmith. There was a general feeling at that time that people were feeling stuck and somehow frustrated for not growing as a team but mainly individually. So, we decided to improve on this.

However, this was really hard for me. I've been a lead dev for the past years and I felt completely lost at the beginning, and still now tbh.

In this post you won't find (yet) our detailed current process (mostly because it isn't clearly defined) but you will find 7 things I wished I'd known before.

1 - Too much information around

You will feel lost in a sea of information. There's an infinite number of posts, blogs, threads talking about tech lead (and another one now). You will want to read everything before doing any action. However, it's impossible, and you'll quickly feel overwhelmed with all that info.

2 - Listen your team, know their pains and goals

More than knowing everything about tech lead, what's really important is to know your team and where you're going. 1on1's with everyone will bring the knowledge for that. They will tell you their frustrations, pains, goals and needs. These will be the first insights on where to start your job.

3 - Are we humans, or are we engineers?

(terrible pun with The Killers song)

Each person on your team is different. Each one of them has a different life with different problems. We all have our own different battles in life and sometimes we need to spend energy and focus on other things rather than work. Keeping that in mind some are more shy, some not. Some will think that they owe you something, that they are behind schedule and hurting the team. Usually these people won't feel comfortable about talking their pains. Be their leader and help them. Actively listen each one, give them space and support when necessary.

4 - Fail fast, Iterate fast

One of the biggest pains I felt was the fear of releasing something which was not perfect or that I was not secure of. However, it will never be perfect. Your team is not like any other team described in blogposts. Teams are always different, which mean different approaches. Instead of waiting too long for releasing something almost perfect, release, fail and improve more often. Be aware that if you iterate once each quarter, at the end of the year you have 4 iterations and 4 data points. If you iterate monthly you will have 12 iterations. Way more precision to fine tune your team.

5 - Align expectations

Make sure that there's a common goal, and that everyone understands it in a crystal clear way. At Whitesmith, more than knowing how to master a couple of techs, our team must be critic about the product. Our good engineers will then find the best tools for the job and then you can step in to define boundaries on which tech is better for that specific problem. But it depends a lot on the company. Question yourself what's your most common project type and what's your best set of tools. Do you want to be really good at just that? Or do you prefer to be more flexible and allow other tools? Define standards, some role models of your team so that people know where the team is going and consequently where they are going too.

6 - Delegate and communicate

Just because you're not coding, it doesn't mean you are not working. To me, that was a big issue. So, in order to sort it I try to communicate regularly so that the team has visibility of what I'm doing. Also, most of the times you will have too much on your plate. Feel free to delegate. I'm pretty sure that you will have volunteers for certain areas (in my case, infrastructure, front-end,...)

7 - Growth aka learning, engineering manager, space for your team to improve

Give your people space to grow. Try to find time for them to learn something new. However, it's also important to find a place for this knowledge to be applied. Learning without a purpose and not being able to apply it regularly, seems to be almost as frustrating as not growing at all.

That's all, for now!

I'm planning to start posting more often on this or similar matters. But for now, what do you think? Any specific areas or topics that you'd like to know more?

Keep In Touch

Feel free to reach out, comment and/or disagree so everyone else can benefit from 🙌

You can find me also on twitter or LinkedIn!

All the best!

Top comments (1)

nicolasini profile image
Nico S___

Great post. I particularly identify with point 5, aligning expectations and goals is fundamental to succeed as a team.
We need to be aligned internally, but also externally with the rest of the company, so we can deliver the maximum possible value

An Animated Guide to Node.js Event Loop

Node.js doesn’t stop from running other operations because of Libuv, a C++ library responsible for the event loop and asynchronously handling tasks such as network requests, DNS resolution, file system operations, data encryption, etc.

What happens under the hood when Node.js works on tasks such as database queries? We will explore it by following this piece of code step by step.