Tech lead: are you trying to be smart but actually just procrastinating from hard work? (No. 81)
Smartness is a necessary but insufficient condition to being a great tech lead.
Hey tech leads-
We’re over the hump, making steady, solid progress on our determined march to the weekend.
Let’s pretend your director of engineering, Nimret, stops you in the hall. “Look, I know you’re busy, but you gotta step up the communications. Anish [VP, Engineering] just pop quizzed me for an update, and I didn’t know what to say. Also, Linda from the ECR team is still complaining that she doesn’t know when the API is gong to be ready. She needs to know what’s going on.”
This isn’t a letter about communications. It’s a letter about work ethic.
But first, let’s talk about being smart.
Actually before we even start talking about anything, a word of warning. This issue risks you hitting the unsubscribe button, and I can barely spare a single subscriber. Still, I think it’s worth the risk. Besides, today’s topic should inspire you. If it doesn’t, then one of two things may be true: (1) I wasn’t particularly inspirational (highly possible), or (2) maybe you’re not ready for the tech lead role (also highly possible).
Let’s start our talk about hard work (work ethic) by reviewing a different topic for a minute: being smart.
Most of us in the software industry are well above average in terms of raw mental horsepower and cleverness, and we’ve been encouraged to nurture it. Early in life we were rewarded by family, friends, and teachers when we did smart things. We may have been pushed or pulled into challenging topics like computer science, where smart and clever ideas are highly prized.
Likewise, early in your career, you may have been recruited to your company because you were smart and clever with code. Generally speaking, in software we celebrate smart, clever, innovative solutions. I don’t think that’s controversial.
I want to acknowledge and honor that reality before we move to today’s topic. We’re fueled by silicon electrons, and brain cells, and that shouldn’t, and can’t, change.
Accordingly, remembering Nimret’s demand that you step up “the comms,” you have a flash of brilliance after listening to a podcast about automation on the way to work one morning. So that you don’t bother your team looking for updates on their work, including that API you owe Linda’s ECR team, you whip up a Python script, and throw it behind a cron job. The script polls your team weekly through your own home rolled Slack integration, and then it accumulates their responses and fires off an email to Nimret and Linda. You had fun doing it and figuring out the Slack integration was a rewarding rabbit hole. Took some tweaking to optimize it, but within a week or two emails were live. Automation FTW!
Smart is necessary but insufficient to be effective
In today’s issue, I want to argue that, as you move into your tech lead role, however, that being smart and clever with things like Python scripts is no longer enough. It’s a necessary, but not sufficient, condition of being successful as a tech lead. You can’t just work smart; you’ve now got to work harder than you have in the past.
This may catch you off guard initially. First, as I said, you’ve traditionally been rewarded for being smart, whereas in this role you’ll quickly fail if you don’t work hard. Second, one of your key motivations for taking the tech lead role may have been that you thought your designs or architectures were smarter or cleverer than the last tech lead (see this post on checking your motivations for the role).
Most tech leads are fundamentally smart enough for the role (despite what you may or may not think of any one individual). Smart may have helped you earn your spot in the role but pushing harder on the “smart” lever will not get you much further now that you’re in it. Only results will. And results are often the result of a strong work ethic.
Let’s talk about hard work
What do I mean by “hard work”? I obviously have my own judgmental thoughts about it, which I can sometimes use in an offensive way when I see someone who, well, seems to work less hard than I think the moment calls for.
Instead of sharing my obnoxious opinion, however, I Googled for a definition, and came up with a productive one. A simple, dictionary of hard work is “effort and endurance.” I quite liked that.
You probably have your own definition, or at least sense, of what hard work means for you and your own personal context. But adding those two words is a useful way to analyze it: are you putting in enough effort on this task (seriously, are you)? Are you going the full distance the task requires, do you have the endurance?
Is trying to “being smart” a procrastination against hard work?
Tech leads! Be real with yourself: are you giving up on putting the effort or endurance in because you think it would be more interesting to come up with a smart or clever solution to the task? (This is the moment where some of you are go hunting for the unsubscribe button, I’m sure.) Is trying to come up with a smart or clever process or approach just way of procrastinating or avoiding the hard work?
Are you still hoping someone will again, like they did in the past, reward you for coming up with a smart solution when all they really want is a result from your team?
Here’s an example of what I’m talking about: that Python script was a clever idea but terribly ineffective. It may even be efficient, but it’s terribly ineffective. First of all, you already know some of your team is going to ignore the Slack message (and you know you’re going to put off having that hard conversation with them). Second, some of your team are going to write down stuff that doesn’t make any sense to Nimret or Linda. Third, the updates should be coming from you, not simply being passed along from the team. Fourth, nobody’s going to read it anyway. Fifth, there’s a million other problems with this; I’m just getting warmed up.
Now don’t misunderstand me. I’m not asking you to put in crazy hours or burn yourself out. There’s a whole grind culture thing that I think puts a lot of you off. I get that, so I’m not going to go there. And it’s perfectly valid and encouraged to come up with smart, clever solutions to problems. Just don’t use that as an excuse to avoid the hard work.
So what should you do instead of the Python script?
This is a pop quiz for those of you who’ve been following me for a while. The answer is to be great at tracking and adjusting (Four Core skill #4), which means you gotta get up, go talk to your team, understand what’s going, understand what Nimret needs to know, which requires talking to him, again and again because things change fast, and understanding what Linda needs to know, and building a relationship with her, and converting the information you get from the team into an effective message that helps her, knowing when things are changing and you need to adapt, and so on and so.
This takes time, calories, and general hard work.
Be smart tech leads. But also do the hard thing!
-michael
Thanks for reading!
The Tech Lead Coaching email list and podcast are written and recorded by Michael Rice to bring more clarity, certainty, and confidence to my tech leads.
Tips? Have something you’d like me to cover or someone you want to me talk to? Drop me an email to me@michaelrice.com. Hope you will. 🤞
Let’s Connect-
Get started at techleadcoaching.com
🎧 Podcast: Apple Podcasts, Breaker, Google Podcasts, Overcast, Pocket Casts, PodBean, RadioPublic, Spotify
Social: Tech Lead Coaching on LinkedIn, @techleadcoach on Twitter, and let’s connect on dev.to too
Published from sunny Los Angeles. 🌴☀️