
Principal Engineer at Thoughtworks Spain. Tech Leadership, JS and JVM stuff. Mastodon: @kaeff@hachyderm.io
Joined April 2007
- Tweets5K
- Following837
- Followers600
- Likes1.3K
Pinned Tweet
I'd love to invite you follow & reconnect on Mastodon hachyderm.io/@kaeff
I stopped the syndication (well, it stopped working) and it's about time
Klaus retweeted
Browser Use: a new tool to connect AI agents to browsers 🕵️🌐 Automated browsing, scraping and interacting with pages using LLM models.
Demo: "Read my CV & find ML jobs, save them to a file, and then start applying for them in new tabs, if you need help, ask me." 📑🔎👆
Klaus retweeted
Can a typo cause an epic incident? Sure thing, especially if some tools run rogue.
Short story about an incident at @ZalandoTech from 2022 that took down our site. #sre
engineering.zalando.com/post…
"Jen GenAI"
Exactly how I name my personas, too 😂
💡🌍 Wie können wir künstliche Intelligenz zum Nutzen der Gesellschaft einsetzen?
Verantwortungsvoller Umgang, globale Standards und die Herausforderungen an eine vernetzte Welt: Ein Gespräch mit Jen Gennai und Prof. Dr. Katharina Zweig #ChanceKI
Textbook example on strategic communication. Nadella pulls the full playbook of influencing techniques to say "yeah whatever, but we call the shots " podcasts.google.com/feed/aHR…
Tech Leads: Leadership & Management Aspects you should be aware of kaeff.postach.io/post/tech-l…
Would you agree? In large orgs, "Stream-aligned" depends on your granularity level of the value stream.
Example: A developer platform's value stream is the software development lifecycle, so a stream-aligned IDP team serves one kind of developer's end-to-end needs
The only thing that excites me about SAFe is the prospect of someone's email footer saying "Release Train Conductor"
Accountability is a continuous conversation, not a one-off punishment. This 3-step process based on mutual respect helps the other see the patterns and impacts of their behavior, instead of alienating them with out-of-the-blue criticism
Do You Understand What Accountability Really Means? hbr.org/2016/10/do-you-under…
#ChatGPT was a step change for time to market expectations for AI-powered products. #MLOps platforms help you achieve it at scale. This guide captures the essence of the MLOps lifecycle, capabilities, biggest players and selection process. github.com/thoughtworks/mlop…
"Don't glue your legos" - great advice on standardization vs adaptability for building internal developer platforms #IDP
Klaus retweeted
There you have it, ladies, gents and enbies. The next time someone asks me how to get their leadership on board with testing in production, there's your answer:
"No, we aren't testing in production. We are practicing ✨proactive monitoring✨ with real datasets."
Replying to @mipsytipsy
testing in production is called “proactive monitoring” and pretty well known for decades, especially in “non-pure-software” world, like interfaces to hardware (phone systems, video, satellites, robotics,…).
Microfrontends for Mobile: At REA, 17 teams and 100 developers build and ship as independently as possible using the App-as-a-Platform architecture youtu.be/iMXH4_c3K_s?si=fRQ9…
Data migrations in distributed streaming architectures can cause complicated timing and consistency issues. Luckily, observability tools help to confidently migrate. Here's how we did a data-driven event type migration in a payment processing system youtu.be/txhomDsG44g?si=oOD_…
Too bad Google Podcast goes away. Using GP for weekly must-listens and AntennaPod for everything else. Liked the reliable auto-downloads, clean UI (but no chapter marks)
Humble Software Architecture Bundle: 15 of the best O'Reilly eBooks on architecture, distributed systems, microservices and APIs for 23€ until 25/09 humblebundle.com/books/softw…
Klaus retweeted
𝗗𝗲𝗳𝗶𝗻𝗶𝗻𝗴, 𝗠𝗲𝗮𝘀𝘂𝗿𝗶𝗻𝗴, 𝗮𝗻𝗱 𝗠𝗮𝗻𝗮𝗴𝗶𝗻𝗴 𝗧𝗲𝗰𝗵𝗻𝗶𝗰𝗮𝗹 𝗗𝗲𝗯𝘁 𝗯𝘆 𝗚𝗼𝗼𝗴𝗹𝗲
In the latest paper by Google Engineers, they researched how to define, measure and manage Technical Debt. They use quarterly engineering satisfaction surveys to analyze the results.
𝟭. 𝗗𝗲𝗳𝗶𝗻𝗶𝘁𝗶𝗼𝗻 𝗼𝗳 𝗧𝗲𝗰𝗵𝗻𝗶𝗰𝗮𝗹 𝗗𝗲𝗯𝘁
Google took an empirical approach to defining technical debt. They asked engineers about the types of technical debt they encountered and what mitigations would be appropriate to fix this debt. This resulted in a collectively exhaustive and mutually exclusive list of 10 categories of technical debt, including:
🔹 Migration is needed or in progress: This may be motivated by the need for code or systems to be updated, migrated, or maintained.
🔹 Code degradation: The codebase has degraded or not kept up with changing standards over time. The code may be in maintenance mode, needing updates or migrations.
🔹 Documentation on project and application programming interfaces (APIs): Information on how your project works is hard to find, missing, or incomplete.
🔹 Testing: Poor test quality or coverage, such as missing tests or poor test data, results in fragility and flaky tests.
🔹 Code quality: Product architecture or project code must be better designed. It may have been rushed or a prototype/demo.
🔹 Dead and abandoned code: Code/features/projects were replaced or superseded but still need removal.
🔹 Team needs more expertise: This may be due to staffing gaps, turnover, or inherited orphaned code/projects.
🔹 Dependencies: Dependencies are unstable, rapidly changing, or trigger rollbacks.
🔹 Migration could have been better executed or abandoned: This may have resulted in maintaining two versions.
🔹 Release process: The rollout and monitoring of production need to be updated, migrated, or maintained.
𝟮. 𝗠𝗲𝗮𝘀𝘂𝗿𝗶𝗻𝗴 𝗧𝗲𝗰𝗵𝗻𝗶𝗰𝗮𝗹 𝗗𝗲𝗯𝘁
Google measures technical debt through a quarterly engineering survey. They ask engineers about which of these categories of technical debt have hindered their work. The responses to these surveys help Google identify teams that struggle with managing different types of technical debt. E.g., they found that engineers working on machine learning systems face different types of technical debt compared to engineers who build and maintain back-end services.
They focused on code degradation, teams needing more expertise, and migrations being required or in progress. Then, they explored 117 metrics proposed as indicators of one of these forms of technical debt—the results were that no single metric predicted reports of technical debt from engineers.
𝟯. 𝗠𝗮𝗻𝗮𝗴𝗶𝗻𝗴 𝗧𝗲𝗰𝗵𝗻𝗶𝗰𝗮𝗹 𝗗𝗲𝗯𝘁
Over the last four years, Google has made a concerted effort to define better, measure, and manage technical debt. Some of the steps taken include:
🔸 Creating a technical debt management framework to help teams establish good practices
🔸 Creating a technical debt management maturity model and accompanying technical debt maturity assessment that
evaluates and characterizes an organization's technical debt management process
🔸 Organizing classroom instruction and self-guided courses to evangelize best practices and community forums to drive continual engagement and sharing of resources.
🔸 Tooling that supports the identification and management of technical debt (for example, indicators of poor test coverage, stale documentation, and deprecated dependencies)
It's important to note that zero technical debt is not the goal at Google. The presence of deliberate, prudent technical debt reflects the practicality of developing systems in the real world. The key is to manage it thoughtfully and responsibly.
Check the full link in the comments.
_______
If you like my posts, please follow me, @milan_milanovic, and hit the 🔔 on my profile to get a notification for all my new posts.
Grow with me 🚀!
#technology #softwareengineering #programming #techworldwithmilan #development













