Continuously over the past couple of years working as a software engineer, I’ve been exploring and learning about best practices in this industry, mainly from great conference talks from people like Kevlin Henney, Robert C. Martin, Rich Hickey and others as well as various online articles. Part of my learning process was trying to adopt those practices and experiment with them to gain hands-on experience of their effect.
I started collecting links to those materials together with my own annotations in a Google Docs document, with a plan to use them as a reference to the practices I’m trying to cultivate during my work. However, soon I realized that giving someone this whole document to grasp or even a handful of links to hour-long YouTube videos to watch might not be the best way to spread this valuable knowledge, so I had to come up with an alternative format for it. In the spirit of open source, I also decided to make this public, so it could reach an even larger audience, to set the high quality bar and to possibly make this learning experience a collaborative effort.
In the series of blog posts, I plan to explore the human nature and economic aspects of software engineering, good and bad practices with their pros, cons, risks and effects, real life examples of practical application of such practices and probably many other topics.
I’m hoping this to become a valuable resource for software engineers with all experience levels, but also for managers to help better understand the reasoning behind various processes involved.
Expect articles to evolve over time as the learning process never stops.