Week 4, 2025 - Baby Steps
I mentioned last week that I started to develop a pet project around the quantified self area. I have two kinds of things I want to track: goals (like weight, sleep time, productivity, etc.) and efforts (what I do to reach those goals). Learning from earlier experiments, I want to automate as much as possible. At this point, I reached a state where most metrics are collected by Apple Health and synchronized to Google Sheets via the HealthFit app. There are a few areas that are easier to track manually for now. I assembled those into a Google Form, and I set a daily reminder for me to fill it out. Finally, I wrote a Google Apps Script that runs once a week, collects and aggregates all this data, analyses it with the help of OpenAI’s ChatGPT API, and sends an email report to me. I’ll share in more detail how this last part works later because I think it’s the most interesting area, but I want to do a little finetuning before that.
This Tuesday brought the third installation of the DevBP meetup I wrote about earlier. The talk that interested me most was from Péter Gyarmati, the EM responsible for what I would call platform engineering at Shapr3D. He explained their build and test infrastructure journey of a 3 MLOC C++ / SwiftUI / C# application running across iPadOS, macOS, visionOS, and Windows, worked on by 60+ engineers. What a great challenge.
My notes:
- Before doing anything, they started with an assessment of the status quo, and as usual, it was quite bleak. Pipelines were built without documentation, lacked observability, tests were failing nonreproducibly, etc. Thanks to all these, there was zero trust from developers. (I love how early they recognized that this is a key metric to optimize!)
- One of the first steps they took was the standardization of platform pipelines. Regardless of the chosen tools (Ansible and Grafana in their case initially), it’s a great start to move towards something more manageable.
- Identifying that flaky tests were one of the main reasons for zero trust, they invested in a retry mechanism with automatic disables and escalations to code owners. Great way to minimize day-to-day manual maintenance overhead.
- Once having a stable, standardized system that they were familiar with, it was time to start optimizing speed, the second contributor to developer mistrust. A few techniques that worked for them: incremental checkouts and builds, better utilizing compiler caches, selective and tiered test suites based on PR contents; then more advanced things like parallelization with shared build artifacts.
One of their foundational learnings was moving towards a user-centric product mindset despite being an internal team. Their product is the CI pipeline and their users are their colleagues! This changed everything: initially, they were frustrated that developers didn’t use the cool features they delivered — but later, they realized that they should start asking developers what they actually needed. Now, they use this input in prioritization, which I believe is a strong contributor to their success.
Great talk, I hope they’ll put the recording or slides online.
📋 What I learned this week
I started experimenting with small-form Substack content. The idea is to send out a weekly Engineering Management challenge that readers can think about, and share my “solution” approach a week later. I love answering similar questions on various forums, and I think this roleplaying is a useful activity for new EMs and engineers ambitious about management too. You can check it out and subscribe if you like here.
I wanted to try Substack for a while, and the above experiment is the shortcut result of weeks of ruminating on different content I could produce there, and how I avoid cannibalizing my blog here. The root cause for this indecisiveness was fear that the strategy I choose will not be the optimal one for my goals. However, yesterday, after a great talk with a peer, I realized having and executing a plan is more important than how good that plan is. I’m using my skills, experiences, and all the information I know today to decide on a direction. And if I see it’s not working, I can adapt — still, I’m moving, and more importantly, gathering external feedback instead of the echo chamber in my head.
It’s like being lost in a forest: you can contemplate which direction to go or wander around randomly without intention. But you have more chance to get out of the woods if you come up with a plan, follow it for a while, see how it works, and adapt if needed.*
*Actually, if you’re lost in a forest, the advice is to stay put and try to be found. OK, my analogy sucked, but I hope you got my point.
You could say the next learning of the week was related to walking in a forest too. I found out again that starting the day with a cycling session gives me a combination of exhaustion and proud accomplishment. This mixture, interestingly, also takes away most of the motivation to do any meaningful work during the rest of the day! I guess I get away with it because I already did something, and the voice to push me to do stuff is quieter. However, going for a walk instead has a different effect: I have the calm, distanced perspective I rarely experience during the day, and at the same time, I get a boost of motivation, almost a sense of urgency to do great stuff.
As the brilliant travel author wrote:
🎯 What I want to try next week
I want to validate the EM challenge Substack idea by writing a few challenges ahead with their solutions, creating a comfortable buffer to use during Q1. I’m trying dedicated days for different activity kinds, in hopes of the natural timeboxes helping focus and completion discipline.
I should also wrap up my Pomodoro experiment and finetune the AI part of the quantified self project. I should write a bit about both, as writing is still the best way to organize my thoughts.
🤔 Articles that made me think
State of Tech Tools 2025
Results from the Lenny’s Newsletter survey, with 6500 respondents, most of them product and engineering people. Lot of interesting insights to click through for. The three learnings for me:
- AI has become a day-to-day necessity. Even product folks are using Cursor now, and ChatGPT has become the most popular tool overall, beating GMail and Slack.
- Smooth user experience trumps feature-richness. The emergence of tools like Linear is a threat to bloated mammoths like Jira. (It’s interesting to watch their appetite grow beyond project management, I hope it’s not the first sign of inflating another balloon.)
- The popularity of Swiss Army knife products that are “good enough” for many purposes (see Notion for project management and CRM, or Slack as a customer support tool). Maybe it’s all tied to the current fast-moving high-pressure era: people need to do what they can with what they have, and they don’t have time to learn new software (let alone get their purchase approved). It’s also easier to support renewal if the tool is used by multiple departments for different purposes.
There's an interesting contradiction between 2. and 3.: tools that are simple and do one thing well; and versatile, multipurpose tools are both increasingly popular. I guess the explanation is that winners in both categories excel in UX, and this seems critically important in the quick-changing tooling landscape of 2025.
Quantitative vs Qualitative Developer Experience data
This short LinkedIn post does a great job of capturing what I think about engineering productivity metrics today. Mixing qualitative DORA-like data with a simple, regular survey (with a lot of freeform text boxes!) offers a great combination to identify bottlenecks and improve engineering teams’ performance. Don’t get lost in dashboards, ask your colleagues how efficient they feel, and what’s holding them back. (This ties back nicely to the pipeline journey of Shapr3D above.)
The Positive Effect of Libraries on Mental Health
Bookriot shares the results of a well-being study that examined the impact of Libraries on respondents' feelings. The results are overwhelmingly positive, especially in areas like “support of personal growth”, “feeling calm / peaceful”, and “being equipped to cope with the world”. These are probably connected to being physically in these spaces, because in-person library users reported significantly higher benefits, with 82% feeling more optimistic about their future compared to just 58% of digital-only users.
🎢 Something cool: 24 AI Tools Ranked
I loved this list because it almost exactly overlaps with what I find useful, giving a strong trust in the assessment of services I haven’t tried yet. Browse through the list to see if you missed something.
That’s it for today, walk further this weekend,
Péter