Becoming a Software Engineering Lead

Chapter 1. The Manager Who Can Write Good Software

Elon Musk

" I strongly believe that all managers in a technical area must be technically excellent.

Managers in software must write great software or it's like being a cavalry captain who can't ride a horse!

https://x.com/elonmusk/status/1522609829553971200

Elon Musk has once said that managers in technical fields need to be experts in that field. Leading a group of software engineers without knowing about code is like leading horse riders without knowing how to ride. This mismatch makes it hard to lead effectively.

Being Glue

" Your job title says "software engineer", but you seem to spend most of your time in meetings. You'd like to have time to code, but nobody else is onboarding the junior engineers, updating the roadmap, talking to the users, noticing the things that got dropped, asking questions on design documents, and making sure that everyone's going roughly in the same direction. If you stop doing those things, the team won't be as successful. But now someone's suggesting that you might be happier in a less technical role. If this describes you, congratulations: you're the glue.

https://noidea.dog/glue

The line between a software engineer and a manager can get blurry. Software engineers often find themselves in many meetings and handling management tasks, wishing they could just code. However, the job involves more than just coding—it includes helping new engineers, guiding design conversations, making sure the team is on the right track, and talking to users. All these tasks are crucial to a project's success.

The word "glue" describes how certain people hold different parts of a project together. They make sure the team stays united and productive while technical work progresses. This mix of technical skill and management ability is essential in software engineering leadership.

But, many people mistakenly think that as you climb up the management ladder, you need less technical skill. This isn't true, especially in industries driven by technology. In the fast-changing world of software engineering, leaders need to understand the technical details. They should also be ready to get involved and help out directly when needed.

The software engineering lead who codes is not just a manager. They connect the big picture with the practical work, and the plan with the action. They can teach their team well, understand the specific problems engineers face, and lead the development process with a clear knowledge of the code.

In simple terms, a manager who can write good software is a mix of a leader and a tech expert. They guide their teams to success and set an example with their management skills and coding ability. Those who want to be Software Engineering Leads need to understand that being good at coding is still very important, even in leadership roles. It helps guide future tech projects.