In the last three years, I’ve been working as a Software Engineering Manager at the biggest foodtech company in Brazil. Today, I’d like to share the main lessons I’ve learned.
Starting as a Manager: The First Challenge
When I became a manager, I felt lost. I didn’t know exactly what I needed to learn or what I was supposed to do. As a Staff Engineer, I was focused on technical problems. Suddenly, I had a team of ten people looking at me for direction. I needed to guide them, improve processes, and deliver results for the company. But my first question was: How do I do all of this?
The Three Pillars of a Software Engineering Manager
As a Software Engineering Manager, your role revolves around three key areas: People, Process, and Technology.
• People are the foundation of everything. There’s no team without them. You need to know your team better than anything else in the company.
• Process ensures the team doesn’t rely on specific individuals. People come and go, so you must create systems that work regardless of who is on the team.
• Technology is the tool we use to build what the business needs. But as important as it is for you to understand technology, it’s even more crucial that your team knows how to use it effectively. You don’t do things alone — you need a team.
Lesson 1: Understand Your Team’s Current State
When you first land in a team as a manager, your priority is to understand where the team stands.
• What are the immediate problems that need to be solved?
• What is the team delivering to the company?
• Are they aligned and working well together?
• What business and technical metrics should be tracked daily?
This foundation will guide your decisions. As a manager, you are responsible for making decisions that impact the team and the company.
Lesson 2: Know Your People
Your team members are not just resources — they are individuals with goals, frustrations, and motivations. Get to know them:
• How long have they been in the team?
• How happy are they with their current work?
• What are their personal and professional goals?
• How can you help them grow quickly?
Building trust is crucial. If your team knows you genuinely care about them, they will feel safe to do their best work.
Lesson 3: The Manager is Not the Hero
A common mistake new managers make is trying to solve everything themselves. But your role is not to be the hero — it’s to build a strong team that can solve problems independently.
• Delegate problems and help the team solve them.
• Focus on developing people, not just fixing issues.
• Create a safe environment where team members can give and receive feedback.
• Encourage autonomy — your team should be able to function well even if you’re not there.
Lesson 4: Build a Culture That Outlives You
Your team might change over time — people will leave, and new people will join. A strong culture and solid processes should remain, even if key members (including you) are gone.
If your team only works efficiently when you’re there, it means something is wrong. A well-structured team should be able to operate smoothly, regardless of who is in charge.
Lesson 5: Feedback is Key
Always give clear and honest feedback. Talk about both strengths and weaknesses:
• Encourage your team to improve their weaknesses, but don’t let them focus only on that.
• Keep strengthening their strong points — if they only work on weaknesses, they will become average, and that’s not the goal.
• Help them find a balance between improvement and confidence in their skills.
Final Thoughts
These are just a few lessons from my journey as a Software Engineering Manager. If you’d like to learn more, consider following me! :)