How Engineering Teams Can Maintain Both Speed and Quality

Engineers at five local San Francisco tech companies accommodate the need for speed without lowering their standards.

Written by Isaac Feldberg
Published on May. 02, 2022
Brand Studio Logo

Keeping pace with all the demands of a software engineering job can be challenging. 

And in the tech industry, as companies aim to accelerate their overall time-to-market, the directive to engineers is often both daunting and clear: speed up the process, however you can. But moving a product all the way from ideation to the revenue stage is understandably complicated, and traveling through the development life cycle takes time. 

Move too quickly, and you open yourself up to making mistakes or suffering longer-term burnout; take too much time, and you might feel pressure from higher-ups. How can engineers execute more efficiently without allowing the quality of their work to waver?

At Clumio, which aims to simplify data protection with its cloud backup solutions, the heat is on for software engineers. But team members balance their company’s need for speed with practices that help them emphasize quality work and avoid fatigue.

“When I get stuck on a problem where I am not making progress, I find it important to step back,” said Stephane Odul, Clumio’s director of cloud engineering. “Sometimes, the faster road to the solution is slowing down.”

Whether consulting with teammates to gain perspective on a particular problem or simply stepping away from the work for long enough to come back to it with a fresh set of eyes, Odul knows that overcoming daily obstacles doesn’t always mean charging at them head-on. 

Below, Built In spoke with Odul and tech leaders at four other fast-growing companies — Zoom Video Communications, Philo, Opendoor and Sentry — about their approach to helping engineers maintain sustainable speed without sacrificing quality.

 

Image of Stephane Odul
Stephane Odul
Director of Cloud Engineering • Clumio

Clumio’s secure cloud solutions have simplified the data protection process for Amazon Web Services, and its engineers work at a rapid pace to ensure best-in-class service for its global customer base. 

 

Our employers obviously benefit when we work with speed. But how does moving fast as an engineer benefit you, your skill set and your overall career?

If things are done quickly, you can move on to the next problem, get exposed to a wider range of challenges over time and learn more than if you stayed static. When challenged with a new problem to solve, you have to get informed yourself in order to identify the ways to solve that problem. You talk to your fellow engineers, exchange ideas and accumulate experience. After a while, patterns emerge, and you can identify new problems similar to ones you’ve encountered before. As such, you will be able to solve that new problem faster than you did previously. Sometimes, you will be able to skip the analysis time, implement a similar solution or reuse code you have already written. Sometimes you learn from your mistakes and know that you have to try a new approach that will be more efficient. All the accomplished work adds up over time to improve your experience, skill set and professional reputation, which you can then use to advance your career.

 

During your career, what have you learned that helps you work faster?

I studied supply chain management in college and was certified by the Association for Supply Chain Management (APICS). At first glance, supply chain management would seem not to apply to our work, but I have realized that many techniques used to improve supply chains absolutely apply. Agile, Kanban and Lean are rooted in Toyota’s production system, originally designed in the 1960s. That model has since been adopted by many other industries, including tech.

One technique I use is called “the five whys.” The idea is to try to get to the root of what we are trying to accomplish by going back to the problem we are actually trying to solve, instead of focusing on the details. Another technique is the 80/20 rule, or Pareto Principle. This idea is to identify the smallest amount of work that will yield the greatest output. This helps me decide what to work on so that it benefits the company most.

 

What are the potential drawbacks of working with speed, and how do you mitigate them?

Sometimes we try to rush through things with less talking and more acting, so work can be initiated without enough consideration for scalability, maintainability and operability. If something needs to get launched quickly, but it will cause one or more teams significant upkeep, that is not necessarily best for the company long term. Additionally, an individual developer’s speed does not necessarily translate into overall team or company productivity. If a developer is solely focused on their own speed without consideration for others, this can lead to significant productivity loss to the company, and that trickles down to our customers.

We must be wary of the rockstar developer who fixed 10 production bugs in record time last month. If the bugs were caused by their rushed feature work and got many other employees involved — developers, quality engineers and people from operations, support and sales departments — the cost to the company could be a thousand times more than if said rockstar engineer had slowed down their code writing to thoroughly investigate scaling and stability concerns first. This new feature would have taken longer to be shipped, but it would not have caused as many production outages and slowed down all these other teams.

 

Image of Conner Pope
Conner Pope
Software Engineer • Zoom Video Communications

Zoom keeps people connected through its video communications, but its employees — referred to as “Zoomies” — move as quickly as their communal nickname suggests. Designing solutions for a global customer base requires perseverance, but Zoomies do so by working hard as a tight-knit team. 

 

Our employers obviously benefit when we work with speed. But how does moving fast as an engineer benefit you, your skill set and your overall career?

When we move fast as engineers, we always produce useful output for our employers. However, we also accomplish the ability to grow fast for ourselves. Moving with speed allows us to learn new skills, overcome challenges and obstacles, and most importantly develop abilities to quickly solve the most complex technical challenges. All of this makes us stronger engineers and helps us follow the fast pace of our company.

 

During your career, what have you learned that helps you work faster?

For me, working on independent projects and studying new technology outside of work has been a huge contributing factor towards working faster. By spending some time over the weekends and evenings developing my skills, I expand my knowledge, which allows me to quickly overcome familiar challenges while working at Zoom. Even just reserving a few hours outside of work for study per week has made a tremendous impact.

 

What are the potential drawbacks of working with speed, and how do you mitigate them?

Moving fast is great, but there are a few things that you should be mindful of as you’re doing so, including your potential to miss some internal processes, bugs, logical issues in code or other related issues. The best way to mitigate these drawbacks is to sync up with your team regularly on your progress. Additionally, make sure you get your teammates to thoroughly review your code before merging to catch any bugs or other issues. Your scrum master and teammates will help keep you on track. We’re all working toward a common goal.

 

Image of Alexa Francis
Alexa Francis
Engineering Lead • Philo

Aiming to build a better television experience, Philo offers an affordable package of popular television channels. With its monthly subscription service, unlimited DVR, on-demand options and streaming capabilities, the company operates a robust tech platform that keeps engineers busy and requires them to stay flexible above all else. 

 

Our employers obviously benefit when we work with speed. But how does moving fast as an engineer benefit you, your skill set and your overall career?

Working quickly allows us to iterate and learn what works and doesn’t. If we sit and contemplate a problem for a few weeks as opposed to just prototyping those ideas and proceeding down what feels like the best path, we are able to find a better solution. There’s no harm in removing code that doesn’t work and isn't the best. Mistakes make the best products, and it’s better to surface them quickly.

 

During your career, what have you learned that helps you work faster?

Either at the end of the workday or beginning, look at your calendar and plan for when deep thought will be possible. Sustain a routine, with blocked-off time to get in the “zone” between, before and after meetings. Communicate sooner rather than later with the team, and pair with other engineers when necessary. Bounce ideas off co-workers. As I mentioned, communication is key.

 

What are the potential drawbacks of working with speed, and how do you mitigate them?

Bugs are a given, but we fix and iterate those. That’s how software is. Shipping a perfect product with speed is an oxymoron, so you just have to set deadlines for goals that you want to aim for. It’s OK if it’s not shippable, and it’s OK if we find a few bugs after release and quickly fix those. Hopefully, they’re never product death bugs.

 

Image of Lisa Casner
Lisa Casner
Senior Software Engineer • Opendoor

On a mission to digitize home buying, Opendoor initially sought to provide home-sellers with algorithmically generated, near-instant cash offers for their properties. More recently, the company expanded into listing and financing homes, and its engineers have stepped up to the plate as a result.

 

Our employers obviously benefit when we work with speed. But how does moving fast as an engineer benefit you, your skill set and your overall career?

When I execute with speed, I give myself the space to take on additional challenges with the extra time. Working quickly has enabled me to see, learn and do more. I learn best by doing, so I am able to quickly grow my craft when I have time for extra projects or opportunities. For example, the additional context I gained after getting things done at work allowed me to clearly understand pain points in our current systems. As a result, I designed and led multiple large-scale projects in order to address said pain points. Had I not worked with speed, I would not have had the time to create those opportunities for myself.

 

During your career, what have you learned that helps you work faster?

It may seem counterintuitive, but proper planning upfront will increase your team’s overall velocity. To increase speed to ship, write tests and test locally. Testing upfront is much less time consuming than fixing problems caught after deployment. Set up alerts to catch problems quickly. It is less time-consuming to fix a bug right after deployment. Find and address potential bottlenecks in advance. Understand your plan, what potential blockers you have and how to minimize the impact. For instance, when your work depends on another team, start conversations with them ASAP. 

Additionally, ensure you execute on tasks upfront that will block others down the line. Find ways to “parallelize” the work. If your team is working on a larger feature, break it down into smaller deliverables and find ones that can be worked on simultaneously. Communicate your decisions and progress. If you keep the right teams and people informed, they may find problems you would not have caught, or they might have better suggestions. Be upfront about any unexpected problems, and adjust expectations or reset priorities. Scrambling to meet deadlines leads to shipping bad code — and inefficient work processes.

 

What are the potential drawbacks of working with speed, and how do you mitigate them?

Delivering quickly without focusing on quality can be costly if you have to stop what you are doing to root-cause, fix and potentially backfill data for bugs while trying to move on to new work. Upfront planning time is crucial to moving quickly and reducing delays caused by bugs and tech debt.

Another drawback to working with speed is that you risk choosing the less ideal approach because it’s faster today, even though it will cost you significantly in the long run. Planning upfront will help you evaluate if the speed to deliver in a sub-optimal way will be worth the refactoring required in the future.

Finally, if you implement features without forethought, you could skip important learning opportunities or miss details that are vital for a smooth launch. Learning when to move quickly and when to slow down and plan will help increase your team’s velocity and also fuel their personal growth.

 

Image of Danny Lee
Danny Lee
Engineering Manager • Sentry

Through its open-source application monitoring platform, Sentry helps developers diagnose, fix and optimize the performance of their code. Naturally, software engineers at the company sustain their own momentum as they surface all manner of errors and performance problems. 

 

Our employers obviously benefit when we work with speed. But how does moving fast as an engineer benefit you, your skill set and your overall career?

Working in a fast-paced environment allows me to work on a variety of projects. I can gain a wide breadth of experiences and quickly grow as an engineer.

 

During your career, what have you learned that helps you work faster?

In such an environment, there will always be trade-offs between doing things right or just getting things done. In order to be effective at moving quickly, I have learned to focus on the important parts of a project and do them well, as well as to openly communicate expectations with my teammates on deliverables.

 

What are the potential drawbacks of working with speed, and how do you mitigate them?

When everyone is on the same page, it makes the fast-paced environment fun and challenging.

Responses have been edited for length and clarity.