Lessons After One Year as The Boss

I work for a small tech company that helps people find local insurance agents. The simplest way to describe it is Yelp for insurance.

I became the director of engineering a little over a year ago. Prior to that I had been working as a technical lead with a few direct reports and a bit of management responsibility. That all changed after a shakeup at the company and I found myself leading the department and feeling very unprepared for what lay ahead. I've been reflecting on this last year and what I've learned in my new role. I've written it down here to coalesce notions that have only lived in my head and to bring them into sharper mental resolution. Much of this is tried and true wisdom from other veteran managers which I have also found in my own experience. Perhaps none of this is new or novel but I believe it is all very important in order to be effective. Here is what I would have told myself on that first day as the boss.

Delegate or Die

Delegate any task that you think another person can complete. If you don't follow this principle, you will quickly overextend yourself and wind up drowning in tasks that don't advance the company's objectives. Those small tasks are important but allowing yourself to become preoccupied with them robs the company of the person who should be thinking at a higher level. As a software engineer, there will be constant temptation to jump in and contribute code. If you do this, you will be a less effective leader.

Allow your team to shoulder the burden. Create opportunity for other team members to take on new responsibility and grow. This frees you to work on planning and coordinating and provides a clear path for others to advance their careers.

This is extremely difficult to accomplish when you are transitioning from a technical role where you hold significant tribal knowledge. People will continue to treat you as the expert on a given technical subject. Do everything in your power to distribute that knowledge and expertise to your team or you will find yourself doing the same job you did as a technical contributor but with a fancier title.

Communication Builds Trust

Your job is to talk. Your greatest tool as a manager is your words. Use your words to power your department's directives. Learn how to extract an understanding of strategic direction from other senior managers through conversation. Aggressively communicate expectations for what is possible in an unvarnished way and recognize that bad news does not age well. Communicate openly and you will gain trust. Others will be happy to help you if they know they can trust you.

Control Your Calendar

If you permit it, your calendar will be filled with other people's priorities. This is death to productivity. Meetings are incredibly important. Equally important is timing of meetings, clear objectives, and an agenda for achieving those objectives. A popular mental framework for understanding priority is The Eisenhower Method. Avoid the urgency trap of other people's priorities. Understand what is important and use meetings to advance those goals.

The Buck Stops With You

You are the leader of the engineering department. Don't expect anyone else to raise their voice if something needs to be said. It is your responsibility to argue for engineering initiatives and you set the tone for what the department will care about. Doing so will provide everyone on the team with an understanding of what is important and how success will be determined. In like measure, the failures of the department are yours. Do not abdicate your responsibility as a leader when things go wrong, if you do you will lose all respect and with it all authority. You are your team's bulwark. All glory belongs to your team and all failures belong to you.

This principle applies within the team as well. It is your responsibility to hold the team to a high standard. If you turn a blind eye to an issue of performance, you are failing your team. It is your job to bring problems into the light of discussion and solve them. If your team believes that poor performance will be ignored it will destroy your team's psychology. If you want a highly effective team then you must raise your expectations and allow your team to rise to the occasion.

Never Stop Delivering Value

Your job is to produce. You are responsible for the most expensive department in the company. Execute on what will move the needle. Never "go dark" to work on an engineering initiative. If you do you will erode credibility and find yourself under heavy scrutiny. A long running technical project from the outside looks like the engineering department is doing nothing, even though that is not true. Do not expect the business to view you in a charitable light if you've sacrificed delivering value for the sake of an engineering pursuit.

Focus on delivering. Every time you deliver, the department wins. Use this as the prism through which all else is viewed. If paying technical debt will jeopardize the team's ability to deliver, work with the team to prioritize delivery and allow all else to become secondary to that goal. Sticking to the principle of consistent delivery forces a form of discipline within the engineering team and naturally produces the pragmatic approach that is valued by engineering thought leaders.

The Business is Not The Enemy

Within engineering culture, there is a sentiment that the surly engineer is justified in their attitudes. Their skills and life's purpose are being bastardized by small-minded business people who don't understand technology and only care about money. Those myopic business people are demanding they build asinine features with no tangible value. How dare they debase the purity of their art with something as crass as marketability.

This mentality is poison. Your job is to act as the arbiter between the engineering department and the rest of the business. Often your surliest engineers are your strongest and most principled engineers. Unlock the potential of your team by helping them see another perspective. Illuminate the value that other departments bring to the table and dispel the "us" versus "them" mentality. Remove the ability to dehumanize people in other departments and help your engineers realize that there is more than one way to be smart.

Go Outside to Find Value

In software, it is tempting to reinvent the wheel. Software engineers are inherently curious people. They enjoy solving problems, plumbing the depths of esoteric knowledge, taming the arcane. They are the type of people who will take something apart just to see what's inside. This means that a software engineer will often attack a problem as though its never been solved before simply for the pleasure of learning, and because they're smart enough to figure it out.

There is a lot of value in leveraging existing solutions. Often, the time and energy returned to the team outweighs the cost of paying for a third-party service. Consider this an opportunity cost trade. This frees the team to concentrate on the business's core competency and continue creating competitive distance by advancing the unique value proposition of your products.

Genuinely Care About Your Team

Think about the great managers that you know or have read about. What was unique about them? My guess would be that all of them had an extraordinary focus on their team. Don't confuse this with compassion for an individual team member. Although individual compassion and kindness are incredibly important, this point concerns the wellbeing of the team as an organism. The care and feeding of the team is your responsibility. This means that you must be there to push each person on the team, to stamp out disunity, to find paths to success for each team member, to identify the strengths of each person and to exploit those strengths to their greatest effect. You live and die by the health of the team, so you better pay close attention and gain a deep understanding of the dynamics that drive it.

That's it for now, a few of the lessons learned from my first year in the trenches.

← Back to home