What to say on this ? I like typing and feeling productive. But the two are unrelated.
TLDR; We need to slow down a bit, as programmers, and as technologists.
I believe there are virtues to typing fast, for the impatient programmer, for the prolific coder, for the over busy person, and because free time is never given to anyone. I tend to be quite impatient at times, because I see fast builds and fast code as solved problems, at least with boring tech.
I nurture other virtues like removing code, remove dependencies, pipeline steps, YAML soup, hundred lines setup instructions and docs, frameworks and libraries. You can shift to simple scripts, binaries and code, that is efficient and -- most important -- that your understand, can maintain and validate and which can fit in your screen without needing to scroll through long files nor switching between tabs and editors to understand it.
There are benefits to pushing releases faster, but it has nothing to do with typing more code faster. Do not push buggy code at first. Understand the code you write and make it boring, readable, concise, because you understand it an you know enough to improve it and vanish some complicated concepts.
Because you focus on the user experience, on quality, on the business, not on the code, you will be able to explain the business that it's more important to do the right thing than having to rewrite the things three times later and debug it four times. You know how to defend your case because and you know the impact of a badly designed solution built too fast. You already prefer quality code, and you know enough about the business to explain how risky it is to push bugs faster and have to spend all your valuable time debugging your code or peers code.
Do I enjoy more YAML and code on a daily basis ? Certainly not. Duplicated code and YAML makes me puke. I'm happy if a colleague thrashes some code I wrote, because in the end we do not need to keep it all. An a good CI pipeline should likely be 2 lines long, not thousands lines long (hello GitLab/GitHub and other YAML soup lobbies). More code is more fragile and harder to validate and rework. Good code takes lot of rework, or maybe more thoughtful upfront design.
Also, do you really want to type the whole day ? Is it your only way to solve problems ? Some things are not so urgent nor important.
A single line of code added or removed can make a whole day better. A simple "NO" can avoid tons of bugs.
Reading code, learning about boring and legacy tech, will teach you valuable lessons.
Discussing decisions and designs with peers, and even in the middle of other things, will lead you to connect more dots together, and lead to opportunities and more collaborative ways to solve the problems.
Reinventing the wheel, simplifying solutions, solving problems, thinking, writing, do not require typing faster.
Programming do not require typing faster.
Authoring good books and novels do not require typing fast.
The best work is not always the result of fast work. A good movie/tv show script, a good (comic) book, a good music release, requires thoughtful work.
Maybe feeling emotionally pressured to react/rant on internet or social media leads you to type faster.
Maybe a bad manager wants you to answer faster to what appears to be urgent/important. But maybe you have to reconsider the urgency.
Maybe we do not need to reach 120% productivity, nor 600%, nor 100%. We are not machines.
We do not need more code/bugs in the world, nor more pressure to deliver more in fewer time.
We need more quality and care. We need to take the time to think and discuss code. And sometimes consider doing nothing and maybe waiting for some technology to mature rather than succumbing the hype... hello LLMs and their carbon footprint that ruin long efforts, while a few good IFs could have done the work.
I tend to see myself as a slow programmer, I mean thoughtful one. For a decade at least. And I believe this is rarely valued. Yet an important virtue for me is to take the time.
And reconsider our ways for solving problems rather than trying to convince the world to speed up a little more. We already suffer with enough crap to fix, alerts, dark patterns, slow code, bugs, security incidents, broken tests, broken pipelines, fix(ci) commits everywhere, git conflicts, ignored specs, overlooked docs...
As a reminder of how shitty those social media can be, I'm feeling obligated to write this short rant.
This morning, using my secondary empty and idle Instagram account to do some research, I end up discovering a nice content through the home page feed, and I'm trying to share it with my partner.
For some reason, the share does not reach my partner, so I want to find the content again and I navigate backward and this triggers a home feed refresh. My home feed is now completely unrecognizable and this causes immense frustration.
Last week, I was about to revive my main Instagram account, and this kind of bad UX reminds me that the benefits are not worth the immense frustration and non-sense of navigating an endless loop of evaporating content. No, Meta, you won't fool me again.
This morning Saturday I spent hours scrolling in my RSS feeds, napalm mode, marking tons of content as won't ever read. This made me wanna share my struggles with FOMO and attempts to fix.
Cap Limits
Years ago, a colleague was telling me he left Spotify for Apple Music because of the 10,000 song limit. I had no need of having to keep this much music at the same time. In fact, I do often listen to the same songs, even if the songs change. I regularly delete stuff from my library and make room for new ones.
But a decade ago I was in his shoes, collecting my likes and dislikes on TasteKid (wikiless) and making sure all my favorites TV shows, movie, book, comics, music bands were saved, so TasteKid would recommend me cool stuff. Until it went crazy. I complained to support and they told me I hit a cap limit and they cannot recommend more content beyond that cap limit. Shit. It feels terrible as a user to be punished by your product for using it too well.
I had an account on SensCritique (wikiless) until recent years and I contributed a lot to their knowledge base, lists of contents, until they block my account because I was not making perfect submissions and they had to fix some of them. Is that a reason to block me ? I politely asked for unblocking my account but they insisted the ban should be of one month. I requested a full export of my data (thank you GDPR) then deleted my account and contributions and never went back.
It's painful to contribute the internet and be banned because of imperfection. It used to be a more welcoming place. I fear to depend on external services because of this kind of politics or cap limit. Anyway, that's why I also self host my content and services so I cannot blame anyone else for failures.
Brain, you kill me
When I find an article I like, I often fall in the trap of opening all the cross linked articles. Which make me open too many tabs that I really don't have much time to browse right now so I save them for later in Wallabag. I had to install Tab Limiter (browser extension for Chrome) and force myself to a limit of 10-20 tabs per window/profile but it's hard. I did that after reading about people with similar issues (Reddit - It seems impossible to get rid of my 1000 tabs habit).
I recently stopped bookmarking stuff in my Git repository (or at least slowing it down), I instead switched to saving links into Shaarli, Wallabag and Obsidian daily notes, telling myself lies like bookmarking is worth it. I was regularly feeling overwhelmed with newsletter and FOMO so I opted for RSS feeds that curate content from my favorite authors and publishers but that brings its own issues as I exceed my capacity of how much content I'm capable of curating on a given day. Curating content and links is not suitable in 2024 and something better is needed. Recently I did the math and realized that from Wallabag, Gitea and and in total I have recently collected 11K links among my main bookmarking places. If I dig deeper and go collect links from my Twitter archives, my 10 years old bookmarks and links from my Obsidian notes, it sums to 20K. That's a big number I really need to cut into 1K maximum. Which I'm trying at /links.
Brain, you kill them
No tool will solve it; it's not a tool issue. One just can't digest so much content. If it's too late and you already succumbed to opening 10K tabs and notes and windows and you have started too many "watch later" challenges, let me present your friend, Gimli !
Imagine the open tabs, newsfeeds, information sources, lists, open windows, unfinished stuff, etc as the Ring used by Sauron in LOTR. Then act like Gimli, throw an axe at the problem. If you are strong enough, you can just quickly solve this.
It's really satisfying to delete stuff and decide never to read them. Rather than bookmark them for later and never read them, just delete stuff. Delete lines from your codebase. Delete branches of unfinished work. Close tabs. Delete "might be useful later" apps from your mobile phone. Uninstall browser extensions you rarely use. Archive emails that pollute your Inbox. Do you really need those daily emails from 20 newsletters ? Do you ever read them ? Do you really need to read the whole Hacker News ? You know there exist summaries ? Do you really need to read that whole article ? There exist ChatGPT summarizers that work in your browser, or you could simply jump to the article's comments section or look if any HN user already commented on that article. If you prefer to rely on your own judgment, just have a look at the intro and conclusion of any article you are about to read, and from there decide if you are interested to read more.
You think you need to bookmark everything and organize them, but most of those websites will be gone soon or later or will be behind paywalls. Save the few that really matter to you, using SingleFile extension for instance, if possible on your storage as we don't know if search engines or archiving websites will keep caching those pages nor if they will still exist in a few years from now.
Most of the long articles I've ever read could be summarized with a simple meme (image), they really are a perfect fit for the purpose of sharing a concept. That's also why webcomics are so powerful, like XKCD, it's minimalist and speaks to everyone. It might be the same for tons of those videos, podcasts you wanna consume. If you are regularly battling against your inbox, newsfeeds etc, it's time to use that axe and unsubscribe from this spam which is one of my productivity tricks, look here for more.
Look busy, be free
You have a limited time, your body has its own constraints and you can't grow new body parts to extend your capacity. You don't need to do more, but probably to do less and be more focused. For this, you need to give yourself more time. Think again about the cap limits. In past years, people have migrated away from Facebook, nowadays they migrate away from Twitter. Tools don't last. Social networks don't last. Content don't last. Instead old content disappear to make room for better old ones. Hopefully. There are websites other than Facebook and Instagram. Not overloaded with ads. Interesting and quieter ones. And we definitely need more calm while social networks are keeping us busy, VOD platforms push infinite content to us and email inboxes never feel empty. And we also need to replace most of the too popular platforms that succumbed to enshittification (wikiless).
You don't need to track 300 RSS feeds, 1/10 of that should suffice. While I write this, I went from 330 RSS feeds to 270 in about a week. I've noticed I'm really super excited about the content from maybe 5 of them, and enthusiastic/curious about maybe 25 RSS feeds in total. Speaking of that, I'm sharing a subset of those RSS feeds in my /links page.
You don't need to be present on every social media platform, 1 or 2 should suffice. Or none. After leaving Twitter and LinkedIn, I was mostly present on Mastodon (which I'm leaving too by March 2024) and I deactivated Instagram but I read every publication of my partner thanks to Instagram feeds provided by Picuki. Some websites allow you to easily backup your data before closing your account, I do keep backups in Dropbox. If not ready to close those accounts, deactivate the ones that pollute you and see if you can live a while without spying on random strangers and friends on internet. Because yes, maybe you shouldn't maintain a false sense of friendship with every influencer.
For similar reasons, I tend to archive WhatsApp conversations and unsubscribe from social accounts from time to time. If I don't recall why I follow an account or why the fuck I'm in this WhatsApp group, I better leaving it. It can be done in a polite manner of course, but the idea is to focus on your wellbeing.
No need for 10K songs on Spotify, I stick to 2K for a few years and in only a few days, I went to 1K, then 100 songs, then 30 songs. They come and go. No need to follow hundred of accounts, if a ten should suffice.
I started to use the axe in my 5K bookmarks and remove all that is not absolutely needed. It's easy once you are inspired by some tricks.
Numbers have spoken
Kill, destroy, eliminate, declutter, triage !
If triage is difficult, use the axe and destroy the whole problem. I've quit several social platforms (LinkedIn, Twitter, Instagram, Facebook, daily.dev, Discord, ...) and then the FOMO goes away completely as well as the anxiety caused by having to keep up with tons of relationships on those social media. Dunbar's number (wikiless) explains you cannot keep up with so many people on so many platforms. The most cited number is 150, personally I put it way lower for me, maybe 1/5 or 1/10 of it.
In a former life, I was telling my overworking colleagues about making time for things that matter to you. They baffled. The thing is it's not because you work 14 hours a day you will be more productive than someone doing deep work for about 2 hours a day. Sometimes all is required to fix a problem is not more work but a good nap / break.
Sometimes you really need to make time, it can imply some arrangement with your family or to setup unconventional work schedules but if that allows you to make something you have fun doing, why not ? When you are done with that, other people will surely react but who cares ?
But this was helpful
In order to do things useful for you and joyful for you, no need to chase the infinite self optimization which is toxic in itself and make you feel never achieving anything. You don't need to be 1% every day. It's difficult to improve every day and you will feel guilty by not reaching the goal. Instead, try to stay away from bad habits. Instead of focusing on developing new ones constantly, develop anti habits to kill the bad ones. Be also very wary of the self development guides that exploit your guilt for their business. You can chase infinite advices from random internet places or closed ones, but that's also something to be critical of.
Ironically, you should be also wary of this very article you read. I'm writing it for myself first, because it helps me clarify my mind. It's good if it helps you, but it's first and mainly targeted at me, like most influencers and authors write first for themselves or at least based on their own experience. In general, be wary of advice.
All content is not equal and because some advice exists does not mean it applies to you. So don't feel guilty of not following all trends and coaches. You can also make your own adventure.
Is it the end ?
Hopefully if you get me right, it's just the beginning, the start of living your life and stop letting everyone else's agenda control yours. There is also no urge to act now. First, slow down. Don't feel guilty of doing less, saying no, relax in your bed. If you reduce the noise and negativity, don't immediately go compensate with new projects. If you don't feel energized to start decluttering, at least take a break. Think about it. When was the last time you took a day off or had fun starting a useless project ? Do you have time for your hobbies ? Do you feel tired or exhausted ?
The π’ engineer has good guts but often seems slow compared to the π° engineer.
The π° engineer is quick at decision and gives impression of progress to the product owner often disappointed with the slow pace of change of the π’.
The π’ is busy battle testing the draft he's about to integrate in the product, suddenly he finds out the new bugs were introduced recently by the π°, and decides to postpone his work while focusing on debugging the shit.
In the meantime, the customer complains because of the new bugs introduced in latest release by the π° engineer.
The product owner is worried and decides fixing this bug is a priority.
The π’ engineer was already investigating the bug and proposes a fix.
The π° engineer cannot wait for the π’ to fix the bug and already merges new changes in the stable branch so the new release will not only be bug free but also deliver new quality shit.
The π’ is busy integrating and retesting all the new changes made by the π° as it seems those changes includes critical changes of the core authentication layer and library updates that had nothing to do with the features the π° was working on.
The π’ suggests to focus on quality and teamwork and slow down but the π° and the product owner look at him suspiciously.
The product owner suggests the π’ to consider leaving the team if he's not happy with the way things are. Because in the end, speed and working long hours are important even if results are not perfect.
π€¦ "fuck this shit". A few weeks later, π’ has left.
The π’ is working in a good team nowadays π€², where testing is a thing β , quality is under control π, documentation matters βοΈ, and collaboration is a foundation π€²πͺ.
Related
How the situation should be managed instead by the PO / Lead.
A couple of weeks back, I was getting my ass kicked at chess. It was a blast, even as I blundered into defeat.
Here's the thing: in some games, like life, the right focus at the right time can flip the board. It's about spotting chances and seizing them. Remark : If interested in the "perfect timing" topic, do read about the power of when.
Being focused on specific goals can help make the difference in the long term. Also being aware of the opportunities and reality.
Last year? A financial nightmare. But I hustled, optimizing my budget. Running my own company, I could shuffle some expenses around β a neat trick.
I axed unnecessary subscriptions β online courses, publishing platforms, various IT tools. Sometimes, the best alternative isn't a new provider; it's you. Betting on my skills, I cut costs and upped my privacy game. That's a win in my book.
Now, this blog and my digital life sit on a fresh, cost-effective infrastructure. More privacy, less cash bleed.