Tech leads: Build real relationships at work

I was in a great, simple example of team building yesterday. Even though many of us have worked together for some time, we went around the room and explained where we grew up, how we ended up at the company, what about the company’s culture mattered to us, and basically told each other a lot about who we were.

It risked being tedious, but when people actually open up then I feel like we made a ton of progress in jelling the team. People opened up because it was being led by a leader (two leaders, actually) who in fact wanted to hear the stories and get to know his or her people – not merely their roles, or titles, or performance in those things – but actually get to know them as individual human beings.

Most remarkable was the effect it had on the director who called the session. When we finished, you could see on his face and hear in his words how getting to know the stories made his burden as a lead heavier. His tone became more reverent; he seemed to resolve to make this task we’re working on successful not just for the company but for us as individuals.

Sometimes I think managers don’t take this step and don’t engage in this deeper understanding of the team because they know, instinctively, that it will raise the stakes on their leadership.

It’s one thing to fail yourself or even cause the company to lose money, but when you’re aware that Swetha could have to go home to tell her second grader that she lost her job because the team failed – now you’re playing a different game.

I just thought today was a clean example of a leader who didn’t shy away from it.

What are you doing as a tech lead to get to know your people and their families? Are you embracing it, as my director did, or shying away from it?

Don’t just check the box ✅

The box on the code review tool? Check. ✅

One on one with your team? Went to lunch, avoided tough issues. But check. ✅

That Trello card? The build passed, so check. ✅

The other night, I was helping my second grader with her math homework. Problems like, “Johnny had 39 fruits in his basket, 5 were strawberries, 10 were grapes, and the rest were blueberries. How many blueberries did he have?”

In class, she learned some efficient “strategies” for recognizing the problem and setting it up. It was quick, effective, and dead on right. (For example, add 5 and 10 and then subtract the result from 39.) They’re good strategies.

But I was encouraging her to try to understand the concepts a little better than simply applying pattern recognition and then raw compute power. Computers can do that better than she can and always will.

That’s the way to separate herself from the machines and her classmates. I don’t care what grades she gets or how fast she can calculate numbers. I want her to ask more questions about it, to bring more curiosity to the problems because, frankly, that’s what makes humans so wonderful when they work.

But she just wants to get on with the task because she’s little and there are other things she’d rather be doing. I understand. But really, what could we be doing that’s better than bringing all our curiosity into our work?

I love to use code review as examples where check the box behavior is notorious in our roles as tech leads. They’re such powerful ways to bring a team together, but they also consume time and risk contention within the team when you get together online to do them. As a result, it’s tempting to use some automated tool like Crucible to literally “check a box” and say, “See? I run code reviews.” But don’t do just that.


So I went to the California DMV today

I defy you to get yourself juiced up on motivation. Buy a Toxin Flush from Nekter, put your noise cancelling headphones on, and listen to Tony Robbins or Les Brown or Zig Ziglar at full volume for three hours straight. Now spend 45 minutes in a California Department of Motor Vehicles office near South Central LA where I was today and just try to maintain your Robbins’ attitude. Just try.

You simply cannot do it. I’m not one to set limits, but you cannot maintain a positive attitude in that environment. Full stop. Period.

As you’re already exquisitively aware, the DMV is a beaurocratic machine finely tuned to suck every last bit of essence from your humanity. Sure the workers are pleasant and patient as they can be, but that just makes them more effective at their soul crushing task. You will walk out compliant and defeated.

Before I left for the DMV this morning, interestingly, I was reading a transcript from an internal interview on software engineering effectiveness and happiness. They cited last year’s paper On the Unhappiness of Software Developers.

One possible summary of that paper is that developers are unhappy in their jobs because of other people. They feel burdened by other peoples’ code, processes, meetings, personalities, etc., etc. They feel they lack the persuasive capability to influence other people and be the creative force that crafting code promises.

In my current role, I get to drop in on dozens of engineering and IT environments throughout the year, and I can feel it. It’s palpable almost everywhere.

The DMV is an extreme example, but it’s a useful bedrock baseline. At the DMV, you have zero power to influence anyone or anything. Less than that maybe. The rules are written in stone and interpreted by someone behind the one way mirror in the “Control Room.” Their SEIU employees have forgotten more excuses than you could possibly stammer to produce on the spot, and you are simply required to comply with all these other people’s requirements.

Your team’s culture is an order of magnitude better than the DMV — surely. But how many orders of magnitude? More pointedly, to what extent, as a tech lead, are you leaning toward or away from the a DMV-like environment?

I’m honestly not sure if I made my point very well here (especially since it’s a subtle one), so please hit me up in the comments and we can continue the conversation!

Captain Obvious Reporting for Duty

All I really need to do is show you this picture and you already know what this post is going to say.


It’s obvious because Elon is famous for his vision and ability to execute.

What’s not so obvious is that most any of us could have this kind of vision and execution. We don’t for lots of reasons. We get in our own way, give in to our fears, doubts, limited views of our jobs as leaders in tech, or maybe you have a broad-based limited view of what’s possible in the world based on the other leaders you see, and on and on and on.

Some will read this post and disagree, which tells you a lot more about them than it does about me. I’m writing as someone who’s been right there with you, steeped in doubt and insecurity.

The weekend before yesterday’s Falcon Heavy flight, I was running in my little beach community in Los Angeles, just a few miles from where SpaceX’s mission control is located. It was warm. People had their windows open. I could hear bits of conversations as I ran (ok, it’s more of a jog, but anyway….).

In one window, a young woman, probably in her early 20s, was talking to her friend and she said, “you know, I’m starting to like Trump. I mean how can you get ahead in this world by being a nice guy?”

It’s so disappointing that this is the model of leadership we have. How are we going to progress when we live in an “us versus them,” zero sum world where the best we can hope for is to get a bigger share of a shrinking pie.

We get compelling visions from inspirational leaders because they see our capabilities as unbounded. They see the pie as growing and unlimited. To them  unlimited possibility exists in our personal lives, families, work, communities, nation, and world.

This is all obvious and common knowledge, but common knowledge is rarely common practice. Still, there’s this guy named Elon….

Before you start thinking this is a political post, it’s not. I had precisely the same complaint about Obama and W. They all seemed to convey dark, myopic visions of our world and we’re still suffering from decades of that handicapped form of leadership.

That rocket launch… that’s the kind of dreaming and aspiring and reaching and attaining we used to do as a nation. Let’s get back to it and do more of it, and you and I can start with our roles as tech leads.

My core, day to day, general purpose, prescriptive tech lead framework

There are a million things that make up good leadership. You can read all day and all night for years about leadership. But you’re not going to find much that’s pratical and useful for tech leads like you who are on the ground, in the trenches.

So back in September, I wanted to describe a prescriptive, general purpose framework that any tech lead can fall back on in a pinch based on what I’ve tried and observed over the past few decades. I wanted something that, no matter what situation you’re in, no matter how contentious or ambiguous, you could whip it out, and lead through any situation instead of just reacting and “managing” through it.

It’s as basic as basic can be:

First, CAPTURE AND ARTICULATE A VISION. If leadership requires followership to exist, then your followers need to have somewhere to go. Give them some specific place, future state, vision. It’s true that followers will often follow charisma or titles, but didn’t you want something more substantive when you were the follower?

This is the step where you’re going to define it.

Task one is to capture a vision. I chose the word “capture” carefully because it encompasses lots of activities or strategies you might employ to define a vision. You could capture it through a conversation, a consensus with the team. You could capture it by invoking and adapting the vision of senior management or the client to your situation. You could do it by fiat (i.e., you just define and declare it and expect everyone to fall in line, which could work in some situations). Whatever your technique, capturing the vision means you know what it is and you’ve made it crisp and compelling to everyone else.

Second, EVANGELIZE THE VISION. Back in the early 2000s, on the back of the lanyard badge I needed to get to in to work, my employer wrote a mission statement. It was corporate speak that meant absolutely nothing to me, and if anything, made me feel even more disconnected from the company because I didn’t buy into the abstract values on that thing I was required to wear everyday.

And likewise, for you as a tech lead, simply stating it or capturing it isn’t sufficient and could create a disconnect if you skip this step.

You’re going to have to walk around, meet individually with everyone (formally or informally) on your team and every key stakeholder to make sure they buy into the vision by — most importantly –taking the time to connect the vision to their work and to their own human motivations. This takes time and calories. Almost everyone overlooks it, including me, because it’s hard, frustrating, and time consuming.

But if you skip this step then how do you know if anyone bought into the vision? You might end up thinking you’re a leader, when in fact you’re simply taking a walk alone around the block with nobody following you. You might be in good company with other mediocre tech leads in this regard, but you’re not leading.

Finally, COACH AND CONNECT. Number one and two are one-time activities. This is the daily activity that you need to do to make sure the day to day work, the day to day builds are aligning to the vision. People will drift. Visions will drift. Memories fade. It’s your job to stay close to every team member and every stake holder to make sure everyone stays aligned.

So there. That’s the basic, everyday framework. It doesn’t teach you everything you need to know, and it doesn’t mean you’re doing the right things. It’s just the basic blocking and tackling of tech leads that can take their team from “A” to “B.”

Use it and let me know how it goes!!

Photo by Tim Gouw on Unsplash

“Code review is both a privilege and a duty” – Today’s Tweet of the Day from @BackendAndBBQ

Today’s tweet of the day comes from Viach Kakovskyi (@BackendAndBBQ).

Screen Shot 2018-02-05 at 8.05.35 PM

Personally, I feel code review (done right) is among the highest and best use of our time as tech leads so his tweet made me chuckle.

On that note, this tweet was making the rounds today too, even though the article, Unlearning Toxic Behaviors in a Code Review Culture, landed on Medium a few weeks ago — definitely topical and worth a read!

Screen Shot 2018-02-05 at 8.10.53 PM

JOIN US – Scheduled two California Tech Lead Workshop discovery conference calls for next week

Hey Tech Leads,

Wanted to let you know that I scheduled two discovery conference calls for the Tech Lead Workshops, one for Silicon Valley and one for Los Angeles.

The workshops are a lot different in spirit and format than most Meetups, so I think it makes sense to start hosting these discovery calls to (1) get people interested and (2) have people come in ready to contribute.

meetup-small-iconAlso, traffic in both the Valley and Los Angeles is notoriously horrific so a lunch time conference call seems like a great idea.

Los Angeles will be next Thursday, February 15 from 12:00 to 12:30 Pacific. RSVP for the bridge number before 10:00 a.m..

Silicon Valley will be next Friday, February 16 from 12:00 to 12:30 Pacific. RSVP for the bridge number before 10:00 a.m.

(By the way, if you’re unable to join on Meetup drop me a line and I’ll give you the bridge number.)

Talk to you then!