3 Ways to Increase Developer Productivity

Schedule office hours with your teammates, use pictures and videos in pull requests, and always ping with context.

I attended a talk by former VP of Engineering and fellow introvert Marian Kaministak at an engineering conference last year. Marian humorously admitted if they ever had more than 4 meetings in a day, Marian would “have to go back into [their] cave and cry.” Inviting introverts to face-to-face meetings without allowing room for text conversation is an issue for another article, but what I will expand on is the cost of spontaneous meetings.

Gloria Mark, now Chancellor’s Professor at the UC Irvine Donald Bren School of Information and Computer Sciences, told media outlet Fast Company “it takes an average of 23 minutes and 15 seconds to get back to the task” after an interruption. Per Glassdoor, a software engineer with less than 1 year of experience in San Francisco earns, on average, $60 per hour, or a dollar a minute. If you interrupt developers with “do you have a second?” – at best, you lose 20 minutes ($20) for each interruption. At worst, the quick chat turns into a 20 minute meeting, and you lose $40. One solution to these chats is office hours, which I will explain shortly.

Understand that the following suggestions worked for our remote 12-person engineering team and may not work for a larger company. Nevertheless, the main takeaway is applicable to all company sizes – do not give teammates the opportunity to mind-read.

Workplace therapy solutions often focus on “thinking traps”, and the thought trap known as mind-reading or fortune telling makes fools of us all. Lack of communication often lends itself to teammates trying to mind-read. Whether you’re wondering why the designer excluded the hero image in the mobile prototype, or why your coworker wrote that line of code, or which task to prioritize, improving communication compounds developer productivity.

Let’s vanquish mind-reading (and champion stellar communication) by implementing three improvements. First, schedule office hours. Second, avoid text-only code reviews. Third, provide context.

Schedule Office Hours

The alternative to untimely chats: add a time constraint. At the same engineering conference as the aforementioned Marian, Staff Engineer Roojuta Lalani advocated for scheduling office hours.

Calendar

Let the whole team know. Bookmark the scheduling link on a webpage (or communication channel) the team references often. If I know that Alison is only available Thursday mornings (CST), I will make a conscious effort not to demand her time outside of these hours. Of course, office hours aren’t always convenient, especially if you need to meet with multiple people at once (e.g. feature launch requires frontend and backend engineer, product manager, and designer.)

Another benefit of office hours is the gift of encouraging teammates to ask questions. There’s nothing worse than someone failing at mind-reading. I’ve spent hours changing Python code in one file, completely ignoring another area of our codebase I would have known about had I asked my teammate sooner.

Avoid text-only conversations

I once led a team building an app that disabled texting and only allowed audio calls; …you mean like a vintage telephone? Yes. (And for those wondering, no, we did not win the hackathon for our novel telephone app!)

Text conversations are slow and effortlessly unemotional. Language barriers between coworkers make texting less ideal, unless you use GIFs and emojis, which requires more effort. Have you tried to pick a work appropriate GIF in under a minute? Surprisingly difficult.

Instead of texting teammates, record yourself for 5 minutes while doing a walkthrough of your code changes. Your coworkers will have a much better idea of the why behind your pull request. Video is also more entertaining than shoving hundreds of lines of code in their face and expecting a thumbs up or down.

Similarly, include screenshots for user interface changes. Before your code change snapshot and after your code change snapshot.

Ping with context

Give context – for pull requests, include the link to the ticket from your task management system. Is this code intending to be merged before the big deadline in 1 hour, or is this a beta feature that isn’t launching for another 3 months? Is this a hotfix for an enterprise customer whose renewal is next week? The less info we have as code reviewers, the more we try to mind-read, which is exhausting and makes us less likely to approve a pull request quickly.

notification
Example of notifications with context. For Notification 2, the target branch is underlined with the word “release.” The developer might have ignored Notification 1 but will address Notification 2 immediately because of the target branch name indicating imminent deployment.

If therapists condemn the practice of mind-reading, then so should developers. Schedule office hours with your teammates, use pictures and videos in pull requests, and always ping with context.

Lianna Novitz

Lianna Novitz is a full-stack software engineer with 5 years of experience in tech, including 2 startups and a Fortune 500 company. Lianna built the “Release Heaven,” a highly available (99% uptime) notification system built with Python, AWS Lambda, and 3rd party API integrations (Asana, Slack, GitLab), which improved time to merge by 50% on her fully remote 12 person engineering team. In her free time, Lianna serves as a volunteer Director for Women Who Code (East Bay). She lives with her partner and two cats in Emeryville, California. In the spirit of this article, she invites you to schedule a meeting using her office hours link: cal.com/she-SWE/hello – she’s happy to chat all things Python, AWS Lambda, SQL, JavaScript, and cats.


Lianna Novitz

Lianna Novitz is a full-stack software engineer with 5 years of experience in tech, including 2 startups and a Fortune 500 company. Lianna built the “Release Heaven,” a highly available (99% uptime) notification system built with Python, AWS Lambda, and 3rd party API integrations (Asana, Slack, GitLab), which improved time to merge by 50% on her fully remote 12 person engineering team. In her free time, Lianna serves as a volunteer Director for Women Who Code (East Bay). She lives with her partner and two cats in Emeryville, California. In the spirit of this article, she invites you to schedule a meeting using her office hours link: cal.com/she-SWE/hello – she’s happy to chat all things Python, AWS Lambda, SQL, JavaScript, and cats.