I recently read a post titled “Operate at all levels” by Pedro Franceschi who is the co-CEO at Brex. The post is an internal communication that he has shared to his team about the requirement he has, particularly for managers, to operate at all levels. Pedro provides the example of a director at his company that both leads the AI team and writes tooling for engineering dashboards.
Firstly, I agree with Pedro’s assertions that a leader who can operate at all levels earns respect from their team and if you want to be a successful leader in any business you should have the skills of the organisation you are managing e.g. if you are a director of engineering you should have a software engineering background, if you are leading a sales organisation you should have experience with sales and partnerships. I am consistently surprised when I meet people in my work either as a consultant or engineering manager that have not worked in the field they are managing. In amalgamated organisations it makes sense that you may have a person skilled in marketing also managing an ecommerce engineering team if that team does not require a senior leader but it should be a requirement that at some point in that person’s career they were a senior individual contributor (IC).
I disagree with Pedro that senior leaders need to operate at all levels including the lowest in their day-to-day. Having senior leaders operating at an IC level means they are not using their specialised knowledge in strategy and operations to help their team be successful. Teams expect their leaders to provide direction and goals, not be in the trenches solving a ticket. At small organisations it is common for CTOs to write code but the role shifts focus to strategy, staffing and vision as the company grows. If senior leaders are still writing code, why have them? Why not save money by hiring more ICs to get your projects out faster? This will come back to bite when there are competing views within a team and no clear direction from leaders because they are focused on individual tickets.
A topic that I frequently come back to is “what do staff do when they are idle?” or “what is an employee’s default action?”. I often think about this because it helps define what a company’s culture is and what the company values. A team member being idle can happen for any reason with the simplest being that their project is complete and there is down time until the next project starts. For software engineers the best things they can do is refactor code, add tests, increase automation or find another project. All of these tasks will push a program of work forward or create a more robust system. For managers and leaders in a company their default action should include reviewing strategies and hiring plans, getting ahead of any new programs of work and giving teams the tools they need to be successful. If a manager’s default task is to reach straight for a ticket in the backlog they are shirking their responsibilities in favour of a more fun or interesting task. Businesses need to be careful that they have not simply promoted the most senior engineer into leadership and instead have people that can contribute to the organisation’s long term goals. We must not let team leads and managers ignore their important duties simply because they want to use a new framework or write some code.
This school of thought applies outside of software engineering for example retail and restaurants. Everyone loves the restaurant manager that is willing to mop the floors or make food and this behaviour should be praised but only if the manager’s other duties have been completed. The restaurant manager should not be mopping the floors if payroll is incomplete, stock is low and the business is not being marketed. Tasks should be delegated such that the manager can take on duties that have greater impact on the long term success of our restaurant.
Lastly we should look at cross functional teams. The purpose of a cross functional team is to allow each individual to specialise in an area so that the entire team is stronger. When we encourage everyone to do everything we end up with people that can do many jobs well but nothing great. In early stage companies you want people to do many roles because you don’t have money to hire and the people that learn these roles now will be your leaders in the future. At established companies that are trying to differentiate themselves in the market higher quality work is required and that work is done by elite specialists, not generalists.
Overall the article about operating at every level relates to the capability of a leader to work at the level of their team members. This is a great attribute for any leader and having done the role previously while keeping those skills sharp means the team has far more trust in their leader than someone they don’t believe in. My criticism of leaders that operate at every level is that I have seen some ignore their actual duties and put off the hard work only they can complete because they want to spend more time writing code or making a proof of concept in a new framework.