Why you need a macro architecture - The CTO Newsletter

Why you need a macro architecture - The CTO Newsletter

Happy ?? Tuesday,

Welcome to my opinionated newsletter. This week’s insights

  • ?? Why you need a macro architecture
  • ?? What is the OCTA Metapixel?
  • ?? Brilliant Jerks in Engineering

Good reading, have a nice Sunday ?? and a great week,

Stephan CTO-Coach and CTO-veteran

??

If y

Architecture is so difficult. Either CTOs don’t give guidance, or they give too much guidance. Either there are no architects and planned architecture, or they are micromanaging developers. The way out is a macro architecture. Enough guidance to make systems work, not too much guidance for developers to lose ownership and responsibility.

https://owehrens.com/why-you-need-a-macro-architecture/

Yor inner nerd

This is the most amazing tech thing I’ve encountered the last weeks. You might know the “Game of Life” where the life of pixels depends on their neighbours. I wrote a Game of Life simulator in the 80s as a kid and watched patterns for hours. The Game of Life brings up patterns and blinking things and gliders that move across the matrix. The OTCA metapixel is a very complex game of life pattern, consisting of thousands of pixels, which acts just like one pixel, a meta pixel. It sends a train of spaceships around itself to detect the number of neighbouring pixels and then changes state depending on the number of alive neighbours. This is so amazing. And you can build an OCTA metapixel out of OCTA metapixels, and you have a meta-meta pixel. You can see the metapixel running here: https://oimo.io/works/life/. You can spot the train of spaceships running around the metapixel (clockwise). More explanations here https://blog.amandaghassaei.com/2020/05/01/the-recursive-universe/ This was for your inner nerd.

https://conwaylife.com/wiki/OTCA_metapixel

??

Stories I’ve enjoyed this week

The Doom Loop: Reduced Performance → Monitoring by Employer → Loss of Trust → Perform to Metrics → Reduced Performance. The Boom Loop: Engaged Employees → Focus on Outcomes → Flexibility → Increased Trust → Engaged Employees. Go for the Boom Loop.

https://sloanreview.mit.edu/article/return-to-office-mandates-how-to-lose-your-best-performers/

You might be tempted to hire brilliant jerks. On rare occasions (very rare!) this makes sense. Mostly, don’t. They’ll disrupt the teams, make everyone miserable, leave broken code when they lose interest and can lead to rebellions amongst developers (Once a developer told me, “I will not work with that person anymore”—ouch). Read “The problems caused by brilliant jerks” and “Dealing with brilliant jerks”. And when to hire one.

https://www.brendangregg.com/blog/2017-11-13/brilliant-jerks.html

On the distinction between the “innovation challenge” and the “execution challenge” in startups. Many startups I have seen, think they have an innovation challenge but have an execution challenge — you’re not doing rocket science! “Innovation challenges are rare. Most startups want to believe — or want their investors to believe — that they’re tackling these kinds of problems, but don’t believe the bullshit.” This misunderstanding often leads to the wrong decisions, sometimes for the systems chosen by the CTO. (It doesn’t mean you should not innovate, do it, push it!) What sometimes bothers me, is when a CEO tells people they are a tech company with innovative products, then 10 out of 80 people are developers. You’re not a tech company, obviously. Probably a marketing machine.

https://jacobian.org/2020/feb/18/innovation-execution/

Changing code during an interview. In this case for memcached. Show them the tool and ask the candidate to add one feature. Make the developer log into a system with SSH and change the code (in a VM). This should make it much more difficult for the candidate to use ChatGPT. And it tests for code reading and understanding, something most interviews miss, although much of development work is reading your (old) code and other peoples code to form a plan what to do.

https://quuxplusone.github.io/blog/2022/01/06/memcached-interview/

Kent Beck, one of the forgotten masters. A deep exploration of system design as an island. Interesting to read, not sure if the metaphor is stretched too much, but it is an interesting perspective. Given that many companies have self-emerging, chaotic system designs, every guidance is good in my book.

https://tidyfirst.substack.com/p/design-is-an-island

“Ah, but the audience booed the loudest at this statement: ‘I actually think that AI fundamentally makes us more human.’” Someone didn’t read the audience well, I guess. Is this the first backlash? Not that it matters, AI drives down costs so much, that nothing can stop it. But, for starters, people are booing (and others are destroying self-driving Waymo cars). This will get much uglier. And everyone is unprepared.

https://www.honest-broker.com/p/they-praised-ai-at-sxswand-the-audience

On one hand, I rewrite my Python scripts into Go, because I know Go and because it Go easier to execute, without libs and virtual environments. It might be easier if everything is in one language. Once in a large company, one small part was written in Ruby. The one Ruby developer out of dozens of developers leaves the company and the code has a bug. Me and another manager then tried to fix the code! On the other hand, some of the arguments go (ha!) away when you use ChatGPT to update and change the scripts—you don’t need to know Python then. The scripts for this newsletter are mostly written by ChatGPT.

https://joaomagfreitas.link/scripts-should-be-written-using-the-project-main-language/

Company is in a difficult situation, so we reorg. “New operating model aims to reduce hierarchies, eliminate bureaucracy and accelerate decision-making processes” But of course this will not work. There are no magic wonders. Too often I see this with CTOs, “if we do this, everything will change”, or CEOs, “if we release this feature, everything will change”. No, it won’t, and the reorg will not bring the benefits Bayer hopes for. Or needs.

https://www.bayer.com/media/en-us/bayer-aims-to-sustainably-improve-performance-with-new-organization/

I wonder if this is the future. Moving development to the cloud. More powerful compiler systems than your desktop. Logging in from wherever you are with whatever device you have. Faster onboarding of new developers. Easier interviewing. A friend of mine has been doing this for years. Is this for you? But I struggle with the concept, as I see downsides. Perhaps I need to run https://www.octobench.com to see Go compilation speeds in the cloud.

https://www.infoq.com/news/2024/03/discord-cloud-development-env/

As I’ve said, there will be no more developers or software at all. The future is more like Star Trek with one software “We can get a report every single day, or you know, top of the hour that has something to do with a build plan, or some forecast, or some customer alert, or some bugs database or whatever it happens to be” A big data lake and an LLM that answers questions, send emails, by itself or on command. “What should we do to increase revenue?” “Upsell to our best customers.” “Make it so!” No code written.

https://www.theregister.com/2024/03/19/nvidia_why_write_code_when/

“The Reitoff principle gives us permission to ‘write off’ a day and intentionally step away from achieving anything.” I stepped away from writing my book ( https://ctobook.dev ) and it felt great! Add nothing to your schedule works. And the world does not stop if you do. Too often CTOs think the world stops if they don’t hand hold everyone and everything all the time. It doesn’t (and if it does, you haven’t delegated enough). This most often comes to light, when CTOs want to go on a two-week vacation for the first time.

https://bigthink.com/business/the-reitoff-principle-why-you-should-add-nothing-to-your-work-life-schedule/

Prepare for incidents. It’s much easier to go into an incident prepared than unprepared (I know!) An interesting piece about silence in incidents “Silence can mean different things to different people in different situations. In this post, I’ll present a few incident scenarios and explore the role of the incident commander in breaking (or simply abiding in) dead air.”

https://blog.danslimmon.com/2024/03/18/dead-air-on-the-incident-call/

This is the future lever of many companies for RTO (return to office) policies. You work remotely now, but if you don’t come back, you’ll not get promoted. And salaries. A company I’ve worked for used salaries and promotions every year to get employees to sign new contracts. You don’t sign the contract, you don’t get more money. Now RTO.

https://www.hrgrapevine.com/us/content/article/2024-03-18-you-can-stay-remote-but-you-wont-get-promoted-dell-warns-employees

A long long text. With “The macro point that you started with is: programming isn’t just thinking; it’s thinking plus tactical activities like editing code.” to challenge the notion, that it is irrelevant to optimize some things, in this case typing. Though I don’t know, writing these lines, that I could write faster, because it is limited by my thinking. But who knows?!

https://danluu.com/productivity-velocity/

No. But if you start, and you have only a few developers, go with a Monolith. Make it modular, each module responsible for something, like checkout, containing all database code and web UI code. Modules communicate with a message bus. A “Modulith.” This way you get the easy setup, debug, deployment benefits of a monolith with some benefits of microservices, like developers not getting in each other’s way. More details in the article.

https://debugagent.com/is-it-time-to-go-back-to-the-monolith

要查看或添加评论,请登录

Stephan ?? Schmidt的更多文章

  • Why Apple fails with AI

    Why Apple fails with AI

    Top 50 list of things for building successful products by Stephan Schmidt Happy ?? Monday, Welcome to my opinionated…

    2 条评论
  • Ugly code over perfect code | Amazing CTO

    Ugly code over perfect code | Amazing CTO

    ?? Should you use Claude Code? by Stephan Schmidt Happy ?? Monday, Welcome to my opinionated newsletter. This week’s…

    1 条评论
  • `No more hiring developers` says Salesforce CEO

    `No more hiring developers` says Salesforce CEO

    ?? Zero Bug Policy - no more bugs? by Stephan Schmidt Happy ?? Sunday, Welcome to my opinionated newsletter. This week…

    3 条评论
  • WASM in - React out

    WASM in - React out

    ??? Infrastructure decisions: What works and what doesn't by Stephan Schmidt Happy ?? Monday, Welcome to my opinionated…

    5 条评论
  • If the CEO asks: How does DeepSeek-R1 work - a technology perspective

    If the CEO asks: How does DeepSeek-R1 work - a technology perspective

    ?? Subscribe here for emails every Sunday FIRST ?? Job trends for different technologies by Stephan Schmidt Happy ??…

  • How to organize your teams + The tyranny of structurelessness

    How to organize your teams + The tyranny of structurelessness

    ?? To-Do ≠ To-Think | by Stephan Schmidt Happy ?? Sunday, Welcome to my opinionated newsletter. This week’s insights ??…

    5 条评论
  • OKRs == delivering the roadmap?

    OKRs == delivering the roadmap?

    ?? Killed by LLM by Stephan Schmidt Happy ?? Sunday, Welcome to my opinionated newsletter, today I have something…

    7 条评论
  • Weak vs. Strong Engineers | Beware of the scheming AI

    Weak vs. Strong Engineers | Beware of the scheming AI

    by Stephan Schmidt ?? Don't use fake deadlines ?? Subscribe here for emails every Sunday FIRST Happy New Year! And a ??…

    3 条评论
  • Why Europe has no trillion dollar company

    Why Europe has no trillion dollar company

    How to organize communication in startups by Stephan Schmidt ?? Subscribe here for emails every Sunday FIRST Happy ??…

    5 条评论
  • ?? 100th Issue! Why Your PR Process is Killing Morale & The Contagion Window

    ?? 100th Issue! Why Your PR Process is Killing Morale & The Contagion Window

    by Stephan Schmidt ?? Subscribe here for emails every Sunday FIRST Happy ?? Sunday, this is the 100th issue of my…

    4 条评论

社区洞察

其他会员也浏览了