swyxio / swyxdotio

This is the repo for swyx's blog - Blog content is created in github issues, then posted on swyx.io as blog pages! Comment/watch to follow along my blog within GitHub
https://swyx.io
MIT License
342 stars 45 forks source link

Developer's Guide to Tech Strategy #217

Closed swyxio closed 2 years ago

swyxio commented 2 years ago

source: devto devToUrl: "https://dev.to/swyx/developer-s-guide-to-tech-strategy-1p41" devToReactions: 128 devToReadingTime: 16 devToPublishedAt: "2020-04-22T17:09:50.662Z" devToViewsCount: 2558 title: Developer's Guide to Tech Strategy published: true description: This is a very high level overview of tech strategy; that is, the business of software rather than the art and science of creating software itself. category: essay tags: [Careers, Strategy, Business] slug: dev-guide-to-tech-strategy

Author's Note: This is a free chapter of the Strategy section of The Coding Career Handbook. If you liked this, come check out the rest of the topics!

This is a very high level overview of tech strategy; that is, the business of software rather than the art and science of creating software itself.

It goes without saying that your coding does not have independent value; it must be applied usefully on some economic problem to have sustainable real world impact.

Table of Contents

Tech Strategy and Your Career

Perhaps more pertinent to your career: your coding ability and, to some degree, financial outcomes, will be associated with the success of your company (we infer better coding ability in someone who was an early engineer at Uber than we do a random unknown startup, despite having no knowledge of their actual contributions).

Even if you don't care about that, and never intend to be a founder, your understanding of the business you're in allows you to offer suggestions and prioritize work in alignment with economic opportunity. It may not feel like much, but as the person closest to the code, you have a tremendous amount of autonomy to the final experience delivered:

As you advance in autonomy, you will even get to pick the projects you work on and to pitch new initiatives that you eventually own (this is a GREAT career move).

If you read the story of how Google Maps' Satellite view was almost named "Bird Mode", you will understand how your broad ranging powers even come right down to product names.

A well run company will not put you in this position, but when the chips are down, Developers are designers and product managers of last resort.

As you increase in seniority, you will also have to grow in your business judgment. In fact, taking a glance over every Engineering Career Ladder will tell you how important your business impact is to your career advancement.

Finally - the technologies that you work with are also strongly influenced by their economic incentives. "Free and Open Source" does not mean "Free of any commercial considerations" nor does it mean "Open Direction decided by Direct Democracy". The platforms you run on (whether it is the browsers or the public clouds, databases, payment/fulfilment platforms, or even language distributions) all have massive (I'm talking 10 figures and up in some cases) investments.

Software is Eating the World

I am assigning this to you as required reading. In 2011, Marc Andreesen wrote "Why Software is Eating the World" which set out the foundational thesis of his venture capital firm. It foretold the rise of massive software businesses in the decade since, and made the case for why every industry is now in the business of software. Marc has since updated this with takes on healthcare, biotech and crypto.

This is now widely understood in the software industry and you should at least be aware of it even if you disagree with it. (Though it does make the software engineer the center of the new world.)

Horizontal vs Vertical

The basic split in tech strategy you should be aware of is Horizontal vs Vertical businesses.

If you work on infrastructure you might be familiar with "Horizontal vs Vertical scaling". This is different. Here we are talking with respect to your customers:

You'll also run into two other typical analogies offered to describe this divide:

None but the most disciplined businesses are 100% horizontal or vertical. There is usually a healthy debate within the company as to which direction to pursue, as both are valid ways to grow. But pursuing both signals lack of vision, inability to accept tradeoffs and will lead to problems in resourcing, product development and sales and marketing.

You'll also hear this idea applied to other aspects of business - Horizontal vs Vertical Integration, Horizontal vs Vertical Acquisition, and Horizontal vs Vertical Strategy. They are all variants of business expansion along one of these lines.

Business Models

The next dimension you should be aware of is business models. Quite simply, this answers the question of "who pays?", "what directly makes revenue go up?", and, not often enough, "what must you spend money on?"

The most common ones you should be aware of are Agencies, Advertising, Subscriptions, and Marketplaces. Most other companies that employ software engineers have aspects of some of these embedded within them. I cannot possibly do justice to them in the space I have here, but I will at least introduce them here and try to give you what you need to learn more.

Agencies

The Agency model is the most common one for small teams. I don't have numbers for this, but my guess is it is responsible for most tech jobs as well.

Ideally, you should be trying to get the most done per hour, but cynically, bad incentive systems can lead to just booking more hours. The common thread is that your income isn't fully pinned to the success of your client's business, which is sometimes a feature and often a bug of the Principal-Agent Problem. Despite its flaws, agencies are still so popular simply because of the sheer amount of work that needs to be done, and the specialized talent needed to do certain high-skill types of work.

Advertising

The Advertising model is next most common. Here you make money from getting more traffic to your site, or usage of your product, and selling advertiser spots.

Most social networks and news/opinion sites run this way, though there is an absolutely massive assortment of marketing technology to help ad buyers find the best ad inventory for them. Because end users pay nothing and advertisers pay for access, the derisive view is that "Users are the Product". However this may not always be a negative - the Wirecutter and the Points Guy are both well regarded high quality content sites that make their money from affiliate marketing, which is just a reformulation of performance based marketing.

Subscription

The next most common type of business model is Subscriptions:

Since users directly pay for the software/content/membership, and can walk away at any time, the incentive alignment is clear - use subscription revenue to make a better offering, which helps drives more subscriptions, which helps finance a better offering, and so on. Since digital content can be replicated infinitely, the gross margin and therefore cashflow of these kinds of business is high. To grow, the business has to grow its marketing funnel, increase conversion rates, keep a lid on cost of content (e.g. revenue sharing with content creators), and decrease churn.

Most subscription businesses are a buffet - pay your subscription, and you can consume all-you-can-eat. This has an inherent flaw - some people just eat a whole lot more than most. This is expensive to support and essentially the lighter users subsidize their "abuse" of the platform (by bringing down average usage). Therefore all subscription business eventually start charging per-seat, and then find their way toward some form of metered billing (using some form of value metrics).

Marketplaces

Marketplaces are the hardest software businesses to build, and therefore there are fewer of them than other kinds of business. However, once established, they exhibit gobsmacking dual sided network effects, which makes them very valuable.

Marketplaces match buyer and seller, just like their offline counterparts. The marketplace gives both sides an assurance of liquidity (buyers can find what they want, sellers can sell what they have or the marketplace will die) and quality (buyers are good customers, sellers must meet standards, or they get kicked off the platform). In exchange, it takes a fee, from either the buyer or seller. Because the fee typically is a percentage of the money that changes hands, this is called a take rate and marketplaces want to grow the Gross Merchandise Volume it is based on. Take rates range wildly based on platform power - Gumroad charges 3.5% while Apple and Google's app stores take 30%.

This model sounds simple, but there are a lot of ways to make additional revenue. For example, suppliers often pay certification or listing fees, or they could instead be paid to join. It turns out that the marketplace's own site is prime ad space, while customers will pay for better service, so it is true that you can build both an entire advertising business AND an entire subscription business INSIDE a marketplace business, both of which Amazon has done.

In a way, this is the business model to end all business models, because you essentially now run your own economy.

Two final, major advantages you need to know:

These benefits don't come free - marketplaces are hard to build for a few reasons:

One way to get past many of these issues is to be your own supplier - so that you only grow the demand side of the market. You could view all ecommerce businesses as "one-sided marketplaces", although the trendy term for this is Direct to Consumer or "D2C".

Platforms and Aggregators

I've used the word "Platform" a couple times without definition. The word is horrendously overloaded, so that you can never really be sure what is meant without more context. When it comes to the business of software, though, you can do a lot worse than listen to Chamath Palihapitiya quoting Bill Gates:

I was in charge of Facebook Platform. We trumpeted it out like it was some hot shit big deal. And I remember when we raised money from Bill Gates, 3 or 4 months after — like our funding history was $5M, $83M, $500M, and then $15B. When that \$15B happened a few months after Facebook Platform(...) Gates said something along the lines of, “That’s a crock of shit. This isn’t a platform. A platform is when the economic value of everybody that uses it, exceeds the value of the company that creates it. Then it’s a platform.

He's right. And because Platforms are such tremendous economic centers of gravity, we need to differentiate them from your average, run-of-the-mill marketplaces (which, I hope I have established, are powerful economic engines already).

The 3 most important platforms of all time are Windows, iOS and Android. Per Ben Thompson, it's no coincidence that both are operating systems:

Platforms exist on a higher level than business model - for Windows it was licensing, where for Google it is ads. Yet the 2 sided nature of a Platform makes it seem like a Marketplace, and Bill Gates' definition seems comparable to GMV.

But Platforms don't play the transaction volume game - their M.O. is to look at the most critical usecases and to build them out as subsequent products. Windows built out Office (Word, Excel, Outlook, etc), and then Windows Server. Google built GSuite (Docs, Sheets, Gmail, etc), and acquired YouTube.

A contrasting economic model to Platforms are known as Aggregators.

Aggregators

Aggregators are the main characters of Aggregation Theory, defined by Ben Thompson.

Note: If this seems strangely focused on the theories of one person, it's because Ben has shaped the entire zeitgeist of tech with this theory, to the point of being quoted at Apple keynotes - so I feel no choice but to have to introduce it to you.

Aggregators must have three characteristics:

Aggregators take advantage of a fundamental shift in power enabled by the Internet and the digital economy. Because the marginal cost of digital goods is zero, the ability to generate profits has shifted from companies that control the distribution of scarce resources (Suppliers) to those that control demand for abundant ones (Aggregators).

If you aggregate users, you call the shots. This means great user experience is paramount, and explains the tremendous amount of investment in web and mobile clients over the past 10 years. (One answer to why React developers are strangely in demand.)

Levels of Aggregators:

  1. Supply Acquisition - they have a great user relationship, but buy their supply, e.g. Netflix and Spotify. Content cost is a concern.
  2. Supply Transaction Costs - they don't buy their supply, but pay some marginal costs to bring suppliers onboard, e.g. Uber and Airbnb.
  3. Zero Supply Costs - they don't buy their supply, and incur no supplier acquisition cost, e.g. Amazon.
  4. Super-Aggregators - they have at least three sides - users, suppliers, advertisers, and zero marginal costs on all of them. E.g. Facebook (with Instagram), Snapchat and Google.

Platforms vs Aggregators

It can help to situate these two models by contrasting them. I'll point you to Ben's writeup on his site:

Platforms (e.g. Windows) are critical for their suppliers (e.g. Windows apps) to function, Aggregators (e.g. Google) aren't critical for their suppliers (e.g. websites) to function.

Platforms facilitate a relationship between users and 3rd-party developers, while Aggregators intermediate the relationship between users and 3rd-party developers.

Platforms help people do things (aka Bicycles for the mind), Aggregators do things for people.

To find more information, you can read Ben Thompson's body of work - be aware, his definitions changed between 2015 to 2019. Also, the commonly accepted usage of the word "Platforms" also encompasses Aggregators.

One final point is relevant for us - Both Platforms and Aggregators make it so much easier for suppliers to reach customers that it enables new types of businesses to be created atop them. Apple, Microsoft, YouTube, Amazon, Teachable and others have all minted millionaires and developers can make a great living working on them or for them.

Other Strategic Perspectives

As you might see, the analysis of what drives the rise and fall of tech companies can get very nuanced indeed. Though tech giants get all the limelight, good ideas are fractal, and you can apply them in smaller contexts within your professional network, language ecosystem, and internal company politics.

I haven't any room left but want to point you to a few more interesting dynamics you can investigate on your own: