Hi there!
Hopefully this email didn’t end up in your spam folder as I’ve changed the newsletter name to better align with its content and target audience!
We are now The LeadTech Diet!
Nothing else has changed! It’s still a good dose of LeadBytes, TechBytes and life matters delivered to your inbox every fortnight[ish]! Now on with this fortnight’s issue…
Engineering Management
What does an Engineering Manager do? Sometimes called Team Leads, Engineering Managers usually look after a single team, maybe two, and are still heavily involved as an individual contributor.
This is a relatively simple description that seems to be widely accepted in industry. But beyond that, each company comes up with their own requirements. Starting in this issue, I would like to explore what I consider to be the four pillars of the role:
People management and growth (this issue)
Let’s get started.
People Management and Growth
This is arguably the hardest part of the job so it is a chunky section. An Engineering Manager has 4 major tools at their disposal:
One-on-ones
One-on-one meetings are all about relationship building. Having a solid relationship with your team members is one of the most important things you can do as an Engineering Manager. You should meet with your team members individually at least once a fortnight.
Feedback
As a manager, your responsibility is to provide actionable, timely feedback to your team. Timely is the operative word here. The closer to the event in question, the fresher it will be in everybody’s mind and the easier it’ll be to address the feedback - in case of productive feedback - or rejoice, when it’s feedback for a job well done!
Don’t underestimate the impact of recognition. We can all do a better job at it!
Coaching
As an Engineering Manager, you are also responsible for your team’s continuous improvement and performance. There are various different techniques which can be used here - this is part of goal-setting and it is the Engineering Manager’s responsibility to draft goals with their people and follow up!
The GROW model can be especially helpful to new managers.
Delegation
Just because you know how to do something, it doesn’t mean you should do it.
Delegation is a useful tool when managing a team. This frees the Engineering Manager’s time to focus on growing their people, planning for the future, managing risk and a number of other things that require their attention.
When you delegate something, you help by providing your team with learning and growth opportunities.
This all seems reasonable but here’s where a few of us struggle. We need to delegate according to the individual’s experience. Depending on the person, this translates to 1 of 5 levels of delegation:
Level 1: Assess and Report
Level 2: Recommend
Level 3: Develop Action Plan
Level 4: Make The Decision
Level 5: Full Delegation
Remember, as an Engineering Manager you are accountable - but you shouldn’t be going at it alone! One of your main goals is to multiply your team’s effectiveness. Steer and nudge while allowing your team to be the major contributors.
There will no doubt be times where you need to zoom in, write code and get your hands dirty. Just make sure you don’t do it out of fear of being outside your comfort zone. One of the hardest changes to make in going from an individual contributor to a manager is switching from doing to leading.
Leverage your team. Let them take ownership and focus on what’s important.
Development & Growth
As part of your team’s growth you’ll be responsible for setting the context, stretching the team’s capabilities and helping guide their career development.
Set the context
Why are we doing what we’re doing? At the end of the day there is an overarching business goal tied to the very line of code your team is writing. What is it? Make sure this is crystal clear.
Context plays a big role in motivation. Specifically, it speaks to the purpose element of Dan Pink’s framework. Without purpose, it is pretty hard to keep going when the going gets tough.
I wrote about context setting as a leader on Issue #2 of this newsletter. Check it out.
Stretch your team’s capabilities
From the previous section on management processes, Feedback, Coaching and Delegation are the main tools an engineering manager can use to stretch their team.
Here’s an analogy from the fitness world. In strength training there is a concept known as progressive overload. Simply put, in order to get bigger and stronger, you must continually make your muscles work harder than they're used to - by lifting heavier weights, increasing time under load, etc…
We can use the same concept when growing our teams. It means providing your team members with opportunities to perform tasks they haven’t been exposed to previously, lead new initiatives, deliver presentations…
Be on the lookout for such opportunities, they can happen almost daily.
Help guide their careers
Engineering managers should know where their team members stand and what their aspirations are.
Speak to each of your reports about their careers at least once a quarter. Sit down with them and help them develop a plan to get to the next level.
Your people are most likely experts in more than one area your knowledge may be lacking. Be a connector coach if this is the case.
Building great teams is tough
Finally, do not be afraid of having the tough conversation when things simply aren’t working out. People change, the requirements of the job change and not everyone can be right for every role all the time.
Sometimes the best thing to do is to part ways so that both you and your team member can be in roles in which you excel.
LeadBytes
Autonomy Without Accountability is Chaos
Autonomy is one of three attributes in a framework for human motivation presented by Daniel Pink in his book, Drive.
Walk around technology companies and you’ll invariably hear people saying that “we value autonomy”, “our teams have complete freedom” or something to that effect.
Unfortunately very few talk about an element that is just as important: accountability.
Without accountability, autonomy leads to chaos. Teams - or entire Orgs - run in different directions, pursuing different goals, optimising for different outcomes and ultimately leading to poor performance.
Command and Control is not the answer though. That is even more problematic. So what is? What should we do if we know autonomy is such an important part of job satisfaction and innovation? Alignment.
Alignment enables autonomy.
When people understand and are aligned to the company goals and accountability is clear, increased autonomy leads to better performance and higher team morale.
Now, how much autonomy is too much? This depends on what you need for your business. It varies within organisations and even within departments depending on what you value more: innovation or consistency and predictability.
Want more innovation? Increase autonomy, while ensuring alignment is strong. Need more predictability? Less autonomy may be what’s needed.
TechBytes
Observability
In control theory, observability is a measure of how well internal states of a system can be inferred from knowledge of its external outputs - Wikipedia
This will be a short one. I want to pick this subject apart over time so all I’m going to say right now is that logging and monitoring is not observability.
Here’s what I mean…
Have you ever encountered a bizarre error in production which you could not explain and the only way to move forward was to either deploy new code that adds additional logging or increasing the log level to something like VERBOSE? Yeah, me too.
The issue with this approach is that the error has already happened. Customers are already unhappy and we don’t yet understand the root cause of the issue. Instead we hope the error will happen again and that the additional logging is sufficient.
Honestly, a lot of the time we are flying blind and more logging isn’t the answer. Events, and more specifically high-cardinality events and dynamic event sampling is what we’re after. Does that sound like gibberish? Checkout this Honeycomb article for more on this subject.
Or stick around for future issues.
If you have a question for me or a suggestion for the newsletter , please submit it here - I’ll address as many as possible in coming issues.