Issue n. 1
Main Thread is a curated newsletter by https://alediaferia.com. You will find interesting articles, tweets and even podcast episodes about software engineering with a focus on startup engineering and practices.
Welcome to my first newsletter issue! This week I had the chance to reflect on the importance of context and the Why of the software being built. If you are a leader, be it a tech lead, an engineering manager or really any type of leader, spend time sharing why you are building what you’re building with the people you work with. It is incredibly impactful and empowers individuals to make the right decisions in autonomy, most of the times. It also promotes effective feedback opportunities. Don’t be afraid of being repetitive: continuous communication and reiteration of the Why behind what you’re building is incredibly beneficial at ensuring alignment and purpose.
Trunk-based Development economics
Paul Hammant goes through some important aspects of the economics of adopting vs not adopting trunk-based development. This is definitely not a new concept to many of you but I wanted to include this video by Paul because he can be considered the father of this approach.
A (Relatively Easy To Understand) Primer on Elliptic Curve Cryptography
I loved this article from Cloudflare outlining the details of the importance of Trapdoor functions for cryptography and what’s great about elliptic curve cryptography compared to the more common factorization-based RSA algorithms. Definitely a dense one, but highly recommended if you want to get a better understanding of such an important aspect of software engineering.
Over-Starting and Under-Finishing
In this short but dense post, Tim Ottinger stresses how beneficial it is to stop starting new work and instead focus on finishing existing work in progress. This is one of the pillars of the Kanban Agile methodology that moves the focus of productivity from work being in progress to outcomes being accomplished by. Small changes like starting to look at your agile board from right to left might be just enough to shift the focus to actually completing work and reduce in-flight items that have little benefit. High amounts of work in progress reduce the opportunities for individuals to work together and solve issues together as well as maximising the cognitive load of the people assigned to more than one item at a time.
Interesting Podcast Episodes
Architecture as the Organizing Logic for Components, and the Means for their Construction – The Idealcast With Gene Kim
In this episode, Gene Kim interviews Michael Nygard about Software Architecture. They will explore how influential the structure of your organization can be for your software architecture (Conway’s Law) as well as how important it is to not think of software architecture as a stand-alone concept. Effective architectures understand deeply the business they’re meant to serve.
The feelings described in this thread are not uncommon, especially in our industry. An underlying feeling of dissatisfaction might lead to experiencing burn out. In this thread @Eeyun__ has been able to articulate his thoughts with amazing clarity.
In this thread Chris outlines the winning characteristics of successful startups. Really interesting points raised here, highly recommended if you’re going through the journey, either as a founder or working at a startup.
Thank you for making it this far!