The Tech Caffeine #17: This Week In Tech
How to Not Lose Your Job to Low-Code Software, Why your code needs abstractions, Designing Microservices Architecture for Failures, Learnings from 10000 Hours of Serious Programming
✳️ This Week’s Featured Articles ✳️
Why Your Code Needs Abstraction Layers
Abstraction is one of the most important aspects of writing well-designed software. Good abstractions reduce complexity and allow developers to make changes to the code with more ease and fewer bugs. But creating abstractions isn’t easy. So how exactly do you do this, and what steps do you need to take? Check out these answers in the article.
10 Actions organizations can take to reduce their impact on the climate
In this article, Barry Chandler talks about how climate change threatens all of us, regardless of boundary and we are sleepwalking into it.
Being more conscious of how we use tech in every aspect of our lives would go a long way to stop us from destroying the planet. The mission of ourtechlegacy.org is to work with industry to be free of carbon emissions across the internet and all technology used by enterprises as quickly as possible.
Microsoft Launches VSCode.Dev, Visual Studio Code in the Browser
Now when you go to https://vscode.dev, you'll be presented with a lightweight version of VS Code running fully in the browser. Open a folder on your local machine and start coding.
No install required.
How to Not Lose Your Job to Low-Code Software
The uptake of low code software is so strong that it will almost certainly make its way into your organization. Most software engineers working in larger enterprises shouldn’t be concerned about this because they are good at the things that low code software is not yet good at.
The key to surviving and thriving during this change is ensuring that your role encompasses responsibilities that low code can’t do yet.
Designing a Microservices Architecture for Failure
A Microservices architecture makes it possible to isolate failures through well-defined service boundaries. But like in every distributed system, there is a higher chance for network, hardware, or application-level issues. As a consequence of service dependencies, any component can be temporarily unavailable for its consumers. To minimize the impact of partial outages we need to build fault-tolerant services that can gracefully respond to certain types of outages.
This article introduces the most common techniques and architecture patterns to build and operate a highly available microservices system.
Google Cloud's data ingestion principles
Developing cloud-based data ingestion pipelines that replicate data from various sources into your cloud data warehouse can be a massive undertaking that requires a significant investment of staffing resources. Such a large project can seem overwhelming and it can be difficult to identify where to begin planning such a project.
We have defined the following principles for data pipeline planning to begin the process.
Reflections on 10,000 Hours of Programming
The key to achieving world-class expertise in any skill, is to a large extent, a matter of practicing the correct way, for a total of around 10,000 hours — Malcolm Gladwell in Outliers. In this article, Matt Rickard explains how he put 10,000 hours of deliberate practice into programming and the reflections of that practice in these 31 points.
MLOps and DevOps: Why Data Makes It Different
Just introducing a new term like MLOps doesn’t solve anything by itself, rather, it just adds to the confusion. In this article, we want to dig deeper into the fundamentals of machine learning as an engineering discipline and outline answers to key questions:
Why does ML need special treatment in the first place? Can’t we just fold it into existing DevOps best practices?
What does a modern technology stack for streamlined ML processes look like?
How can you start applying the stack in practice today?
✳️ Recommended Course ✳️
Mastering the System Design Interview
Insider tips for your system design interview from a former Amazon hiring manager – plus 6 mock interviews for practice!
What you'll learn
Practice working through real-world system design interview questions
Apply horizontal scaling to transactions, data storage, analytics, and databases
Choose appropriate algorithms and data structures for system designs
Structure your interview responses to ensure the best outcomes
Approach system design problems from the right angles, and with the right questions.
Address the soft skills your interviewer is secretly evaluating you on
✳️ Tweet of the week ✳️
Check out the full thread, it’s worth it 👇🏻
✳️ Thank you for making it this far ✳️
If you enjoyed this newsletter, please share this with your friends & colleagues!
Want your own copy of this newsletter?
This newsletter was proofread by Grammarly