Remote pair programming tools (end of 2021)

If you’re a remote team, or a freelance looking to do some pair programming with someone remotely, you used to be very limited in your choices. You could go old school on the terminal using ssh and tmux. But that’s only an option if you are comfortable with a terminal-based editor or IDE. If you are like me, and use a non-terminal based IDE, the easiest way was to use screen sharing, but that is very limited. [Read More]

No-code and low-code tools cannot solve software engineering problems

No-code and low-code tools a category of software tools which let people create software solutions without writing code (or very little code). I have had extensive experience using such tools over the years, and I have always felt that they were missing some crucial elements. What no-code and low-code tools are still missing At a certain point the solutions people create using no-code tools are reaching the same complexity as software written in a general purpose programming language. [Read More]

Google's knowledge sharing process

Today I learned how Google facilitates (developer) knowledge sharing across their teams. Internally, Google calls this the readability process, a form of standardized mentorship through code review. “Code-review?”, you may ask, “What’s so special about that? Don’t all successful technology companies practice code-reviews?” You are right, and Google also has these regular code-reviews. But the readability process, is different in some key ways. Here is how I understand it: readability reviews are mandatory for all code commits (not on the commit-level, of source, but for a set of commits) readability reviews are performed by qualified individuals, who are well versed in the companies’ software development guidelines and best practices anyone can become a qualified readability reviewer, ensuring that knowledge is shared across teams, essentially across the whole company Anyone can become a qualified readability reviewer To qualify, you simply need repeatedly submit your pull requests to a central group of qualified reviewers for your specific programming language. [Read More]

Blogging daily is getting difficult

Over the last few days I am struggling more and more to write my daily blog-post. I cannot say that anything in particular has changed, but I regularly feel that it’s really hard to find a decent topic to write about. Sometimes I think I have found something, but after a while I dismiss it again. The reason for dismissing a topic is usually either that I feel it will take too much effort to write even a very basic article about it, or that it is not really a topic but only an idea or opinion, and not an interesting one for that matter. [Read More]

The 1.000 types of blog posts your blog needs today! (clickbait)

While I was thinking about today’s blog-post, this thought popped into my mind: What kind of blog-posts are there? How many types are there? How do they differ? A typical newspaper has news articles, opinion pieces, editorials, letters to the editor, reviews, obituaries, advertisements, and classified ads. When you search for “types of blog-posts”, some results suggest ridiculously large numbers. I guess the idea is, the higher the number, the better it will rank in the search results. [Read More]

Blogging daily for eight weeks

I just realized that today is day 56 of my daily blogging experiment. That’s eight whole weeks of daily blogging. Wow. And a good thing that I noticed, as well, because I just couldn’t think of anything to write about today. Lucky me. Did anything change during those 8 weeks of daily blogging that I would attribute to blogging? Maybe. After the first week of blogging I started to feel motivated to work on some side-projects. [Read More]

The benefits of using a timer when writing a blog-post

I recently started to time myself when writing my daily blog post. My original intention was to see if the time required to write will decrease over time. I assume it will, but I don’t have any data yet. But now I realized that timing myself while writing has a direct benefit: It helps to stay focused, and it helps me to finish the blog-post. For example, one day I couldn’t really think of a topic. [Read More]

Choosing the right tech stack

So, you are a software developer or a tech entrepreneur and want to start your next project. Sooner or later, you need to answer the question: What technology should we be using? Before you try to answer this question, ask yourself one more thing: Is this a project I will be doing primarily for profit, or this a project that I will do primarily for fun and pleasure. If your answer is “for profit”, then the following suggestions apply. [Read More]

Design your feedback loops

Once you start thinking about feedback loops, you will find them everywhere. In nature, your body, your personal life, your professional life, your neighborhood, your city. Everywhere. Feedback loops are incredibly powerful. Their main feature is the power to change the system that is receiving the feedback. A system that is receiving feedback, can and most likely will change over time. What feedback loops are in your life? Have you thought about designing your own feedback loops? [Read More]

How I get unstuck

Have you ever noticed that you are putting off doing certain things all the time, again and again? Like doing the taxes or getting started on that personal project. Of course, you have. When I put things off for too long, my mood suffers, and sometimes this leads to putting off even more tasks. Feels bad. Here is a little trick I came up with that helps with getting unstuck: Create an emotional brain dump of all your current tasks. [Read More]