jstanier Here be dragons.

Step away from the vehicle

Engineering management can be extremely rewarding. It’s great to be able to see your staff achieving their goals, advancing their careers, and building some really cool stuff. As you travel further up the org chart, you get the reward of seeing even more of your staff doing this, and if you do a good job as a coach and mentor, you’ll end up with a roster of teams that are shipping exciting software and, hopefully, having fun and learning new skills while they are doing it.

The main struggle - one that I certainly deal with all of the time - is frustration that I’m not committing any lines of code on major projects. I’m not the only one that feels this way: many of my peers have expressed the same frustration. After having spent countless years proving my technical skills in order to take on team lead roles, then having the opportunity to take that next step up to be a manager of team leads, one can easily forget that this isn’t a linear track for all software engineers; it is in fact a very separate track.

Here is a completely unordered list of what my day consists of. Each day is very different.

  • Emails and Slack messages. By having lots of concurrent teams and projects, you need to get good at knowing what you should read closely, what you should skim, and what just isn’t worth your time.
  • Catch-ups. These range from 1 to 1s with direct reports to progress updates on key projects, and includes our weekly management meeting and my own 1 to 1 with the CTO. These are always scheduled in the calendar and take some preparation and follow up before and after. I live and die by the information I have in my notes and brain.
  • Ad-hoc meetings. Everything and anything. Hiring discussions. Upset people and personal issues. Discussing how to tackle a technical issue. Working out what the hell just exploded and why and who is going to do something about it.
  • Reviewing code. I still care a lot about this, as it keeps my technical skills sharp and I can understand how things are being built.
  • Interviews. I tend to only get involved in latter stages now, but during periods of aggressive hiring this takes up a fair amount of time as I want to make sure I meet as many people as I can. I bundle reviewing CVs into here too.
  • Planning. Discussing what might be coming up beyond the current projects. What do Product want? What do Engineering want? How should we balance our time between building new features, scaling out existing architecture or replacing some bits of architecture completely?

I’d say that this takes up 70% of my time. What should take up the rest? When I initially had a VP level role I thought that it would be worthwhile to chip in my 30% of remaining time into one of the development teams, taking on some small pieces of work. That ended up being a terrible idea for me. I was the most unreliable member of the team due to interruptions and meetings.

So here is what I spend my other 30% of time doing:

  • Being thankful that as soon as the shit hits the fan, I am free enough to take ownership. I cannot stress how important this is.
  • Assisting other areas of the business. Recently I’ve been looking at different tools for improving the documentation of our API, because our Professional Services teams and clients have a hard time integrating with it. I also gave some technical assistance to our Operations team to integrate data with another piece of software. This helps me see what the rest of the business is up to, improves the relationship between them and Engineering, and helps me know more people.
  • Reading up on the latest technology so that I can still participate meaningfully in technical discussions. Typically, as a backend guy, this is keeping abreast of the latest in the Apache world, and reading and watching talks from good conferences. I may tinker with some toy projects if I can.
  • More code reviews. There’s always more code to review.

None of those things involve writing real code for any of my teams. They can do that a lot better than me. I’ll keep keeping away.

Surf

We expect those who lead us to be strong. They should be approachable and authoritative and they should have the answers we need to both technical and personal problems. I think that this assumption is true of school, where the relationship is with a teacher, and in work, where the relationship is with your boss or mentor.

Here’s the rub: sometimes that’s really hard. Life has an undercurrent of flux and change which swells beneath the surface of all of us; yes, that could even be your boss, or your boss’s boss. Even global leaders can’t escape the unexpected highs and lows of life; in fact, they often have to work through the worst in the public eye, which I can’t even imagine dealing with. All of us are affected by both the happy and the sad, the miraculous and the tragic, and the exciting and mundane. Nobody is an angel.

We should be thankful to be around positive and engaging people, because it’s not that they are immune from the waves; they have just learned to surf.

Enough

I’ve read plenty of articles about the fear of missing out, highlighting the potential that social media has to make you feel that everyone else, apart from you, is doing wonderfully exciting things.

“Steve’s just bought a new car. How did he afford that? Julie and Max are in Paris. Haven’t they already had two holidays this year? How much is Sarah spending on coffee? Man, I must be poor…”

Social activities aside, it’s the same with our careers. The effect is amplified more if you work in technology, because it’s impossible to miss the news pinging around the Internet. Somehow, everyone has time to contribute to meaningful open source projects and you don’t. Others are speaking at conferences regularly, and you aren’t. That person you know has just signed a book deal, and you don’t even know where to find the time to exercise once a week. With over-exposure to Twitter and Hacker News, it’s easy to feel like you’re doing barely anything of any consequence.

Is it right to feel that way?

Well, if you’re working in technology and you’re extremely busy contributing code that lands in front of paying customers, then that’s a big deal. If you’re firefighting to hang on to existing customers, then that’s a big deal. If you’re making an exciting new product, then that’s also a big deal. It’s more than enough. Practical application of engineering skills to solve real issues for real money is hard and often messy, but it helps everyone in your company provide for themselves and their loved ones: an impact that goes way beyond yourself.

Sure, notoriety is nice, and so is seeing yourself on YouTube in front of a hundred people. But what I feel matters is you and your colleagues being part of a mission that has real punch when making that ding in the universe. The extra commits on Github just aren’t worth feeling sad about.

Sun

I’m in San Francisco this week, and the thing that has struck me the most about it is the weather. I could talk about the housing crisis, or the homeless, but I’d like to keep this really simple.

England feels like it’s been stuck in a state of drizzly grey cloud and darkness for the last 4 months. I’ve cycled in countless times with my waterproof trousers and lights on. The same thing is true about the journey home in the evening. I’m getting used to hanging my coat up to drip-dry in the shower. I hadn’t realized how much it had been affecting my mood until now.

As the plane banked over the bay on the approach to San Francisco airport, it was the most beautiful day. There were blue skies and a glistening sea. As I waited for an Uber outside the airport, I could feel the heat radiating up from the pavement. Or do I mean sidewalk? Either way, it’s just lovely.

If England is listening, I’d like some of this when I return. Pretty please.

Slack and WhatsApp considered harmful?

With communication via chat (e.g. Slack) and IM (e.g. WhatsApp) becoming more prevalent, both in the workplace and between our close personal relations, are we beginning to let the quality of our communication dip?

Perhaps I’m old fashioned, but I still like well-crafted written communication, and I still like email. It gives me a chance to compose myself without “James is typing” appearing at the bottom of the recipients’ screen, which I find makes me hurry my responses. There has been a significant increase in poor quality communication as Slack usage has become the de facto means of chat at work. I don’t like receiving messages like “you there?”, I’d much prefer the person to just tell me what they want, and I’ll respond when I’m free. I’d also preferably like to talk in person, or via email if it’s a more formal matter. I find it hard to separate the feeling I get from messages like that from the ones I used to send on IRC as a teenager to people I’d never met on the Internet, or those I sent via MSN Messenger to school friends. It doesn’t feel quite right.

Similar things can be said about the quality of communication with your partner or family over these platforms. It can become very easy to slip into bad habits with rushed, frantic responses that are stolen from the space between busy moments in the day. As much as you feel that you are excused for letting your standards slip because that person knows you deeply, in the long run it can be harmful, since it can feel like neither of you care very much about taking the time to communicate properly.