I hope you're enjoying "The Tech Caffeine."ย I would appreciate it if you passed this along to a friend.
๐ In This Issue
Top 5 Articles that I recommend you read
Deep Dive: What is Green Software?
Listen to this: Patterns of Legacy Displacement Part 1 & Part 2
Tweets of the week
๐ Top Five
1๏ธโฃ The Fallacies of distributed systems are a set of assertions by L Peter Deutsch and others at Sun Microsystems describing common incorrect assumptions made by programmers unfamiliar with distributed applications. Mahdi Yusuf writes about the fallacies and the solutions in this article.
2๏ธโฃ Conflicts about the designs and solutions are common amongst the engineers. Here is an article that talks about How to Stop Endless Discussions.
3๏ธโฃ If you are preparing for interviews specialized in .Net, here is a pretty good article that prepares you well for the interview - .NET Interview Questions
4๏ธโฃ Learn from Blanca Garcia Gil - How to become Staff Plus Engineer.
5๏ธโฃ Postman CEO - Abhinav Asthana writes about The 2022 API Platform Landscape: Trends and Challenges Do read for some really good insights.
๐คฟ The Deep Dive: What is Green Software?
By now I am pretty sure you would have heard about Climate Change and what it means. Many know we need to do something about it but are still unaware of why this is happening, then I will suggest you read the following article.
Green Software Engineering is an emerging discipline at the intersection of climate science, software practices, architecture, electricity markets, hardware, and data center design.
Here are the eight principles of green software engineering โ
Carbon: Build applications that are carbon efficient.
Electricity: Build applications that are energy efficient.
Carbon Intensity: Consume electricity with the lowest carbon intensity.
Embodied Carbon: Build applications that are hardware efficient.
Energy Proportionality: Maximize the energy efficiency of hardware.
Networking: Reduce the amount of data and distance it must travel across the network.
Demand Shaping: Build carbon-aware applications.
Measurement & Optimization: Focus on step-by-step optimizations that increase the overall carbon efficiency.
As a software engineer, you can contribute to this global effort as well, here is an article I had written sometime back - Climate Change Combat Guide For Software Engineers
You can also read more about it via Microsoftโs Free Course - Sustainable Software Engineering
Green Software Foundation is working on providing some useful tools - Green Software Foundation Projects
If you are aware of good sources, please let me know in the comments section, so that I can update this list.
๐ง Listen To This
Updating legacy systems has been a common feature of enterprise IT. But โย strangler-fig pattern aside โ thereโs little written about how to do it effectively. We explore the ideas of legacy replacement โย and even legacy displacement โ with a group of colleagues that are writing an article series on the topic for martinfowler.com
In the second part of our exploration of legacy displacement, we look at the practicalities of making upgrades work, from strategies for decomposing huge monoliths into manageable chunks as well as the methods for delivering those parts now that you've broken your monolith up.