The Trap of Overengineering

The Trap of Overengineering

?? Subscribe here?for emails every Sunday FIRST

?? Why your team reads your mind

by Stephan Schmidt

Happy ?? Sunday,

This week I need your?#HELP. The newsletter currently takes a full day to create, with reading, selecting, cutting and opinionating. And I chose an expensive provider, so I can reduce tracking as much as possible. I’m offered sponsorships for the newsletter, but I don’t take money as I don’t want to sell my readers—and never will. So - awkward pause—I’m not asking for money, but you could help me a little in a different way.

This week I put my book?“Amazing CTO”, which was a #1 bestseller on Leanpub, on Amazon. If you do enjoy my weekly comments in the newsletter and if you did like the book (if not, tell me!), it would help me a lot if you could leave a short review ??

HERE ->?Amazon.com?HERE ->?Amazon.de

(not sure why the DE english reviews don’t show on com, software!)

You’re the best! Thank you

Some readers already left a review, thanks to you too!


Welcome to my opinionated newsletter. This week’s insights

  • ?? People can read their manager’s mind
  • ?? How to Lead Your Team when the House Is on Fire
  • ?? On over-engineering

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

Stephan of Amazing CTO


??

If you only read one thing

?? People can read their manager’s mind (9 minute read)

Worth repeating this one?“People generally don’t do what they’re told, but what they expect to be rewarded for.”?If your management doesn’t work, people don’t do the things you want them to do and you’re struggling with developers, this probably is the reason.

https://yosefk.com/blog/people-can-read-their-managers-mind.html

??

Stories I’ve enjoyed this week

?? How to Lead Your Team when the House Is on Fire (13 minute read)

I wouldn’t call the scenario from the article?“house on fire”, the article describes the “normal” startup life. After having the “house on fire” several times as CTO, this is a different kind of beast. But I digress. Or perhaps not. If the house is on fire, first thing,?tell everyone. CTOs often don’t tell, “the house is on fire, the website is down” or ‘we’re suspect being hacked." More often I get clients who get performance complaints from their CEO, and we discuss what to do. I ask them if they told the team that they expect performance (“house on fire,” or otherwise better join a large enterprise). No? Well, first thing, if you expect high performance, say so (and act accordingly). On fire? You’d think everyone knows what to do. Once during a fire alarm, devs ask me what to do. “Leave the building?” was my response. Yes, obvious, but not to everyone. Same with performance. Declare “the house is on fire” if it really is (incident, running out of money, being hacked, …) Back to normal times, the article goes into more details on what to do?as an engineering manager in general, good points, on fire? You decide.

https://peterszasz.com/how-to-lead-your-team-when-the-house-is-on-fire/

?? On over-engineering - finding the right balance (10 minute read)

“A big debate among developers is whether to write code for today’s problem or to build a general-purpose solution for future needs.”?If you can predict the future, don’t build software, play the lottery. Build for the problems you can see in the next 12 months, not in the next ten years. The article goes into more details on that trade off.?It’s crucial your engineers and managers understand that there is a tradeoff?between future proofing and locking you into a direction with added complexity.

https://www.16elt.com/2024/09/07/future-proof-code/

Just for Fun. No, Really. (6 minute read)

“There are hackers who just love the art of building software.”?But they might not work for you. Why? Because?“if one is used to consuming other software only, and rarely creating any”?in your company, they are not creators. They build other people ideas and dreams. A long time ago, coders where creators. Then this was taken away from them. And therefor they don’t work for you. If you want the best coders to work for your, with their heart in the work and not a side project,?make them creators.

https://justforfunnoreally.dev/

In the labyrinth of unknown unknowns (15 minute read)

Everyone laughed on Rumsfeld for this. And either you’re pro, or contra, or don’t care, or don’t know, but his “There are unknown unknowns” is a good way of thinking about some things (->?Johari Window).?“A Quality Assurance (QA) engineer walks into a bar. Orders a beer. Orders 0 beers.”?Haha. What has this to do with unknown unknowns??“The first real customer walks in and asks for a light. The bar bursts into flames, killing everyone.”?You don’t test the unknown unknowns. You don’t test the unknown unknowns of the market. Or that candidate you’re interviewing. In terms of QA? Make them do exploratory testing, not executing test scripts (or write automated tests, devs need to do that, you know that, don’t you?)

https://www.antithesis.com/blog/unknown_unknowns/

What I Gave Up To Become An Engineering Manager (13 minute read)

Some misconceptions about being an engineering manager. The gist of the article is - somehow, “I gave away things I love, but I got other things instead”. The first example is?“Building Things”. I do see this too often, managers giving everything away that they love and then after years they hate their job.?NO!?Keep the things you love and make it happen instead. Keep coding those prototypes or spikes or do R&D scouting. It also relates to the “Founder Mode” from the last newsletter. People tell you how to be professional, but they never walked your shoes. Keep the things you love.

https://emdiary.substack.com/p/what-i-gave-up-to-become-an-em

Tetris in SQL (52 minute read)

Amazing what you can do in SQL. It is clear this doesn’t make a lot of sense. Often it’s not so clear-cut. There is a fine balance for a senior developer to strike. How much do you bend tools?Just Use Postgres for Everything - https://www.amazingcto.com/postgres-for-everything/?) vs. when to use new tools. On the one hand you might create Tetris for SQL, on the other extreme you end up with a large tech zoo.?Also, Tetris has the Guinness world record of officially running on the most systems.?We have to +1 this.

https://github.com/nuno-faria/tetris-sql

A Startup CTO Cheatsheet (28 minute read)

Not sure if I agree with all points, but it has good points and shows how much the CTO role changes during the growth of a startup. Prepare for change. From coding, to hiring, to team manager, to visionary and executive. A roller-coaster journey, next to the CEO probably the most demanding startup position.

https://testrigor.com/blog/a-startup-cto-cheatsheet/

Swift is a more convenient Rust (10 minute read)

Beware HTTPS is broken on that link. Swift is underrated me thinks. Playing around for some time with Swift on Linux, it seems the nicer Rust. Rust is still king for correctness and IoT with low memory and more control, but Swift is more convenient. I predict a great future (Also Ladybird switched to Swift

https://blog.namangoel.com/swift-is-the-more-convenient-rust

Interesting point in the article, *“Rust is a low-level systems language at heart, (but it gives you the tools to go higher level. Swift starts at a high level and gives minute read).)

https://xcancel.com/awesomekling/status/1822236888188498031?).

Tests and Sensibility - Surprisingly, some devs don’t test (17 minute read)

Comma in the URL. Looks strange, but to the article.?“Surprisingly, some devs don’t test”. My experience exactly. I once needed to demand that every dev adds a comment to each ticket on what browser they tested what (Kindergarten of course, but it worked, and we could drop that rule after some months). Why don’t some developers test? Some time ago I wrote?“Tests Are Bad For Developers”, go read it if you haven’t. The article here adds some common points,?“It worked when I tested it”?(So?),?“Testing takes too long”?(Rewrite tests, use a faster language, Go is so much faster for executing tests), and?“we have a QA team, so testing is their job”. The last point especially is a concerning one. I once heard a story, “My secretary always makes typos, so I need to read every letter.” You got it wrong, they made all the typos because you did read the letter and correct the typos for them. You have bugs in production not despite QA, but because of QA. Developers are responsible for quality, not QA. They need to prove that their code does what they say it does,?no one else needs to do that for them.

https://www.mindful-coding.com/softwarequality,/testing/2024/08/29/Tests-and-Sensibility.html

Stop Scanning Random QR Codes (20 minute read)

Scammers put QR codes on parking lots to gather payments, because people just scan & pay. The link could also lead to a malware site, of course, people still scan. I once had an excellent security engineer, she let USB drives lie around at the printer to see who would put random USB drive in their machine autostarting/clicking on “malware.” Today she would probably put QR codes up in the office to see who scans random QR links inside the company that could contain malware and exploit the internal network. I have a very basic security introduction for all new hires, which includes “don’t put in any USB drive” (if I can’t control the ports, if I can I lock the ports) in their machine. Today I’d add QR codes.

https://gizmodo.com/stop-scanning-random-qr-codes-2000492837

The Art of Finishing (17 minute read)

“An unfinished project is full of intoxicating potential. It could be the next big thing”?Yihaa! This is so true for many things, startups included. As long as we keep things in limbo, they could be world changing. When we finish, they are what they are. I would not have finished my last book without the kick from my wife. Because finishing makes things real. It’s like opening Schr?dingers box. Puff. Same for features, and projects in companies. You keep working and working, living the fantasy.?“The illusion of productivity plays a significant role too. As long as you’re working on something, you feel productive. Jumping from project to project gives you a constant stream of “new project energy”?(Unsuccessful) Founders love that. If you have no vision and no strategy, you even don’t know when you’re done. So you keep jumping, feeling the new project energy.?“As I prepare to step away from my desk, I can’t shake a feeling of frustration [..] Despite my efforts, it feels like I’ve barely moved the needle.”?My tip: The key to happiness is “One thing a day” - do something every day, that moves the needle.?Plan in the morning, be happy in the evening. Back to the headline, you finish something every day (I even have a sign with this slogan on my wall). Believe me, this is world changing.

https://www.bytedrum.com/posts/art-of-finishing/

Want the newsletter one day early??? Free to your Inbox every Sunday???https://ctone.ws

Stefan Olaru

CTO | Architect | AWS | Serverless

6 个月

Stephan, as a new subscriber I can say I'm glad I signed up. Awesome content, keep it up! ??

Raja Nagendra Kumar

Tackling code complexity (Optimize CODE for NFRs) before layoffs can save 50-100% of jobs. The most brilliant cost-cutting measure you're not considering.

6 个月

Devs read the manager's mind is superb.. Hardly any over engineering I find in code reviews, most times it is under engineering as Devs follow the manager's shortcuts to claim DONE..

Stephan ?? Schmidt

CTO ⊕ AI Coach ? #1 book "Amazing CTO" ? Podcast Guest ? Keynote Speaker ? ex-eBay ? ex-ImmoScout ? Helping CTOs with everything - just ask!

6 个月

What do you think on #overengineering?

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

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 条评论

社区洞察

其他会员也浏览了