2024

Should developers always just write code and never design documents?

In software engineering, most ideas can be implemented without writing any design document at all. This is particularly prominent in open source communities. For example, the Linux kernel has 35 million lines of code that have been written and rewritten many times over alongside 30 years of mailing list discussions. Linux wasn’t created as a result of a grandiose design document by Linus Torvalds, but it evolved organically in small increments of actual running code.

Should developers always just write code and never design documents?

Communication Is the Key to Efficiency in a Software Engineering Organization

For a software engineering organization to be efficient, it is key that everyone is an efficient communicator. Everybody needs to be calibrated in what to communicate, to whom and how to ensure information spreads properly in the organization. Having smart people with a lot of knowledge results in progress only if information flows well in the veins of the organization. This does not mean that everyone needs to communicate everything – on the contrary, it is also the responsibility of every individual to make sure there is the right amount of communication, not too much and not too little.

Communication Is the Key to Efficiency in a Software Engineering Organization

8 Writing Tips for Software Professionals

People usually associate advanced software engineering with gray-bearded experts with vast knowledge of how computers and things like compiler internals work. However, having technical knowledge is just the base requirement to work in the field. In my experience, the greatest minds in the field are not just experts in knowledge, but also extremely efficient communicators, particularly in writing. Following these 8 principles can help you maximize your efficiency in written communication:

8 Writing Tips for Software Professionals

Learn to write better git commit messages by example

When people learn programming they – for completely obvious and natural reasons – initially focus on learning the syntax of programming languages and libraries. However, these are just tools. The essence of software engineering is about automating thought, applying algorithmic thinking and anticipation of the known and unknown. The code might be succinct, but the reasoning behind it can be extensive, and it needs to show in the communication around the code.

Learn to write better git commit messages by example

When everyone else is wrong

The stock market is a powerful globally distributed forecasting system. Last Friday it was forecasting a rosy future as the MSCI World index got to a new all-time high. But it does not make sense. There is no single entity controlling stock prices. They represent the collective best guess of the whole economic world on what the value of each company should be. Historically the market has been pretty accurate. For example, when the news broke about COVID-19 spreading, stocks plummeted in anticipation of a global crisis.

When everyone else is wrong

2023