Easily Mute and Unmute in Google Meet with Custom Shortcuts using Hammerspoon
Introduction As a frequent Google Meet user, I often find myself in situations where I need to quickly mute and unmute my microphone or toggle my video on and off during meetings. In my quest to make these tasks more efficient, I discovered Hammerspoon, a powerful automation tool for macOS. In this blog post, I’ll share a handy script I created using Hammerspoon to set up custom shortcuts for these common actions in Google Meet. ...
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. ...
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. ...
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. ...
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. ...
Airflow Summit 2020 talk
Inline with the Corona pandemic, I gave my first online conference talk! The Airflow Summit 2020 was wonderfully organized and I must say I liked the ability to participate in a conference without leaving home. Giving a talk to a computer is a very different experience then giving it live, a lot less interaction with the audience but on the plus side, it’s much less stressful as well. At Bluevine we use Airflow to drive our ML platform. In the talk, I presented the challenges and gains we had at transitioning from a single server running Python scripts with cron to a full blown Airflow setup. Some of the points that I’ve covered are: ...
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. ...
My Python setup for 2020
My Python setup used to change a lot, as I would find ad-hoc solutions for my needs. These days I’ve settled on a Python setup that satisfies pretty much all of my different use cases and is easy to use. It is composed of these tools: Pyenv for Python versions Pyenv is nice in the sense that it makes it a breeze to try and use new Python versions that don’t come bundled with your OS. e.g. try out the Walrus operator and Python 3.8: ...
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: ...
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. ...