Kafka Streams Topology Testing: Mocked Streams 3.3 is out.

Externalizing Infrastructure for Focus

I have been preaching minimalism in lifestyle and code for years. But until now, minimalism did not find its way to my digital infrastructure. The inspiration came from Levitin's The Organized Mind and Cal Newports' Deep Work. This article summarizes my experiences of externalizing my tools to focus on the tasks that matter most.

Since years I had a self-managed mail server until recently when I moved to a decent mail provider, FastMail. The mail server was running on an DigitalOcean instance which was also hosting my static website blog - until recently, because I moved it to AWS S3. Yep, bye bye DigitalOcean. Year after year, I had to migrate both mail server and webserver from an older to a newer Ubuntu version. Not only that, but also installing software updates, backups etc. So much maintenance overhead.

Connecting Dots

A couple of months ago, I started working on a project which is stored on Github running on AWS EC2 with DynamoDB and Kinesis Firehose persistence, and makes heavy use of SaaS for building, CircleCI, deploying AWS CodeDeploy and monitoring, Sentry, Datadog. And of course, Slack where chat ops inform me when something went wrong. These services have free tier plans and even those help a lot when boostrapping an application, just see this list. The application itself is written in Scala with extensive use of Finagle as RPC and web framework.

I am amazed how easily you are able to outsource hard tasks such as machine learning models for e.g. classifying text, like MonkeyLearn, or image, voice recognition, see AWS Rekognition. For smaller projects I would even go completely serverless. I know - a lot of AWS services right here. But most of them I use in a small production, and I am very satisfied with it.


Hosting my own infrastructure for mail and web was cool - at least for me, when I started four years ago. But now, it just became a technical debt. No need for updating servers, maintaining configurations and alike, hence more time to focus on what matters. We live in exciting times to create. We can leverage on expressive programming languages, useful tools, cloud services etc. to tinker with technology, to build prototypes and finally innovative products. But for this, we need to focus on what matters most, the client, the product - but not its infrastructure.


In the book The Organized Mind: Thinking Straight in the Age of Information Overload, Daniel J. Levitin reminds us, that offloading appointments, reminders and ideas is essential to be able to focus only on the task at hand. He suggests making use of our smartphones the mindful way, using it as a storage extension of our brain. And in fact, I finally started using a synced calendar, reminders on my phone and Evernote, for writing, recording and screenshot ideas, inspirations, processes, checklists, bookmarks etc. for myself and others. Honestly, a true survival kit for german bureaucracy. I recommend reading the book, because it also gives research findings which ultimately justify unit-tasking.

However, dealing with information overload is tough. Samovar Tea published an excerpt from The Distracted Mind: Ancient Brains in a High Tech World by Adam Gazzaley, a well-written introduction into the topic: "Why our brains aren't built for media multitasking, and how we can learn to live with technology in a more balanced way.". If you are interested into using focus to excel at work, have a look at Cal Newports' Deep Work. I linked a cheatsheet of the book in the resource section below.


In the books, I missed the following requirement: The first essential step is to know what your top-level goals truely are. I believe that many people are not aware of or set their top-level goals. However, it is a requirement for choosing the right behavior and classify between useful and distracting tools and technology. Evaluating and choosing the right tool is important, since you don't want to start using the tool which introduces even more problems than it solves.


One or two mails a month about the latest technology I'm hacking on.