Why Do Huge Companies Such as Google Still Have Bugs in Their Products?

All companies accumulate technical debt as they grow. Here are six ways to manage this problem.

learn more about Andrew Cohen

By Andrew Cohen

Opinions expressed by Entrepreneur contributors are their own.

I often hear people wondering how a company such as Google -- with thousands of the world's best engineers -- can still have so many bugs in its products. Are Google's software developers simply not as good as everyone says they are? Is the company so poorly mismanaged that it can't fix simple problems with web browser page layouts or email delivery systems?

The answer, of course, is that all companies accumulate technical debt as they grow. Even great engineering teams can "fall behind" on feature development and bug fixes because of the huge amount of maintenance work that accrues as code bases increase in size.

The work required to develop every new feature is not just limited to the code written specifically for that new feature, but it also involves all the automated software tests, quality assurance processes, code documentation, deployment processes and scalability concerns that need to be addressed to support that new feature. Such technical overhead tends to increase exponentially as the number of new features increases.

Related: Top Predictions for Hiring and Retaining Software Developers

Companies generally "learn to live with" certain low-priority bugs because fixing them is simply not as high a priority as paying off other, more critical technical debt. Giant profitable companies such as Google are fortunate to be able to absorb huge amounts of technical overhead, thanks to large cash stockpiles, patient investors and hordes of the world's top engineers.

But startups (and most other companies) do not have this luxury. Many a promising company has collapsed under the weight of technical debt, finding themselves in a position where they are unable to move quickly enough to respond to changing business realities.

Startup CEOs and CTOs should cautiously manage the tradeoff between building new features and paying off their technical debt before it accrues too much interest. At Brainscape, we've been extremely careful to manage our technical debt, and we have learned many valuable lessons along the way.

1. Don't open too many cans of worms.

When considering adding new features to your product, it is important to consult your engineers to fully understand the amount of ongoing work that will be required to maintain that feature. You should think of this maintenance cost in terms of the salaries of the engineers and managers whose time (and mental distraction) that this will require. Is the new feature really worth all the potential complexities and distractions that it could introduce later?

2. Consider an early code refactor.

If your company is like most startups, it has likely experimented with a variety of different features and user experiences before honing in on the right product setup. There is a good chance that the relics of these artifacts are still buried in your code, confusing every new developer who joins your team.

It is thus often a smart idea to re-write much of your code -- or at least "clean it up" -- before scaling the product further or hiring too many new engineers. This is especially valid right after you have raised money, while you have the luxury of a long cash runway.

3. Hire the right CTO.

Many early-stage startups begin with a co-founding "CTO" who is fresh out of college or a coding boot camp. This person usually has a great "hacker mentality" and is able to build features quickly, in an agile way, using a variety of ready-made prototyping tools and APIs. Such a skill set is often perfect for the needs of a modern early-stage lean startup.

Related: The 5 Non-Technical Skills Any Great Developer Needs in Order to Advance

Yet as the startup begins to mature into a real company, the number of scalability issues multiplies exponentially, and the speed at which the company can evolve its technical architecture becomes a huge determinant of its success. It is therefore extremely helpful to hire a CTO who has worked on at least one large development team, on a product with hundreds of thousands of lines of code, for at least two years.

There is no substitute for the smart engineering practices that are gained from such experience.

4. Do some things the hard way.

The right engineer does not just write (or manage) code the fast way, deploying features as quickly as possible. Instead, he or she considers the complete long-term implications of each feature. How will this feature affect the product's loading time as the user base grows? How hard will it be to maintain as we continue to add new features?

The right engineer understands the proper tradeoffs between development speed, performance, scalability, stability, security, reliability and maintainability. The right engineer may initially take twice as long to develop a feature to avoid the risk that it takes 10 times as long to rewrite later. This skill of knowing where to draw the line only comes with experience.

5. Minimize developer turnover.

Every time a software developer leaves your team, he or she leaves behind "legacy code" that new developers are going to have to learn. This learning curve (and inevitable code rewrites of things that "the last guy" did "the wrong way") is often a large time suck and a big source of technical debt. Be sure to take good care of your developers so you can limit your turnover!

6. Create team redundancies.

To reduce the technical debt created by potential developer turnover, it helps to ensure that at least two or more engineers are familiar with each piece of your code base. This can be facilitated by having a rotating division of responsibilities and/or by instituting a regular practice of pair programming or code reviews.

If your company is like most, there will likely be a constant compromise between the business and engineering sides. "Business guys" tend to push for faster growth and more features, with little appreciation for how pretty things look under the hood. Meanwhile, good engineers typically push for better technical solutions that make software more maintainable over time.

Finding the right balance between growth and "managing technical debt" is one of the biggest determinants of startups' long-term success.

This article was written by a member of the AlleyNYC contributor network. AlleyNYC is one of the world's largest innovation hubs, helping foster the growth of startups in its flagship location in New York City. Entrepreneur Media is a partner and investor in AlleyNYC. If you would like to learn more about AlleyNYC and how to apply for membership visit here.

Related: Need a Software Engineer? Here's How Much You Can Expect to Pay. (Infographic)

Andrew Cohen

Founder & CEO, Brainscape; Instructor, TechStars and General Assembly

Andrew Cohen is the founder of Brainscape, a web and mobile education platform that helps people study more efficiently. Brainscape originally grew out of a personal project that Cohen created to help him improve his Spanish, while working in Panama for the World Bank. It later inspired him to seek a master's degree in instructional technology from Columbia University and transform his pet project into a fundable startup that can help people study any subject. Brainscape has since raised several million dollars from top venture capitalists.

Related Topics

Editor's Pick

This 61-Year-Old Grandma Who Made $35,000 in the Medical Field Now Earns 7 Figures in Retirement
A 'Quiet Promotion' Will Cost You a Lot — Use This Expert's 4-Step Strategy to Avoid It
3 Red Flags on Your LinkedIn Profile That Scare Clients Away
'Everyone Is Freaking Out.' What's Going On With Silicon Valley Bank? Federal Government Takes Control.
Leadership

How to Detect a Liar in Seconds Using Nonverbal Communication

There are many ways to understand if someone is not honest with you. The following signs do not even require words and are all nonverbal queues.

Business News

New Mexico Is Hiring Professional Bear Huggers -- Here's How to Land the Dream Job

The American Black Bear was selected as the state's official animal on February 8, 1963, by the New Mexico Legislature.

Productivity

Having Trouble Focusing? Here's How to Become Unstoppable in Your Performance

Here are a few tips on how to improve your focus, discipline and ability to complete projects.

Business News

'Invest In That Future Now Before It's Too Late': Bill Gates Calls For Global Pandemic Response Team In Op-Ed

In the same month that the World Health Organization called the coronavirus a pandemic three years ago, billionaire Bill Gates reiterated his call for a "fire department for pandemics."

Leadership

Pros And Cons Of Leadership Coaching: Is It Right For You Or Your Company?

Leadership coaching can work really well in some cases and not so well in others. It all depends on a few factors and if your company is ready to make the leap.

Business News

Carnival Cruise Wants Passengers to Have Fun in the Sun — But Do This, and You'll Get Burned With a New $500 Fee

The cruise line's updated contract follows a spate of unruly guest behavior across the tourism industry.