Dear friends,
In JC’s Newsletter, I share the articles, documentaries, and books that I enjoyed the most in the last week, with some comments on how we relate to them at Alan. I do not endorse all the articles I share, they are up for debate.
I’m doing it because a) I love reading, it is the way that I get most of my ideas, b) I’m already sharing those ideas with my team, and c) I would love to get your perspective on those.
If you are not subscribed yet, it's right here!
If you like it, please share about it on social networks!
💡Must-read
👉 Bill Gates: “Challenges and Strategy” (Internal Tech Emails)
Every year I set aside at least one “think week” to get away and update myself on the latest technical developments - reading PhD theses, using competitive products, reading books, newsletters and anything I can get my hands on.
I enjoy these weeks a great deal - not because I get away from the issues of running Microsoft but rather because I get to think more clearly about how to best lead the company away from problems and toward opportunities.
➡️ I love that, and I’d like to do it more. I usually do it during holidays, but this is different; I should do better and dedicate a week to it.
Recently a long time employee mentioned that we seem to have more challenges facing us now than ever before. Although I agree that it feels that way I can say with confidence that it has felt that way every year for the last 15. We decided to pursue a broad product strategy from the very beginning of the company and that means we have a lot of competitors.
➡️ No matter how much we grow, it will remain very hard!
Generally when we enter a product category, we innovate. Even if our first version is not a winner, we establish a position from which we can make further improvements.
➡️ It is very rare that v1 is a winner, so the question is how to start from a point and iterate.
Technology: Technical change is always a challenge for the current companies in a field. Even if they recognize that a change is taking place, they are tied to the past. New companies will move to exploit the opportunity.
The simplest summary is to repeat our strategy in its simplest form - “Windows - one evolving architecture, a couple of implementations and an immense number of great applications from Microsoft and others.”
➡️ Repeat, repeat, repeat strategy.
🏯 Other great articles on Microsoft strategy
👉 Bill Gates: I’m literally losing sleep over Java (Internal Tech Emails)
In the very long run they could make it more and more difficult for us to keep up. Even though the world is cross platform, we have more baggage, worse implementation and can’t keep up. This is NOT going to happen quickly however - we will get several more swings at them.
The new Java applications are NOT credible threats to traditional PC software any time soon. It is just insanity to think that they are. New things are NEVER a threat to the old world as soon as people start saying they are.
Look at the mainframe vs PC. It has taken us TWO DECADES and even after all that IBM still has billions in mainframe revenue.
Cool new technology always expands rapidly into NEW areas (where there is a vacuum).
Pundits always say that this is going to kill the old businesses - eventually that happens but never as soon as they say it will. It is a new and uncomfortable feeling to be the incumbent rather than the challenger in one of these battles. However, we must not panic.
The key thing is to come up with something which will be buoyed up by the rising Internet tide. Again, this doesn’t need to be some super hard technical problem - it is more about being creative and finding an opportunity.
➡️ We always overestimate the change that will occur in the short term and underestimate the change that will occur in the long term.
👉 Microsoft Acquires Activision Blizzard, Notes on the Acquisition, An Interview With Microsoft Gaming CEO Phil Spencer (Stratechery)
Our aspirations to reach three billion people on the planet who are playing video games today.
➡️ Gaming penetration is very, very high. Gives some thoughts around gamification.
I think most free-to-play games benefit both from other players being the content in the game and their access to the widest top of funnel as possible.
We want a river of content coming to our platform and that only happens if our own first parties help prove the pump for us to make sure that our platform has the capabilities that creators need.
➡️ The importance of creating platforms for creators.
I think that every game should be available on any screen I want to play it on. Now that doesn’t mean every mode of every game is completely fit for every screen.
👉 Microsoft Keeps Its Finance Head Count Flat With AI, Bots and Other Tech (The Wall Street Journal)
Our first foray into machine learning was in the forecasting arena.
Forecasting is something that every finance group does, regardless of company or organization.
For most, it takes a lot of time. For most, it’s a lot of heavy lifting in Excel, and it was for us as well.
Just to put that in perspective, we typically would spend about three weeks every quarter building a forecast, and we would involve a thousand people in that process, creating Excel spreadsheets in all of our subsidiaries and in all of our product teams. And then bubbling those forecasts up until they reach the CFO.
We introduced machine learning back in 2015, and within two quarters we realized that our algorithms were not only performing as well as the human-based process, but we cut our variance rate in half from about 3% to 1.5%. [Now], we can actually turn those models around in about 30 minutes.
We then push the insights out to our people around all of our subsidiaries. They still have a chance to look at them because they bring unique knowledge of local markets.
We’ve branched out and employed Machine Learning in things like compliance. We employed it in speeding up our internal audit process. We employ it in predicting recessions. We use it in our treasury group for analyzing documents from governments around the world to understand possible risks. We use it even to identify which invoices can be automated and which need human intervention.
[For example] in our invoice payment space. We process thousands of invoices a month, and a lot of those invoices are from the same suppliers. What we found in doing that was that about 70% of all invoices could be automated. We trained a machine-learning algorithm to actually find the 70% and just pay them. The algorithm also says, “Hey, by the way, we’ve detected an irregularity or an anomaly in this geography, or in this specific [stock keeping unit] or product area.”
The downturn of 2008 and 2009 was a catalyst for us. There was a decision made here at Microsoft to keep our [finance] head count flat. We’ve now done that over the past decade. Over the same time frame, our revenue has [nearly] tripled.
➡️ Very interesting article on how to leverage machine learning to scale your organization.
👉 Microsoft Memo - Zero defects (Memos)
On the importance to target zero-defects code:
Zero-defects code is the Holy Grail of programming. We are not suggesting that this phantasm is attainable on the first try, but we think we know how to get there.
Zero defects must be the new performance standard for development. A “defect” occurs when something that is labeled “done” does not conform to the requirements. We need to understand our methods, and strive to improve them in order to prevent defects from happening, or recover from them if they do happen. You’ll be able to measure your success by the reduced time from code complete to shipping.
You can improve the quality of your code, and if you do, the rewards for yourself and for Microsoft will be immense. The hardest part is to decide that you want to write perfect code.
The problem: There are a lot of reasons why our products seem to get buggier and buggier. It’s a fact that they’re getting more complex, but we haven’t changed our methods to respond to that complexity.
➡️ How do we position ourselves on this topic of zero-defects code?
Changing the process:
Minimal success: Our scheduling methods and Microsoft’s culture encourage doing the minimum work necessary on a feature. When it works well enough to demonstrate, we consider it done, everyone else considers it done, and the feature is checked off the schedule. The inevitable bugs months later are seen as unrelated. By investing the minimum effort, we guarantee the minimum return.
We slip things because it’s easier to postpone bad news than to face up to it when it happens. This is “mentally lazy and morally weak.”
Schedules and other high winds: We forget that the schedule is not a product, it’s a tool. Its purpose is to predict when we will finish, so that other people can schedule their own work accordingly. The schedule has nothing (directly) to do with the quality of the product.
When the schedule is jeopardized, we start cutting corners. We worry about getting features implemented quickly.
We ignore warning signs that serious problems exist, or we cut “non-critical” items like size and speed tuning.
➡️ Very important to differentiate the tools (the methodology) from the outcome (which is what matters).
Tips to get to zero-defect:
Code that is too complex to understand should probably be rewritten; complex code can still be straightforward.
Lack of ownership: Under pressure, we tend to hunker down and just try to get our part of the job done. But part of the job is to stand up and look around. Each developer should take the responsibility to consider the entire product, use common sense, and not just take the spec as gospel.
➡️ I love this quote about considering the entire product.
Zero bugs every day: I mean this literally: your goal should be to have a working, nearly-shippable product every day.
This doesn’t mean that when you go home every night you have removed all the bugs from work in progress. It simply means that when a programmer says a feature is complete, it is totally complete: all error and boundary cases work, all interactions with the rest of the product have been dealt with, test documentation or code to exercise the feature are checked in.
Fix it now: Since human beings themselves are not fully debugged yet, there will be bugs in your code no matter what you do. When this happens, you must evaluate the problem and resolve it immediately. Remember that the goal is to have a perfect “clean” copy at all times.
Think twice before you code: You make hundreds of assumptions when you write a new routine, from the mundane (parameters of called subroutines) to the grandiose (how the user will perceive the feature). Experience has shown that many of these are wrong.
Minor changes are even worse, because the investment in time to fully understand the context of the change seems to outweigh the magnitude of the change. When we make assumptions, we must explicitly state them (with asserts or checking code).
A related problem is not taking the time to think about various situations at all. Incomplete understanding is a huge source of bugs, and has a simple fix: investments in understanding and thinking about the context of a change always pay off.
👉 Go Huskers! Email from the CFO of Microsoft to Warren Buffet (Buffett Raikes emails)
I think you would love the simplicity of the operating system business. E.g. in FY96 there were 40 million PC’s sold in the world, and about 80% of them were licensed for a Microsoft operating system.
Those 40 million licences averaged to around $45 per unit, for a total of about $1.8B in revenue.
The majority of the rest of the business is called the “finished goods” business.
A PC is just a razor that needs blades, and we measure our revenue on the basis of $ per PC. In RY96, nearly 50M PC’s were purchased and Microsoft averaged about $140 in software revenue per PC or $7B. This amount is in addition to the OEM royalty business I described above.
➡️ Insurance = operating system // Services = “finished good”.
There are a certain number of PC’s that get sold, a growing amount of Microsoft software per PC, the power to use the brand to sell even more software, some pricing discretion, international market growth.
We have about 90% share of office productivity software with Microsoft Office, and that is a great business (about $5B, also 85%+ operating margin).
➡️ It is possible to reach 90% market share.
🗞In the news
📱Technology
👉 Microsoft Build, Thick Versus Thin, AI Platforms (Stratechery)
There was a bit right at the beginning where Nadella explained how GitHub Codespaces — which puts your entire development environment in a browser tab — could be used offline.
It’s truly your on-the-go dev environment accessible across the cloud, locally on your machine with Codespaces and Windows Subsystem for Linux. You can save your changes and bring the entire environment to WSL locally, and when you go back online, you can commit your changes and return to Codespaces.
🏥 Healthcare
👉 HTN Weekly Health Tech Reads 1/23 (Health Tech Nerds)
Wah Yan penned a good piece on B2C versus B2B go to market strategies. It's an insightful piece on how the pendulum will inevitably swing back from B2C to B2B growth strategies. He identifies consumer trust in healthcare brands as a key element of these strategies - and given the Cerebral read below, it's easy to imagine how consumer trust could quickly erode in B2C digital health startups, opening the door for more B2B strategies. Link
Cerebral unfortunately continues to serve as the poster child for digital health growth gone awry. This Forbes piece covers how Instagram has pulled Cerebral's ads for ADHD meds for violating Instagram's policies around imagery promoting eating disorders. From the outside, this seems like a classic example of a dumb mistake by a company growing too fast without anyone asking whether a specific ad is a really stupid idea. These sorts of growth-related mistakes are ok in consumer tech world, but feel higher stakes when you're promoting ads encouraging eating disorders to peddle ADHD meds. Link
➡️ About the importance of B2B in healthcare, and the high standards of quality required.
👉 Big Health hauls in $75M to ramp up commercialization, launch new digital mental health therapeutics (Fierce Healthcare)
Big Health, the maker of app-based digital therapeutics for insomnia and anxiety, has locked in a $75 million series C funding round headed by SoftBank Vision Fund 2.
"Our digital therapeutics offer an equitable, safe and effective non-drug alternative at a huge scale, and our products are backed by leading clinical evidence, with more than 28,000 participants across our clinical studies.”
Founded in 2012, the company made its name with a cognitive behavioral therapy app called Sleepio. Designed to help users’ poor-quality sleep and insomnia, the digital tool has seen a wealth of employer adoption and supportive clinical evidence over the years, leading the company to release a follow-up for insomnia, called Daylight, in early 2019.
As of October, a launch to all Scottish adults through National Health Service (NHS) Scotland.
To date, the digital therapeutics maker has more than 10 million people using its products;
➡️ Very interesting to learn about them in terms of building clinical evidence and the importance of sleep as a feature we could work on.
It’s already over! Please share JC’s Newsletter with your friends, and subscribe 👇
Let’s talk about this together on LinkedIn or on Twitter. Have a good week!