Kanban is simply great!

Transitioning from team to group management, I wanted to pass some of the techniques I gathered to the team leaders I’m managing, and one of them is to manage ongoing work with a Kanban board. It serves 2 related objectives: It makes work items status highly visible It emphasizes important steps in work items delivery This simple objectives may not sound like a big deal but it has great implications on the team’s ability to deliver work predictably and reduce communication and process burden. ...

March 15, 2021 · Me

On Mentorship

Mentoring is something I do quite often as part of leading a developer group, but I rarely do it consciously, it mostly just happens in 1on1s and code reviews. I notice many times that I’m not fully satisfied with the end results of a project, but kind of let it slide and settle on the produced results. I do give feedback etc. but if it’s still not right, I just go on. ...

January 27, 2021 · Me

Team Management Brain Dump

I’m receiving another team to manage directly, which is good news! But it also means I’ll have a lot on my table. I wrote down this list of things that support efficient work for myself to follow: Single “in progress” task - make sure each team member is working on a single task at each given point in time to avoid confusion and context switch overhead. If a task is stuck, it goes to the “blocked” queue so it’ll be clear that we have a problem. ...

October 7, 2020 · Me

4 insights from High Output Management

Wanting to broaden my knowledge in management, I picked up High Output Management after I saw it come up a few times on Hacker News. Andrew Grove’s writing is very down to earth and practical and I had quite a few a-ha moments. Here are 4 ideas that stood out for me and I use in my day to day work. 1. Variable Inspection Later, when we examine managerial productivity, we’ll see that when a manager digs deeply into a specific activity under his jurisdiction, he’s applying the principle of variable inspection. If the manager examined everything his various subordinates did, he would be meddling, which for the most part would be a waste of his time. ...

July 30, 2020 · Me

Encouraging flexible work schedules

For many of us, programming is a hobby as well as a job. But, I can say that for most of my professional career, as much as I enjoy programming, I didn’t really enjoy having a job as a programmer. That’s a shame because you would expect that if you do something that you love, you’ll also enjoy doing it for a living, but somehow it wasn’t that great. This is not to say I’m not grateful for earning a great living and working in a mostly interesting field, but that work can also be really fun! There are a few reasons I can think of why is that, but the main one I believe is that in many jobs, the playfulness and self-expression aspects are lost in a sea of seriousness, procedures, and politics. ...

February 13, 2020 · Me

Hacking team communications

One of the daunting things in managing a team is being up to date with what is going on. On one hand, it’s crucial to be up to speed with the team’s progress, but on the other, I hate continuously asking about status or dreadful standup meetings. I guess being an individual contributor up until now, I remember not enjoying this type of management practices. It took me a while to figure out a technique that works well for my needs: ...

December 13, 2019 · Me

Meeting protocols

Engineering teams have a few types of meetings that repeat themselves: weekly, 1:1s, design review, etc. I found that for each type of these meetings having a concrete protocol, firm recurring schedule (where applicable), meeting record, and the meeting doc shared in advance between the members have great benefits, mostly: Individual expression - team members know they’ll get an appropriate stage for their ideas/complaints/feelings so they can express them to me and the other team members in a (hopefully) proactive way. Higher participation - the protocol and schedule are known in advance, so members have time to prepare and articulate what they want to say. Taking turns - since everyone is used to the way the meeting works, it’s possible to delegate the job of running the meetings between different team members - making it more a cooperative effort then the team lead role. Visibility of decision-making process - running the team and making the decisions is not being made in the head of the team lead, but is a visible, recorded process. ...

August 10, 2019 · Me