Newsletter #23: 2021 reCap
The Effective Software Leads Newsletter (Previously HubOfML) is a monthly newsletter on software engineering and leadership.
This is my 23rd newsletter, the first for the year 2022. I hope you had a fantastic 2021 and will take some time to reflect on your accomplishments. I want to wish you a happy New Year as you celebrate the new year with friends and family.
In this newsletter, you'll find my recap of 2021. That's the most-read article that HubOfML's newsletter included in 2021.
Effective Engineering Leads is the new name for HubOfML (ESL) - Announcement.
I'm happy to let you know that HubOfML has a new name. Effective Software Leads (ESL) is replacing HubOfML. This name change reflects the type of content that our readers enjoy. My goal hasn't changed: to curate high-quality blog content for engineers and engineering leads. There will be a greater focus on leadership and large-scale engineering problems with this change. Whether you're a software engineer, a machine learning engineer, or a leader, we've got you covered. You'll find something useful in it.
Three Crucial Skills Leaders Must Develop to Become Executives
Executive skills are subtle and can be elusive to managers, demanding a great deal of focus, courage, and dedication. Becoming a great executive requires a set of skills beyond what's needed to be a leader. @nikhyl , in his post, shares crucial skills that leaders must develop to become executives. Some of the key takeaways are:
Learn to take risks and constantly put yourself in new, challenging, and increasingly ambiguous settings.
Learn to build strong relationships with other senior people who work in entirely different functions.
Learn to build teams and trust the people in them.
What Does It Mean to Lead When You Don't Have Coercive Power to Get Your Way?
The big difference between leading and managing is simple. When you manage, you have the authority to make decisions unilaterally. But when you lead, you appeal to the self-interest of the people being led. As a manager or individual contributor, you may find yourself in situations where you need to wield influence without the authority from coercive power; such cases will require you to lead. To really lead, you have to change how people think about the world. This post offers valuable techniques to lead without authority.
Independence, Autonomy, and Too Many Small Teams
The 'two-pizza team' paradigm has become really popular in the context of organizing software teams. But have we lost the original intent of the 'two-pizza teams' (aka autonomous teams)? A team is autonomous when it delivers value to the customer independently. This post shares details on why the so-called autonomous team in some agile environments is not actually autonomous and may have missed the point.
How To Be a More Influential Engineer
One of the most significant transitions for an engineer's career is when they break dependence on senior team members and start to contribute to the team's decision-making process actively. Once this transition is complete, the engineer contributes to the team at levels far more significant than the code they can sling. They become a more productive team member and help unlock team potential by freeing up others' time and effort." How do you progress to become an influential engineer? This article will help you.
10 Admirable Attributes of a Great Technical Lead
"It takes a lot of effort to be a great tech lead. It's a delicate balancing act between two poles of the same attribute. If there is too much weight on one side, the person may fall". I specifically enjoyed reading this post. It outlines ten attributes that will make any tech lead a better one.
How DoorDash is Scaling its Data Platform to Delight Customers to Meet Their Growing Demand
Many of the fastest-growing and successful companies are data-driven. While data often seems like the answer to many businesses' problems, data's challenging nature, from its variety of technologies, skill sets, tools, and platforms, can be overwhelming and difficult to manage. This article sheds light on the challenges faced by organizations similar to DoorDash and how they have charted the course thus far.
How Machine Learning Powers Facebook's News Feed Ranking Algorithm
How do you build a system that presents so many different types of content in a way that's personally relevant to billions of people around the world? Just like Dropbox uses ML to predict what file you will work on next, Facebook uses ML to predict which content will matter most to each person on its platform to support an engaging and positive experience. In this post, Facebook's engineers share details on designing an ML-powered News Feed ranking system.
Building a Feature Store
A feature store is a repository where you can store, update, retrieve, and share machine learning (ML) features. The concept of feature store is gaining traction in the field of machine learning system operations. But how do you design a feature store, and when do you need a feature store?. In this post, @neal_lathia, an ML director at Monzo, shares some of the thinking that motivated his team towards building a feature store and how he designed it.
Best Practices for ML Engineering
When creating an ML model, there are best practices that will make life easier. This document contains Google's best practices in machine learning. It's intended to help those with a basic knowledge of machine learning. It offers tips for starting an ML project, creating the first machine learning pipeline, monitoring machine learning models in production to engineering features.
The True Meaning of Technical Debt
This week I came across this article about the true meaning of technical debt and it did change my perspective about technical debts. It's common to think of tech debt as something that piles up as a result of bad coding practices, which is far from being true. @lucaronin captured it well in this post. Tech debt is a disagreement between business needs and how the software has been written. Understanding the true meaning of tech debt is crucial to developing a strategy to pay off tech debt.
How We Scaled Bert To Serve 1+ Billion Daily Requests on CPUs
What comes first when designing a new ML model to solve a business problem? Accuracy or speed? Perhaps, speed before accuracy? In this post, Roblox shared their journey on speeding up Bert inference by over 30x for text classification. The post contains how they did it while keeping costs manageable.