This week in Top Software Engineering Reads you read about the advantages of monolithic source code repositories, a new feature in Github, and I’ll show you another puzzle piece in the Boeing saga.
But, that’s not all. This week, I also want to share with you something personal. So, why not start with that?
Software Engineering Unlocked – Your Tech Podcast
Maybe not many of you know, but, I am currently on parental leave. I have about three months left before I return to the “workforce”. During my parental leave, I was more and more actively sharing my knowledge on this blog and on Twitter. Something I haven’t had time to do before (apart from academic papers). And I love it!
I love it so much, that I decided to go a step further. I am starting a podcast.
This podcast will give you insights into how software is developed at different companies. A topic I have been fascinated for years. I will tackle questions about which practices and best practices different companies and teams follow, and why they do so.
I have a Twitter thread going on, where you can add questions that you would like me to ask 👇🏽
It’s early, and I am busy interviewing and preparing. I plan on releasing the first episode in about 6-8 weeks. For now, I’d love you to sign-up to my podcast and let me know that way that you are interested in this topic. Every single sign-up surely fuels my motivation and also brings me into a better position to get great guests. So stay tuned! 😍
So, now onto the top software engineering reads of this week:
What’s better? One large repository or multiple smaller ones?
Quite a few large tech companies such as Google, Facebook and Microsoft use a monolithic source code repository (mono-repo) approach, when it comes to source code management.
Whether or not mono-repos really live up to their promises of easier dependency management, better collaboration and code sharing, and more visibility into the code base is a hotly debated topic.
A few years ago, there was an ACM article from Google that described their mono-repository approach. And recently this work has been enhanced by a survey of Googlers. This survey looks at whether engineers are satisfied with this mono-repo approach, or if they would prefer several smaller repositories. The results clearly show that Googlers appreciate the mono-repository because of the visibility of the codebase and simpler dependency management.
Still, making a single repository work for such a large code base definitely has its challenges, as we know from making Windows work in Git. I found those survey findings an interesting reflection and good food for the single versus multiple repositories discussion.
Please note that a monolithic repository doesn’t mean that the codebase is a monolith. Those two concepts are independent of each other.
A new Github Feature is out
Last week, Joel Califa announced that a new feature that allows you to mark files as viewed is out. This feature seems really relevant to keep track of your review status. Because, even though we are supposed to only have small code reviews, I can see how this is a real lifesaver already for reviews that have more than five files. So, yeah, it is a small but powerful enhancement of the code review experience in Github. Well, done.
The Boeing Saga continues
You know, I am following the investigation of the fatal Boeing 737 crash. And last week, a new article was published that claims that some work for the critical Max component (that ultimately was the reason for the crash) was outsourced to engineers that received as little as 9 dollars per hour for their work as compensations. This fits very well to the claim of Gregory Travis, who says that the underlying problems are due to a reckless cost-saving strategy.
Something a bit unrelated to software engineering, but still super interesting is Benford’s law. Did you know about Benford’s law? It says that leading digits of datasets are in a logarithmic distribution if the data set is not random. With 1 as a leading digit being the most frequent occurrence. I found that super interesting.
So, that was it for this week. I hope you found a few interesting articles, and if you haven’t done so, make sure to sign-up to my newsletter.
Each week, I’ll send you my top engineering reads including my thoughts and reflections on them. Also, make sure to check out the code-review e-book I prepared for my subscribers.