The Secret Sauce of Efficiency: Engineers Reveal Their Top Productivity Hacks

From keyboard mastery to streamlined workflows, discover the top time-saving strategies used by seasoned engineers to supercharge software development.

Written by Lucas Dean
Published on Apr. 09, 2024
A glowing blue clock dissolves into bright sparkles, emblematic of the passage of time.
Image: Shutterstock
Brand Studio Logo

For software engineers, keeping up with the field’s fast pace is a task in and of itself. 

In this high-speed world, the true skill lies not just in mastering the tools of the trade but in crafting strategies that enhance productivity, streamline workflows and, ultimately, save precious time.

Engineers who excel in this domain do more than just write code; they refine their workflows to eliminate unnecessary steps, adopt shortcuts and automate repetitive tasks. They are not only lifelong learners but also adapt quickly, always on the lookout for new tools and approaches that deliver practical outcomes.

Adopting keyboard shortcuts over mouse clicks might seem trivial, but it can significantly reduce the time spent on coding tasks. Meanwhile, strategies to minimize context switching — like dedicating specific blocks of time to certain types of work — can dramatically enhance focus and productivity.

The battle against time is as much about managing one’s mind and processes as managing one’s code. The right approach can help master the daunting pace of software development, and the experiences of others can offer a roadmap to follow. 

For six software engineers, a focus on efficiency has culminated in refined workflows, empowered teams and tangible results. 

Learn how they work smarter, not harder. 

 

 

Christopher Gerdes
Machine Learning Engineer • Celonis

Celonis delivers process mining technology that boosts performance, enhances customer experience and reduces emissions by pinpointing and addressing business inefficiencies.

 

Individually, what’s your favorite time-saving hack when developing software? How do you implement this strategy in your work?

My top time-saving strategies revolve around two things: effective time management and optimizing tool efficiency.

In terms of time management, I’ve found that a significant portion of engineering time is lost due to context-switching. To address this, I employ several tactics. Firstly, I prioritize focus times by scheduling dedicated sessions using Google Calendar. Additionally, I request agendas for all meetings to ensure they stay on track, and I organize meetings into designated chunks rather than scattering them throughout the day. I’ve noticed a tendency to procrastinate on tasks outside my comfort zone, so I consciously prioritize and tackle them head-on before moving on to more familiar tasks.

 

“I’ve found that a significant portion of engineering time is lost due to context-switching.”

 

Regarding tool efficiency, I heavily rely on keyboard shortcuts to minimize mouse usage. For example, I use “Key Promoter X” in PyCharm to quickly learn and implement shortcuts tailored to my workflow. Warpd can be used in situations where shortcuts are not available. I also utilize a Vim mode across platforms like PyCharm and Chrome for consistency. Finally, I create macros using tools like QMK and BetterTouchTools to further streamline my workflow.

 

What tools or strategies has your team, as a whole, implemented to streamline the software development process? 

In our team, fostering a sense of ownership is a highly impactful strategy for streamlining the development process. Each workstream and aspect of our product is assigned a clear owner, with this ownership evenly distributed among all engineers. This approach ensures that well-informed individuals lead discussions, preventing overcrowded meetings and stagnant discussions. This sense of ownership drives me to be more productive and passionate. However, this strategy requires proper incentives for knowledge sharing and cross-workstream engagement.

Another effective approach to streamline the development process in our team is a clear policy on meetings. We have one dedicated day without meetings and regularly evaluate the necessity of recurring meetings. On a more practical level, we have developed many tools that streamline our development environment. We actively encourage sharing run configurations and Docker setups to facilitate code execution. Additionally, we create mocks and fakes to lighten the load on our environment. Finally, our infra team excels in providing easily understandable and well-documented tooling for all facets of our infrastructure.

 

How have implementing these strategies or tools — individually or as a team — changed how you work? What benefits have you seen?

First and foremost, the strategies and tools put in place by my team provide me with constant challenges and growth opportunities. Rather than maintaining a narrow focus, I’m required to consider the big picture and actively collaborate with colleagues and Celonis as a whole. This increased responsibility often leads to a sense of accomplishment and recognition, making me feel like a valued team member. The productivity gained by all those initiatives makes working fun and engaging. Additionally, exploring individual tools has introduced me to an exciting new hobby: mechanical keyboards.

 

 

 

Anish Jayavant he/him/his, Software Engineer
Software Engineer • Clear Street

Fintech company Clear Street’s cloud-native prime brokerage platform aims to improve access to capital markets.

 

Individually, what’s your favorite time-saving hack when developing software? How do you implement this strategy in your work?

I lead the developer experience team at Clear Street, where I focus on improving the dev environment for our 200 engineers, so productivity is always at the top of my mind. 

Personally, my favorite hack is to invest upfront time in customizing my work PC and development environment and using keyboard shortcuts and productivity tools to minimize mouse use.

Efficient context switching between keyboard and mouse is crucial for productivity as a software developer. Minimizing mouse usage by relying on keyboard shortcuts for tasks like navigating code, refactoring and executing commands significantly speeds up workflows. Prioritizing keyboard-centric workflows and leveraging productivity tools for searching, navigation and editing can further enhance efficiency.

 

Efficient context switching between keyboard and mouse is crucial for productivity as a software developer.” 

 

Before joining Clear Street nine months ago, I was not proficient in using a Mac. I learned basic navigation shortcuts, set up favorite keybindings and installed the Rectangle tool for window management. I use helpful Chrome extensions, a clipboard manager called Maccy and Zsh shell with customized plugins, aliases and a terminal multiplexer. Of course, these are personal preferences, not standardized for our engineers.

 

What tools or strategies has your team, as a whole, implemented to streamline the software development process? 

In previous roles, I have seen engineers spend weeks setting up their developer toolchain. As engineering organizations grow, the DevX discipline comes into focus. 

The DevX team is part of Clear Street’s engineering infrastructure group. We own and manage improvements to developer infrastructure tools, software build and delivery processes. Our objective is to empower our developers to work efficiently, creatively and collaboratively. We achieve this by streamlining development workflows, enhancing tooling infrastructure and providing comprehensive support.

For example, we have standardized the developer Linux machine setup with a shell and tools required to build and deploy software for Clear Street in the major software languages we use — Go, Python, Java. We offer a local developer setup that closely mimics how we run software in production.

We have also made improvements to CI/CD processes to reduce the time developers spend waiting for their code pull requests to be tested, approved and deployed. My team builds tools for ephemeral testing environments and deployment and creates sensible integration points between tools like GitHub, Jira, Slack, PagerDuty and DataDog.

 

How have implementing these strategies or tools — individually or as a team — changed how you work? What benefits have you seen?

My personal hack — paired with other tips such as blocking out time on the calendar for development, trying to only have focused meetings and so on — has tremendously improved my productivity as an engineer. As a team lead, I encourage everyone on my team to incorporate it to their preference.

First-class DevX can make a big difference in the overall productivity of an engineering organization. We continuously look for ways to improve the quality of life for our engineering colleagues. At Clear Street, engineers can typically make their first code commit within the first couple of days, thanks to the tools DevX provides.

Most recently, we made improvements to CI build time through the use of GitHub caching, a continuous area of improvement that my team focuses on. We also migrated work tracking from Shortcut to Jira, which integrates better with other tools. 

Additionally, we’re looking at standardizing tool setup on Macs because we currently only support Linux and increasing standardization on tools and plugins that ship by default with IDEs.

 

 

 

Tracy Lee
Senior Staff UI Engineer • Vestmark, Inc.

Vestmark offers a SaaS ecosystem designed to empower financial advisors and institutions in the efficient management and trading of client portfolios.

 

Individually, what’s your favorite time-saving hack when developing software? How do you implement this strategy in your work?

My top time-saving strategy in software development is to engage in comprehensive research at the outset. By carefully selecting the best tool for each task and understanding its capabilities, I significantly cut down on time spent across the project’s lifecycle. This method involves a proactive investment of time to prevent the need for time-consuming adjustments or changes in tools later, thus boosting productivity.

To implement this strategy effectively, I dedicate the first couple hours of each day to what I call ‘coffee tasks.’ This period focuses on enhancing my knowledge and skills through various resources. I delve into documentation, articles and even educational videos on platforms like YouTube or engage in more structured learning via paid courses on Udemy. This practice is crucial for evaluating tools, discovering best practices and making well-informed decisions about the tools to incorporate into our projects.

 

What tools or strategies has your team, as a whole, implemented to streamline the software development process? 

To enhance efficiency within our software development process, our team has embraced the AWS Serverless Application Model (SAM) for managing our APIs. SAM seamlessly incorporates Infrastructure as Code (IaC) into our development routine, facilitating both efficient local application development and straightforward deployment to our cloud provider. This adoption boosts our productivity and streamlines the delivery process, ensuring a more fluid transition to cloud-based operations.

In parallel, we leverage the AWS Cloud Development Kit (CDK) for the deployment of micro-frontends to AWS. The CDK empowers our developers to utilize familiar programming languages to construct IaC, effectively widening the circle of team members who can engage in DevOps activities. This approach significantly enhances our team’s ability to manage and optimize development workflows efficiently.

 

Implementing purpose-built tools such as SAM has brought about a significant shift in our development approach.”

 

How have implementing these strategies or tools — individually or as a team — changed how you work? What benefits have you seen?

Implementing purpose-built tools such as SAM has brought about a significant shift in our development approach. One of the most notable changes is the ease with which developers can now opt to ‘split things out’ into smaller, more focused microservices. The reality is that if decomposing an application into microservices is cumbersome, developers may hesitate to make the optimal choice. This reluctance often leads to applications that progressively grow in

size and complexity, becoming more challenging to manage over time. Tools like SAM substantially lower the barrier to making ‘the right decision,’ encouraging a more manageable and scalable development strategy.

 

 

 

Jing Huo
Vice President, Software Engineer • Enfusion

Fintech company Enfusion is an investment management SaaS that provides real-time, data-driven intelligence.  

 

Individually, what’s your favorite time-saving hack when developing software? How do you implement this strategy in your work?

Personally, my hack is planning my projects five steps ahead. For my team members, we’ll sync up regularly and get our priorities clarified, and I encourage them to write down implementation plans for complicated tasks. As a result, I will better understand where we stand and how the resources need to be allocated, and be better prepared for when due dates are approaching and rearrangements are needed. For myself, I usually have my anticipated delivery dates, which are ahead of the real delivery dates by a couple of days or weeks, depending on the scenarios. This ensures that I have ample time to polish it and make modifications, and I don’t have to sacrifice everything else, even when we want to push the pace.

 

What tools or strategies has your team, as a whole, implemented to streamline the software development process? 

Our team has really thrived since we partnered with a project manager who helps us streamline processes, from feasibility review and task assignments to QA and finalization. The PM facilitates communication intra-team, helps us to document and makes sure statistics back every action we take. For example, they will organize discussions between business analysts and developers for upcoming projects. During the development, they will reserve the testing and QA resources with other teams. They will initialize a —technical or procedure topic — and involve developers to write documentation.

 

With this detailed planning and analysis, it’s hard to miss on delivery.” 

 

How have implementing these strategies or tools — individually or as a team — changed how you work? What benefits have you seen?

My strategy is made possible only with the help of project management. There is less pressure to make a decision, and there are clear expectations. Additionally, we gain more knowledge from the information put together by the PM. We know our distribution of effort between strategic work and daily maintenance, each developer’s bandwidth within a certain period, and we can estimate if we could take on more tasks or need to reevaluate. With this detailed planning and analysis, it’s hard to miss on delivery. It’s our great pleasure, as a product and developer team, to see clients are happy because of our accomplishments

 

 

 

Sarah Johanknecht
Software Engineer • Nourish

Nourish offers clinical-grade nutrition care through a virtual network of dietitians, partnering with major health insurers to provide personalized coaching accessible to patients in all 50 states, often at no cost.

 

Individually, what’s your favorite time-saving hack when developing software? How do you implement this strategy in your work?

I wish I had one time-saving hack that consistently cut off hours of dev time, but I don’t think I do. Instead, I have learned what my strengths are as an engineer based on my reflection and a lot of excellent feedback from my team, and I combine that knowledge with heads-down time to increase my efficiency.

So, what does this look like in practice? I know that I excel in cross-functional projects where I am super involved in the scoping and have strong knowledge of the business context behind the problem we are solving. I seek out these types of projects and ensure that technical input is there from the beginning — this often helps us scope and create a solution that makes sense from a technical perspective — not just a business perspective. I also have strong relationships with all the team members I work with, so it is easy to give feedback and push for decisions. Once a project is scoped, I make sure to carve out a lot of heads-down time in my day-to-day to allow myself to focus on the work I am doing and always ask for feedback early and often as we build out a project. This leads to a much quicker ship time since everyone is in the loop and aligned.

 

What tools or strategies has your team, as a whole, implemented to streamline the software development process? 

Some of the engineering team’s favorite values include Ship Fast and Work Smarter and Harder, so we definitely value any opportunity to move quickly and deliver value to our patients and providers through our product. As a team, we are constantly learning and improving our workflows and collaboration to enable this.

We constantly are sharing tips and tools as a team that we find to help make us productive, whether that be VS Code extensions, dev mode tricks in Figma to enable our pixel-perfect development mindset or workflow tools such as Graphite that we can use to speed up the development on larger features.

Often, in the projects we work on, some of the trickiest pieces to nail down are the various edge cases and clinical processes that impact the features we ship. To streamline this, we almost always work cross-functionally. We make sure to have owners on all sides of the product so that we can quickly raise questions, suggest improvements and deliver value. When I’m working on a project, I ask for feedback from all key stakeholders early on and often, which allows us to uncover potential issues and ultimately ship the product quicker.

 

How have implementing these strategies or tools — individually or as a team — changed how you work? What benefits have you seen?

We have a very collaborative environment and find it important not just to ship fast ourselves but also to help our teammates ship fast. This results in a lot of time spent pairing on technical decisions, complex bugs and more. We all focus on helping each other out and prioritizing unblocking each other alongside our current work.

 

It is awesome to see everyone on the team focused on building a culture where the combination of collaboration and speed is the top priority.”

 

I think the benefits of our working style are truly endless. It is awesome to see everyone on the team focused on building a culture where the combination of collaboration and speed is the top priority. Setting this culture when we are a team of only six engineers means setting the groundwork for this to be a core part of our engineering culture once we’re at 10, 20 or 100 engineers.

 

 

 

Rhoen Pruesse-Adams
Engineering Manager • Teachable

Edtech company Teachable hosts over 100,000 instructors and creators who use the platform to monetize and share their knowledge with learners, track and analyze their business performance, and more.

 

Individually, what’s your favorite time-saving hack when developing software? How do you implement this strategy in your work?

Write less code. When we build products, it’s important to remember the ultimate goal and purpose of the work that we do. We’re building products to solve some needs for our users. It’s common at tech companies for some programming tasks to make their way down to you as an engineer, and if you’re not careful, you might work on it before validating that it is, in fact, the best use of your time. Before I write any code, I always ensure I understand the ultimate purpose of the work I’ve been asked to do. In some cases, I can explain why we shouldn’t build a particular function or API or how we could solve a problem differently.

Be flexible and always ask yourself, ‘Is there an easier way to accomplish the same goal for our users?’ You’ll find that you can write less code but have the same impact. Less code might not take you less time to write initially because you’re now spending more time thinking about alternatives and asking these questions of yourself, but it does save significant time in other ways. Less code means code reviews are quicker, less opportunities for bugs, and maintenance over time becomes easier.

 

Less code means code reviews are quicker, less opportunities for bugs, and maintenance over time becomes easier.” 

 

What tools or strategies has your team, as a whole, implemented to streamline the software development process? 

If you’re familiar with modern development practices, you’re sure to have heard of agile development, and you may also be familiar with some of the sprint rituals that often come hand in hand. Refinement is one of these rituals that I believe is crucial to focus on as a team, and I would love to remind any engineer or manager reading this that you can always change your team processes.

The team that I manage recently reviewed our team processes and changed the way we handle refinement, and the strategy I want to recommend is just that — take time with your team to talk about how you handle refinement and ask yourselves if you could do it better. Remember, every team and product organization looks different, so the best refinement for you might look different than ours.

Our team created a pre-refinement process where we quickly create sticky notes in Miro that represent one to three stories. Then, we assign those stickies to engineers on the team to prepare the detailed stories we discuss during weekly refinement. So far, this process has worked well, but we will also be checking in and continuing to ask ourselves, “Is our refinement process working?”

 

How have implementing these strategies or tools — individually or as a team — changed how you work? What benefits have you seen?

As a manager, I’ve had the opportunity to share my ideas with other engineers and teach them how I have found success when approaching technical problems. I’m a technical resource for engineers when they need me, but I think the most important part of my role is helping engineers learn how to assess what is the best use of their time. Sometimes, to be a good engineer means saying you don’t think it’s a good idea to build a particular feature or idea, or at the very least, not as described.

In my case, I’ve noticed the engineers I work with exhibit more independence and more confidence. I’ve seen them seek out more opportunities at the company outside of the pod to share their knowledge and expertise, probably because they have additional time and capacity as a result of using these strategies; all the while, the pod has maintained a constant level of output.

 

 

Responses have been edited for length and clarity. Images provided by Shutterstock and listed companies.