Logo
Join the CTO Newsletter for free!
 
Amazing CTO Logo

Amazing CTO | More happiness and success
🚀 77.3

by Stephan Schmidt

Happy 🌞 Sunday,

Welcome to my opinionated newsletter. This week I have an article about Product Market Fit (PMF). This is the most important thing to get right for startups and grown-ups. If you get this wrong, development will suffer for years.

Also a video to be more open.

Insights:

  • 🗿 Meta uses a monolith for fast market entry
  • 🦹 Product Market Fit: Framework to make it successful
  • 🐛 Fixing All The Bugs Won’t Solve All The Problems
  • 😟 Anxiety and Procrastination

Good reading, have a nice Sunday ❤️ and a great week,

Stephan
CTO-Coach and CTO-veteran

🎁

If you only read one thing

The Arc PMF framework (16 minute read)

Product-Market-Fit (PMF) is the biggest company problem I see with my startup clients. Too often they skip finding PMF and then have a big problem with development, product management, sales and marketing. The article has the best PMF framework I have seen until now. It resolves around three PMF situations: (1) “Hair on Fire”: Solve a clear urgent problem, (2) “Hard Fact”: Solve universally accepted pain-point, (3) “Future Vision”: New reality through visionary innovation. Each situations needs a different approach on finding customers and making sales. Excellent!

https://www.sequoiacap.com/article/pmf-framework/

Video of the week

Video D&D

What a powerful video. We’re closed to others and new ideas. Like in hiring. Like in development. Like in the video. And then we are open and something wonderful happens that we would not have expected, like in the video.

Video of the week (3:55 minute read)

Graph of the week

Defects

Fixing All The Bugs Won’t Solve All The Problems (3 minute read)

“In software, as in manufacturing, some problems occur due to bugs or “special causes”, and some are “common cause” due to the nature of the system’s design and implementation. Fixing bugs is removing special causes. Removing bugs greatly improves software quality, but it won’t impact “common cause” issues.”

https://shermanonsoftware.com/2024/04/08/fixing-all-the-bugs-wont-solve-all-the-problems-demings-path-of-frustration/

🚀

Stories I’ve enjoyed this week

Meta Uses Monolith to Ship Threads in Only Five Months (12 minute read)

Now that the pendulum swings back, Meta does it (for an MVP at least). “The main backend component is a large Python codebase using a custom version of the Django Framework, named Distillery, that integrates with an older PHP component called WWW. The data is stored in TAO, a write-though cache that operates on a graph data model, which in turn uses UDB, a sharded MySQL deployment, that stores all the data. Additionally, the ZippyDB key-value cache stores transient data, and Async, a serverless function compute platform” Python and PHP and old components. Not cutting edge languages and frameworks. Deliver value. Make deadlines. Don’t get an arrow to your knee.

https://www.infoq.com/news/2024/04/meta-threads-instagram-5-months/

Forcing master to main was a good faith exploit (2 minute read)

I disagree with DHH here. Having used RCS,CVS,SVN,HG and Git for decades, the change was easy, and today I even feel main sounds better. Astonishing. He thinks he was tricked and will not be tricked in the future. One bad pattern I see with companies, they overreact to events with culture changes, process changes, role changes. I call this a company trauma. Taken together, this is an overreaction. The unintended consequences of this are often bigger than the problem they wanted to solve. A large company had serious stability problems and increased stability measures in development. The resulting reduction in risk appetite did cost them several markets because they no longer where innovative. Don’t overreact.

As a sidenote: What to expect from groups who define themselves by an ideology? One will always find a way to look purer, until [see end of French Revolution]. What does the parliament do, create more laws. Because this is their identity. Laws. So they create laws. Just like developers. Sometimes it would be good if developers would just play table soccer (“Kicker”) instead of writing more code, that will become technical debt soon. But they write code. My nature is that of a Scorpion. So whatever identity you create (“process implementation group”), they will not stop. Be careful.

https://world.hey.com/dhh/forcing-master-to-main-was-a-good-faith-exploit-b21ee30c

Your (Graph) Data Fits in Memory (8 minute read)

It’s like this. You’re stuck with a mental model of technical capabilities when you first grow in this industry. I still think memory is valuable, I grew up with 40k of memory. Often developers are stuck with outdated mental models they acquired. Today’s computers are very fast and have lots of memory, what data could you put completely in memory for 10x performance?

https://jazco.dev/2024/04/15/in-memory-graphs/

A comprehensive list of 2023 & 2024 tech layoffs (10 minute read)

And there are many. The jury is still out, over hired or anticipating the coming AI wave?

https://techcrunch.com/2024/04/15/tech-layoffs-2023-list/

Code Reviews (29 minute read)

A very thorough article on code reviews. Lots of CTOs do them the wrong way. “CTOs?” you might ask? Yes, if the CTO doesn’t give guidance on code reviews, developers will review code just as they see fit—it might end in “I would have done it differently” As in the article, have a checklist with the real things that need to be reviewed.

https://vadimkravcenko.com/shorts/code-reviews/

Not only xz - More software projects may have been targeted for sabotage (5 minute read)

After xz nearly made it into every SSH in the world, there seem to have been more attempts to get exploits into open source packages, this time, again, javascript. Not that Javascript is the only ecosystem vulnerable (how many dependencies does your application use? 10x more deps == 10x more risk), but the tendency for every project to have a huge amount of dependencies, high market share, weak NPM governance and bad tooling (whenever I install something with NPM, I’m warned of dozens of open security problems) make Javascript (Typescript) the primary target. I feel Rust or Go are much different.

https://www.reuters.com/technology/cybersecurity/open-source-groups-say-more-software-projects-may-have-been-targeted-sabotage-2024-04-15/

Investors are growing increasingly wary of AI (6 minute read)

The pendulum swings, as it always does. The pendulum you depend on, in which direction is it currently swinging?

https://techcrunch.com/2024/04/15/investors-are-growing-increasingly-wary-of-ai/

Anxiety and Procrastination: What to Do About It (16 minute read)

Anxiety (+) Procrastination

https://solvingprocrastination.com/anxiety/

Free for developers (6 minute read)

List of free (cloud) resources for developers. Good to know if you’re small. Or want to leave your current job to do your own thing. I found the list handy.

https://free-for.dev/#/?id=major-cloud-providers

Programming Language Scalability (10 minute read)

Several times I’ve tried to get into Ruby and Python code bases that I have not written. Without type annotations - at least for me - it’s very difficult to get a quick and thorough understanding of the code. The article pins it on meta-programming. Onboarding new people is a pain. With increasing turnover due to remote work, this pain becomes more painful (ha!). The article agrees, Ruby and Python don’t scale.

https://blog.sulami.xyz/posts/programming-language-scalability/

The UX of UUIDs (8 minute read)

A simple code change from this 5727a4a4-9bba-41ae-b7fe-e69cf60bb0ab to KSPKGySWPqJWWWa37RqGaX or re6ZkUUV in URLs. It’s easier to copy - imagine during development or testing how often developers need to copy IDs. And customers. And it looks much less threatening and technologist to users. Win. Win. Win.

https://unkey.dev/blog/uuid-ux

Join the CTO newsletter!
Impressum