What Are the Costs of Coding Too Fast? Leads at Stack Overflow and More Discuss.

Local engineering leaders talk about the perks and pitfalls of programming at speed
Written by Eva Roethler
May 3, 2022Updated: May 5, 2022

We all know the scene: A group of heroes desperately try to catch a maniacal supervillain, but are stopped in their tracks by a technical roadblock. 

That’s when the unassuming nerd comes to the rescue. 

In this Hollywood hacker trope, the talented programmer sits down at a computer, moves their fingers in a blur across the keyboard, and cracks a code in seconds to move the plot forward. 

“The idea that software engineers know everything and just magically write code is a myth,” said Jon Chan, director of engineering for public platform at Stack Overflow. “Instead, it’s a lot of trial and error, and learning from mistakes quickly is critical to an engineer’s success.” 

Chan would know. Remote-first Stack Overflow is one of the main resources developers use to find knowledge to help overcome obstacles. 

Though the Hollywood depiction of hacker life is far from the reality of life in development, moving quickly is exhilarating for engineers. It’s thrilling to find the sweet zone of productivity — where code flows easily from fingertips to keyboard — and get the rush of dopamine from seeing creations come to life. However, there is a delicate balance between a fast-moving flow state and error-prone burnout, and engineers may end up pushing themselves too far, or make sloppy mistakes, in pursuit of that speed. 

“Don’t be Icarus and fly too close to the sun,” added ezCater Senior Engineering Manager Joel Oliveira. “Doing too much, for too long, leads to burnout.”

We sat down with Chan, Oliveira and talented engineers from two other Colorado-based companies to discuss the costs and benefits of coding with speed, and tips for avoiding disastrous consequences along the way. 

 

Jon Chan
Director of Engineering for Public Platform

 

Stack Overflow is a knowledge-sharing platform for developers.

 

Employers obviously benefit when we work with speed. But how does moving fast as an engineer benefit you, your skillset and your overall career?

First, moving fast means you learn faster. One of an engineer’s key skills is to be able to learn technical concepts and apply them to solve problems quickly, and most engineers learn best by researching, trying it out and repeating until they get the solution they’re looking for. 

Second, moving fast and delivering efficiently can boost an engineer’s self-confidence and open doors for them. Everyone wants to feel like they’re succeeding on the job, and engineers are no different. If you get good at learning, solving problems and delivering work, the sense of accomplishment you gain and the drive to maintain that feeling can be a powerful motivator. Other people will notice, too. If you manage to work fast consistently, you’ll develop a reputation for being efficient and reliable, and people will come to you with more opportunities to grow your career.

 

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

What’s helped me work fast the most is getting crystal clear on priorities. That may sound obvious, but I truly believe that this is best achieved when you have unshakeable focus. There’s always more that you want to do than you have time for, and just grinding through a list of to-dos without knowing how important it is won’t be very fruitful.

It’s also important to think beyond the short term. Ideally, you know your long and medium-term goals one to two years ahead, and that informs what you do on a monthly, weekly and daily basis. This is easier said than done: Figuring out what's important to you takes a lot of introspection and it also means deciding what not to do. I find a lot of people make the mistake of avoiding this prioritization and goal-setting exercise because it’s difficult to do, so they distract themselves by being busy without being very effective. But once you’re clear on your priorities, you spend less time reacting to unimportant things coming at you. Instead, you can be laser-focused on what needs to get done, right now, and be certain it’s going to be effective. That’s how you can make every effort and minute count.

 

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

One of the biggest mistakes people make when they want to move faster is getting hyper-focused on their work, rather than looking at their productivity holistically. People mistakenly believe the best way to maximize productivity is to put in long hours, work weekends, and sacrifice their health and relationships. What tends to happen to people who work this way is that it eventually negatively affects their productivity in the long run and they burn out, many times without getting the results they were hoping for.

People mistakenly believe the best way to maximize productivity is to put in long hours, work weekends, and sacrifice their health.

 

Working with speed is ultimately an exercise in maximizing your ability to focus on what’s important when you need to. I’ve already touched on prioritizing correctly so you know what you are putting effort into is going to be impactful, but the other half of this story is protecting your focus.

That doesn’t just mean avoiding social media or creating a meeting-free time in your calendar. It means eating right, working out regularly, taking time to completely not work and getting enough sleep. These are productivity investments that go beyond what happens in the workplace — you are just one person after all — and these investments compound over time.

 

 

Corey Earwood 
Director of Engineering

 

Havenly is a personalized interior design service. 

 

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?

At Havenly, moving fast often gives us the ability to quickly test new ideas before spending a lot of time upfront developing something that nobody wants. This helps keep things in perspective so that we don’t spend too much time doing things like refactoring code that’s likely to change anyway in the coming weeks. Being able to let go of dead ends and avoid the sunk cost fallacy is an extremely valuable attribute for any software engineer’s career.

 

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

Ensuring that the required tools and processes are in place is the most important thing to moving faster for me and my team. The two that come to mind are your developer experience and continuous delivery. Developer experience, the tools and environment developers use, is critical for enabling quick iteration. Continuous delivery can be a challenge to achieve but when you remove the barriers to release it can unlock massive speed for the whole team.

 

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

There’s inherent risk in deploying code too fast, but there’s opportunity risk if you aren’t deploying fast enough. At Havenly, we accept the risk of launching the occasional bug as a result of moving fast. As a growth company, we have to be willing to pursue and capitalize on the opportunities in front of us. In order to help mitigate some of this risk, engineering has a responsibility to put monitoring and testing in place to quickly identify, triage and react to bugs. Having the ability to quickly roll back recent changes is extremely important.

There’s inherent risk in deploying code too fast, but there’s opportunity risk if you aren’t deploying fast enough.

 

 

Kevin Westropp 
Team Lead, Software Engineering

 

Tipico is a mobile sports betting platform. 

 

Employers obviously benefit when we work with speed. But how does moving fast as an engineer benefit you, your skillset and your overall career?

Working fast as an engineer helps us build and ship features for our users more quickly. It provides more benefits to the end users of our products because we can respond to user feedback promptly and provide significant value to our users. This benefits me in the long run because I have more significant work that I can highlight as a part of my profile and naturally improves my skill set because of the amount of new technology that I get to work with.

 

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

There are certain aspects of scrum and agile that are essential to help me as a developer to work fast and ensure we are delivering a high-quality product to our end users. Utilizing concise daily standups help us drive forward features faster and get them shipped out to our end users with a quicker turnaround time. Two-week sprints, breaking down tasks via epics and sprint retros are just some examples of other aspects of scrum and agile that we utilize to ensure we are working fast and efficiently to deliver high-quality features.

 

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

One of the biggest potential drawbacks to working with speed is the increased likelihood of introducing bugs into new functionality we are building for our product. That is why we must include proper testing and checks into all the functionality that we build and ship. Also, the potential for breaking or altering previously implemented functionality increases with speed. So it becomes more important for us to do proper regression testing to ensure our product remains robust and free of critical issues. 

The potential for breaking or altering previously implemented functionality increases with speed.

 

 

Joel Oliveira
Senior Engineering Manager

 

ezCater is an online catering marketplace. 

 

Employers obviously benefit when we work with speed. But how does moving fast as an engineer benefit you, your skillset and your overall career?

As an engineer, having a foundation that enables you to move with speed builds upon qualities that act as multipliers. Engineers who manage to find that vaunted and elusive state of flow know that getting into that head space will lead to strong results, features delivered to spec, and a pace and output that border on superhuman. The challenge is finding the right levers to pull and buttons to push that result in demonstrable output in a reasonable window of time.

Speed is an output. It is a result. As an artifact of your systems and processes, speed is a measure of effectiveness — something you can champion and be proud of as you progress throughout your career. To be fast is one thing, but at what cost? Sacrificing quality is not an option. While at ezCater we’ve been intentional about over-communicating when trade-offs are necessary and determining what the quickest path to success is. What not to write is as important as what to write.

To be fast is one thing, but at what cost? Sacrificing quality is not an option.

 

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

For me, the main tenets that assist in the ability to move fast boil down to planning, tooling and sustainability. 

Planning is doing the work that determines the work that needs to be done. Knowing what the target deliverables are ahead of time and breaking all of those discrete pieces down to the smallest reasonable chunks will allow you to move seamlessly from one task to the next. The successive dopamine hits from the completion of several tasks act as the wave you can ride into what we hope is that wonderful feeling of “flow.”

An engineer’s tools are an additional superpower on top of inherent superpowers. Recognizing where friction exists as you are working through tasks and incrementally building small shortcuts will, in aggregate, build to a point where you work at the speed of thought. Watch someone who’s been working in Vim or Emacs for 20 years and you’ll see what I mean.

Maintaining a healthy, sustainable pace, while being vigilant over your maker time contributes to a balance that allows you to do more, for longer. 

 

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

It’s too easy to conflate speed with effectiveness. Just because you get work done faster does not make it better. Sacrificing processes that lead to well-built and well-factored software will often boomerang back to bite you. Writing production code without tests? What happens when that code needs changing? Do you write the tests then, or do you spend days smoke-testing to make sure this change doesn’t break something in the system on the other side? Planning, care, standards and consensus should take precedence over time to pull request. Filling the spaces in between with intentional strategies to make your process faster are key.

At ezCater, we encourage our team to act as the support system that encourages and maintains a healthy culture that draws a through-line across both engineering standards and personal care. Sometimes to move fast, you may need to move a little slower, and identifying when those opportunities arise is a skill we’ve leaned into. Software is a team sport, so lean on your teammates to build those systems.

 

Jobs from companies in this blog

Colorado startup guides

LOCAL GUIDE
Best Companies to Work for in Denver & Boulder
LOCAL GUIDE
Coolest Tech Offices in Denver & Colorado Tech
LOCAL GUIDE
Best Perks at Colorado Tech Companies
LOCAL GUIDE
Women in Colorado Tech