Big Code—How ‘More Code, Faster’ Creates Problems

Geoff Stevens
Software.com
Published in
4 min readOct 27, 2020

More than half of developers say they manage more than 100 times the volume of code they had just 10 years ago.

Developers are responsible for more code spread across more languages, tools, and services than ever before. They’re expected to ship code faster and with fewer bugs. Without oversight, that hurts developer happiness, productivity, and confidence-slowing down important work elsewhere in the software development life cycle.

Volume, variety, and velocity

A recent report from SourceGraph, a provider of universal code search, argues most development teams are suffering from the emergence of Big Code—a dramatic growth in the volume and complexity of code.

Nearly 99% of development teams have seen increases in the amount of code they manage over the last ten years. Most of those increases have been dramatically exponential. About 18% of teams say their codebase has grown by 500 times.

That code is spread across new tools and services. Most developers have seen growing usage of microservices, containers, serverless, open source software, and code metadata.

All that code needs to be deployed faster, often on a daily or weekly basis. To stay competitive, team leaders demand accelerated release cycles and rapid innovation.

More than 9 out of 10 developers say the pressure to release faster is greater now than ten years ago. Most developers-about 6 out of 10-say that pressure has grown dramatically.

Big Code eats away at productivity

Complex codebases and faster iteration can slow down development elsewhere in the software supply chain. Speed here can be a roadblock there.

More than half of development teams say that code complexity makes it hard to maintain high quality standards and poses a high security risk. Nearly 50% report delayed release schedules and decreased agility as a result of Big Code.

Teams also report that it takes extra time and effort for new hires to be productive. Onboarding can take weeks or even months when a codebase is difficult to navigate. That lost time is multiplied across every new hire-and worsens with time.

Developers become fearful and anxious

Big Code can wreak havoc on team morale and developer happiness.

According to the report, 88% of development teams say that every release causes some anxiety. Over half say they feel fear or anxiety when releasing code or submitting it for review-nearly as many that report feeling satisfaction.

That fear can paralyze developers. A full 74% of teams report that they avoid updating code sometimes because they fear they might break something.

Defend against Big Code

How can development teams tame the Big Code beast?

First, prioritize clean code. If you manage a large codebase, thousands of lines of clean code is better than thousands of lines of messy code. Formatting tools like Prettier and Linters like ESLint can add consistency to your codebase and watch for unusual coding patterns. Husky and Lint-staged can review code before it’s committed to the codebase. Even AI-based autocompletion extensions like Codota and TabNine can make intelligent code recommendations.

Second, invest in knowledge sharing. Find a documentation tool that your team loves to use. Some teams will prefer a robust tool like Atlassian’s Confluence, while others will opt for something simpler, like Notion or Basecamp. Whatever tool works best for your team, encourage them to use it early and often.

Third, add processes to de-stress releases. Implement thorough testing and staging pipelines. Automated checks can make developers more confident that buggy code won’t accidentally bring down production systems. Alerts and performance monitoring reassure your team that problematic code can be quickly identified and reverted.

Lastly, track metrics that matter. Watch for changes in velocity, productivity, and collaboration. Early warning signs-like excessive downtime, new security vulnerabilities, or low morale-can be an opportunity to identify issues in your codebase before it becomes too unwieldy.

Don’t be left in the dark when the Big Code monster comes knocking at your door.

Originally published at https://www.software.com.

--

--