Engineering-as-a-Moat

Businesses are like castles – they can stand on their own but without something to defend them, they are open to attack.

Engineering-as-a-Moat

This post was written in collaboration with the wonderful CircleCI team.

Businesses are like castles – they can stand on their own but without something to defend them, they are open to attack.

In the medieval ages, a moat was a deep, broad ditch full of water (and crocodiles) that was dug around a castle or town to provide it with a preliminary line of defense.

In business, a moat is the ability to maintain competitive advantages over competitors in order to protect long-term profits and market share from competing firms.

In both cases, the moat serves to protect those within the fortress from the attack of outsiders going after their resources. There are a few types of moats:

Economies of scale is when you get a cost advantage based on your ability to run and build and deliver a product at scale. The perfect example is Netflix and spreading the cost of their Originals over millions of subscribers.

Network effects describes a product whose value increases exponentially according to the number of others using it, which means that a product with strong network effects (like Facebook) can be extremely difficult to disrupt by a new entrant that doesn’t possess said network size.

You can also build a moat around your Brand. Brands protect a company from competition through a unique value proposition, culture, and messaging that allows them to charge a premium, lower acquisition costs, or maximize repeat purchases.

But the moat I’m most interested in today is Product Differentiation. Sometimes your product is so unique and hard to imitate that it acts as a moat. This is normally done through a business structure that confines pricing power and intellectual property, but it can also be done through software development.

Today I’m going to try to articulate why a technology company should focus on software development as a way to build a Product Differentiation moat around their business to generate the outsized return we are all after.

Why you should focus on speed to build a moat

First, you need to learn

In a time where software is eating the world, how fast your team builds new software will be a big determinant of success.

Eric Ries famously defines startups as “a human institution designed to deliver a new product or service under conditions of extreme uncertainty.”

The condition of extreme uncertainty needs to be defeated for the startup to be successful and the only way of doing that is to maximize learning over a period of time.

In a software business, there are two ways to learn: (1) talking to customers and (2) shipping software. This means that how fast you can develop new products and learn from your customers’ interactions without alienating your existing base will be a major determinant of your success.

So yeah, the faster you are, the more you can learn.

Then you need to scale

But after experimentation comes raising money. And venture capital comes with embedded growth obligations so if early-stage startups need to learn, scale-ups need to grow.

Once you point the entire company towards hyper-growth, the role of Product and Engineering teams should change.

After learning, comes continuous innovation and speed of feature parity. A great way to attack an incumbent is by differentiating against one very specific product dimension that only a subset of the market wants, and the incumbent is not ready or willing to defend.

Challenger banks are a fantastic example of what Nathan Baschez calls Complexity Convection. When N26 came along, it competed with the complex, clunky, and powerful traditional banks along one dimension – user friendliness.

Power users might want the power that comes with HSBC, but regular users were willing to trade off these constraints for a no-cost, easy-to-use experience.  

But as you go upmarket in an effort to increase shareholder value, you need to start competing against incumbents across all the other generally accepted dimensions. N26 launched premium plans, insurance, stock trading, and much more.

This is when speed of feature parity comes in.

As you go upmarket to do this, feature-by-feature comparisons against your direct competitors will become more and more common. There are dozens of personal finance sites comparing N26 vs. Revolut vs. Monzo.

Yearly fee? €0, cool. Wire transfer fee? Nothing. Stock trading? Check. Virtual cards? Yep. Easy cash withdrawal? No? Damn.

This is especially true in B2B where the buyer of your product decouples from the end user of your product, which means that your sales team will have to rely heavily on not losing this “battle of the checklists”.

Whether you are a young startup trying to maximize learning, or a fast-growing scale up catching up with incumbents and rivals to compete along a bunch of dimensions, moving fast is extremely important.

How to set up a fast engineering organization

Naturally, in a technology company, engineering teams are the engines that power organizations.

There are two things that you should consider:

  • The right team setup
  • The right tooling

The right team setup

Great Talent has been gravitating towards Great Talent for centuries, and that won't change. I wrote last year arguing for a European Tech Visa:

"Historically, extraordinary talent gravitates toward extraordinary talent. At the very beginning of the 15th century, an extraordinary group of young artists and intellectuals, formed under the patronage of the Medici family, flocked to Florence. Thus began the Renaissance, which later spread to Rome, Venice and the rest of the country.

During the early 1900s, Paris became a literary mecca. Its Quartier Latin on the 5eme Arrondissement became the adopted home of America’s postwar Lost Generation – the group of literary expatriates hosted by Gertrude Stein that included, among others, Ernest Hemingway, F. Scott Fitzgerald and T. S. Eliot.

Now, entrepreneurs gravitate toward other entrepreneurs."

Gresham’s Law for Talent Markets states that Good and Bad Talent cannot circulate together. Good Talent wants to circulate with Good Talent. In time, if Good Talent is hoarded somewhere else, Bad Talent will be given more movement and circulation within the Talent Market.

As more and more Bad Talent starts to circulate within a market, companies will start hiring that Bad Talent, mostly because this is the only currency being traded. If Bad Talent is rewarded with a job and power, word will go out and Good Talent will move while Bad Talent will gravitate towards whatever they can get.

Zack Kanter, CEO at Stedi, puts it better than I ever could:

"Talent density matters more than absolute number of people.... Eventually you reach this inflection point where you have a bunch of people who can sit around the table and everybody can say: “This is the best group that I’ve ever worked with.”

And all of a sudden, when they can say that, an engineer will go out to the previous people they worked with and say “Hey, this is the best people I ever worked with.” And they can say that with no caveats. And all of a sudden, this flywheel starts to turn.”

The right tooling

Workers are only as good as the tools they work with. Good hiring and the right team structure is only the first step. Giving your team the right tools is key to creating the confidence and momentum they need to succeed.

CircleCI is the largest independent CI/CD tool, on a mission to make it easier for teams to go from idea to product delivery by focusing exclusively on making DevOps + CI accessible. Last year, they conducted a significant piece of research, analyzing data from 30+ million workflows (projects or features being built by their clients.)

The main finding was that companies that have embraced DevOps and CI/CD are at a significant advantage.

“The average team using CI can achieve results that put them in the highest ranks of technology delivery teams. Your team does not have to have the world’s best DevOps practitioners to be one of the best dev teams. You don’t have to deploy a thousand times a day or spend a million dollars a month on infrastructure. Simply starting and committing to the practice of CI/CD is a reliable path to engineering success.”

Just a simple thing like setting up continuous integration can rank you among some of the highest performing software delivery teams – workflows run in much less time, which means engineering teams are much more productive and can ship and scale products much more quickly.

The ability to use technology and the right tools empower teams to adopt principles that create some of the highest levels of performance in software engineering. And absolutely it gives you an opportunity to differentiate yourself based on the way you're running the team and not just the product you actually build as a result.

A perfect example is Livestorm, a CircleCI customer who raised a Series A to provide video conferencing tools. Unsurprisingly when everyone started working from home, they had a significant 10 X increase in usage on the platform.

The thing that's enabled them to attract and retain users that flocked to the platform quickly was that they were using CI/CD principles and they had a really strong engineering team and they were able to respond and scale up their products very, very quickly.

There's no moat without a castle

We kicked off today's edition using the analogy of a moat to represent how a business can be defensible. But there's no moat without, you know, a castle to defend, and there's no castle without strong foundations.

Setting up your engineering team the right way – by hiring the right people and giving them the right tools – is setting up strong foundations. Being able to first move quickly, and then build quickly can be the different between thriving and not surviving a small siege.