As companies adopt AI tools, a lot of time is spent on thinking about AI policies from a security, compliance, or even cost-focused angle. But many leaders are neglecting to address how their teams should work with AI in the context of the team as a whole. This creates a lot of unresolved tension, and it’s time for leaders to step up and set some guidelines not just for how to use AI in an…
Several years ago, I published a critique of manager READMEs that succeeded in stirring up a lot of feelings, pro and con. I’d like to believe it prompted some people to reconsider whether these are actually effective tools. Today, I want to revisit this. Not to encourage you to write a manager README, but to suggest other ways forward that I have learned in the years since writing the first post.…
I’m working on a talk about rewriting platforms for LDX3 later this month. Spoiler alert: a lot of the talk centers around why rewriting platforms is usually a very bad idea. For more on that you can read the rearchitecting platforms chapter of my latest book . One of the points we make in the book is that, generally speaking, platform teams are not the foci of innovation at companies. Platform…
On March 26, 2015, I posted a short blog post to the Rent the Runway engineering blog, Sharing Our Engineering Ladder , with a quick intro to the RTR engineering career ladder and links to both spreadsheet and long-text versions. This was one of the first public engineering career ladders that came with a clear distinction between management and IC levels, and meaningful details about the…
“Always design a thing by considering it in its next larger context — a chair in a room, a room in a house, a house in an environment, an environment in a city plan” — Eliel Saarinen Frequently we will be given problems to solve by other people. Early in our career, these problems will usually be well-scoped and specific, eg: Add this new data to an interface Make an endpoint that returns a…
Adding product management to more traditional software infrastructure organizations, sometimes with a shift towards platform engineering, is all the rage today. As someone who has done both these things, it doesn’t surprise me to see so many people struggling to make it work. Both of these shifts require going from a siloed, process, tech-focused mindset to a portfolio, usability, and…
Software engineers are attracted to formulas, algorithms, and structures. As people whose job it is to take ideas and turn them into predictable executable code, it is unsurprising that we’re drawn to ways of thinking that categorize and systematize things. This attraction continues as engineers become engineering managers and leaders. I should know, I wrote a pretty popular book that is full of…
Most companies have carefully created separate senior career tracks that provide details of the differences between being a manager and being an individual contributor (IC). And yet, many people still believe that you can’t get ahead without becoming a manager, and many companies who want more senior individual contributors struggle to promote people on this path. This is a shame; great engineers…
For varying levels of seniority, from senior, to staff, and beyond. How to run a meeting, and no, being the person who talks the most in the meeting is not the same thing as running it How to write a design doc, take feedback, and drive it to resolution, in a reasonable period of time How to mentor an early-career teammate, a mid-career engineer, a new manager who needs technical advice How to…
originally posted on LeadDev.com One of the most stressful parts of the end-of-year process for managers is the dreaded performance rating. This process forces you to boil down all of the work that a person did over the year, all of their accomplishments and misses, into a numeric score (often from 1–5) that may also come with words like ‘meets expectations’, ‘exceeds expectations’, or the unhappy…
You’re probably familiar with the concept of Choose Boring Technology. If you’re not, I’ll wait for you to read the excellent blog post by Dan McKinley that inspired a much-needed correction in tech to balance “innovation” with stability. I’m here to take this to the next level, and talk about how “boring” should apply not just to your technology choices, but to your plans. I spoke to someone…
This tweet got me thinking about change, and how software engineers (and especially, Platform teams) can drive cultural change throughout companies. First, let’s take the question. You want to change the engineering values that your company is expressing. You don’t just want to create a heavyweight process (your checkin fails if you don’t reach X code coverage, for example), you want engineers to…
Have you ever worked on a team that felt like it was just stuck in a rut? Somehow things were always just one fix away from improving: the next project, the next quarter, the next hire, this would turn the situation around. And yet these projects came, the quarters went by, new people were hired and joined and left and nothing ever really improved. It’s a sadly common situation, and one of the few…
For the past 3 years, I have been running a platform engineering organization. Since that term is vague, where I work it means the software side of infrastructure. Compute platforms like kubernetes, storage systems, software development tools, and frameworks for services are part of the mandate. Our customers are other engineers at the company. I also oversee the product team for this area. Now,…
A hard lesson for me over the past several years of my career has been figuring out how to pick my battles. I’ve seen many friends and colleagues struggle with this as well: how do you know when to involve yourself in something, and how do you know when to stay out of it? How do you figure out where the line is? The setup If you’re reading this looking for advice, you’re probably a go-getter. You…
I got feisty on twitter this week and wrote up some tweets on manager READMEs, a recent hot trend in management. Let’s break them down: Dropping f-bombs is one of my "quirks" Well, what can I say, I’m sick of this trend. I’ve been a skeptic from day one, but what pushed me over the edge was watching one of my senior engineer friends react to this article on the concept . It mirrored the loathing…
When I wrote “ The Manager’s Path ” I talked about what it means to work at the various levels of leadership, but I didn’t really talk as much about how you actually climb to those levels. For some people, it just happens as a consequence of being in a growing organization, and succeeding at growing with that organization. But how does that work, really? And how can you show that you are ready to…
I’m often asked about the characteristics of great engineering managers. This is a question that almost always has a long answer that involves “well, she’s good at X, and he’s good at Y, and then there’s Z…” Every management role is slightly different, and a great engineering team will have managers who reflect a set of complimentary skill sets (such as operations, people management and coaching,…
Effective delegation is one of the most critical skills a manager can learn. Without effective delegation, you fall victim to micromanaging your team, losing control of your time, and eventually failing to put yourself in a position where you can take on more and lead bigger things. There are many facets of effective delegation, and in this post I’m going to talk about one that tends to come from…
Alignment, in the teamwork sense, means “a position of agreement or alliance.” It is one of the critical qualities that determines success in an organization, particularly at higher levels. Many individual contributors (ICs) get stuck at a certain point in their career because they can’t see that they are out of alignment with their company, and they don’t realize that the way alignment is…
I have a bad habit. I noticed it today as I was leaving a comment in a strategy document. I’d highlighted some text that I found unclear and commented: “Do you mean X or Y? Because I don’t think it is reasonable for us to do Y” This is one of my bad management habits. I jump to conclusions. I pretend to ask a question but then make it clear that only one answer can be right. It is probably obvious…
*May also apply to senior ICs Earlier this year, I wrote a piece called “How do Individual Contributors Get Stuck?” This was an attempt to help ICs provide constructive feedback to their peers, by identifying common challenges that I have seen developers struggle to overcome. This piece is a little bit different. I want to answer the question that I often hear from first-line managers, that is,…
Occasionally, you may be asked to give constructive feedback on your peers, perhaps as part of review season. If you aren’t a naturally critical person but you want to give someone a valuable insight, you may find this task daunting. To that end, I suggest the following: Pay attention to how they get stuck. Everyone has at least one area that they tend to get stuck on. An activity that serves as…
When I worked in finance ages ago, there was a system used by many (but not me!) that was basically a combination of a gigantic distributed database plus a scripting language that allowed you to run calculations over information in that database. One of the things that you could easily do, as far as I understand, was "diddle" a piece of information. The "diddle" would change that piece of data…
I have agreed to give a guest lecture for a class at Yale , and they’ve asked me to speak about “building and motivating engineering teams” from the perspective of a smaller startup. The readings for my section include A Field Guide to Software Developers by Joel Spolsky. I remember reading it when it was first written. I admire Joel’s work, and the piece has many valuable takeaways. However. The…