Ultimately, I've been reading more about leadership and software engineering culture, despite I am an individual contributor with a focus on coding, I think it's important for a senior engineer learn about several aspects that are tangible in your daily job, and leadership and management it's one.

What surprised me about the book is the role of the Technical Leader(aka Tech Lead). I've always imagined that the person in this role is the most technically smart, but it is a leadership role, and such, needs other skills such as software architecture, good team player, technical decision, clean communication, and management project. So the major time of a Tech Lead is to understand what it should do and help your team deliver with high technical quality. Tech leads don't care about the side o manager people is it the job of managers, but he needs to work together with your manager to help your team, the Tech Lead is the technical person responsible for the project, but he doesn't make isolate decision, because the team should be part of it too. In some moments, Tech Leads uses your persuasion to make decisions.

The role of a manager is too hard, when a read the book, maybe I do not care attention to my daily routine to see it. An interesting thing that author mention is when she is hiring a new manager, she expects that the manager should be capable to implement a simple feature or bug fix in the system, and I notice it's very present in the book the idea if you are in role management, but you need to stay technical relevant. The idea to stay technical is you must be capable to participate in a technical meeting and understanding what your teams are saying the most important part be able to ask the right things and help your team make better decisions.

The manager is not the smartest guy in the room or always stayed in with the most brilliant engineers at every company worked. And it's an interesting insight that the book brings, common sense is each senior engineer must turn into a manager, but it's a leadership role and, of course, needs other skills like managing people and teams, and not every people has this skills or simply don't like to handle with peoples. So, I see it's very common for technical people to go to a manager role and sometime later they back to the early role as a technician, but fortunately, a lot of company today has a technical career ladder, now you don't need become a manager when you a senior engineer, some companies has the staff engineers however still a leadership role this means you spend more your time in the interaction of other teams and areas of business with face in technology, and you will not coding no much more. Not everyone needs to be a leader, but maybe this could be a limitation on your career progress in terms of salary.

The manager's duties there are two most very important make 1:1 meetings and give feedback. The 1:1 meeting is the moment you as a manager and individual contributor have to know each other. As an individual contributor use this time to bring your subject to debate with your manager, what is happing in the team and could be improved, as a senior contributor to drive the meeting, the goal is for your manager to know who you are, remember the manager has to be your ally in the job, maybe in the future you are compensated with money, stock options or a promotion. For the manager, 1:1 with more junior engineers you should drive the conversation until he takes more confidence and observes more in your around and bring the subject to the table. It's a moment to you know your engineering team and help anyone grow in your career and put the right people and the right position, if you notice that a specific person can be promoted to a new role that opened and she has some gaps, help him achieve this goal, feedback is the key for loyal team and trust people.

Mentorship is another very important topic for a manager. The manager should help create and maintain a process of mentorship mainly for intern employees, you must be clear about what you expect of these people and always give them feedback on how are doing your performance. Maybe, you should know a young developer with a great potential to grow in the company, and if your onboarding process is good it could be a relevant attraction for hiring great new talents in your company. Not the intern needs a good mentorship, every level on the career ladder should grow in your career creating a culture of learning.

As a manager, you must be able to debug your team or teams that's mean observing your team daily and taking action on what could be improved in your process such as delivery, the way of working, a developer underperforming, external dependencies, and so on. Stay alert with some signal on the performance of the team without asking someone. The manager is sheld of the team helping them with external interruption and helping them make better decisions by looking for tradeoffs.

Another activity that managers are responsible for is creating an engineering culture in the company, where people like to work. Some companies have principles that should be followed, but the manager doesn't forget them. You have to help to create an engineering process doing people to be part of it. Engineers like an environment with freedom without micromanagers, a culture of innovation, and the best practices of software engineering, working fair hours in the week, working without cut in the head, and most importantly a place where the culture of failure is seen the part of learning and growth.

I have another surprise reading thing book, the most desired role in the IT industry Chief Officer Technology(CTO) is not an engineering role, and to be honest, I don't stop to think about it. It's is an executive role that has technology with a second face. When I imagine an executive, I thought it will have to talk with several areas in the company like sales, marketing, accounting, etc to understand how the technology could help them achieve their business goals. I think the CTO talk with the members' board of the company if they working at a large company and take a meeting with the investor to explain what is happening and technology strategy aligns with the business and hear from the investor what your desire is a technology executive. Seems like, with my rational line, technology is not the main subject in your daily, for this, we have the Vice President of Engineering(aka VP of engineering). The VP of engineering is the top role in the engineering career ladder, him that is much more close to the engineering process, how the operations teams are working and how the engineering teams are building software with the best engineering practices and guarantee your managers are following your directives, but VP of Engineering is a senior engineering manager with a lot of experience dealing with peoples, teams, and projects. The author of the book says these two roles change very much depending on the company, some companies do not have a VP of Engineering. What a understood is that CTO is a strategy role looking for technology in the long-term, and VP of Engineering is a strategic role at a certain point, but looking at engineering teams. So, probably these two people working very close.

Conclusion

Lastly, I liked the book. It is very useful and interesting to read, your language is fluent to follow and at some moments, I feel like a monolog of the author speaking what she is made to achieve the CTO role from an individual contributor. Of course, that book has other nuances and subjects to discuss. But, that's was my highlight from the book. Now I'm an individual contributor, ultimately I'm working on understanding more about leadership roles to maybe one day make this transition much easier.

It's a great book for aspiring managers and leadership role, and curious about what do a manager.

Book: The Manager’s Paths: A Guide for Tech Leaders Navigating Growth and Change