Optimizing Payments with ML, 10 Admirable Qualities of a Great Tech Leader, and More.
Featured posts from Dropbox, Intercoms, Shopify, and More
Hey there,
Here is a list of my favorite discoveries in June. I hope the links from this edition inspire you. If you missed the last one, you could catch up by clicking here.
If you like this newsletter, please forward it to others who might be interested.
Optimizing Payments With Machine Learning
Most SaaS companies operate a subscription model where a customer pays a recurring price at regular intervals for access to the service. Occasionally, renewal fails due to many reasons, some of which are involuntary. For example, a user may churn involuntarily due to insufficient funds at the time of charge, leading to lost opportunity. This post describes how Dropbox leverages an ML model to predict when to retry failed payments and how many times to retry.
Enterprise Machine Learning — Why Building and Training a “Real-World” Model Is Hard
What does it take to create a machine learning (ML) application that adds real business value to your organization? Here is a gentle guide to a lifecycle of a Machine Learning project in an enterprise setting. It sheds light on the roles involved and the difficulties of building models in such a setting.
Core Responsibility: How We Scaled Our Core Technologies Team
How do you keep your core technologies manageable for the growing number of teams that rely on them? @ryan_sherlock, an engineering manager at Intercom, shared a story on how they grew and expanded their team as Intercom scaled. There are valuable lessons in the story for every growing startup.
There is a saying that rules are mostly made to be broken. While I don’t fully agree with the saying, there are situations when some rules (conventions) can be bent, replaced, or disregarded. When I started as a junior engineer, I followed and applied all the best practices I found on the internet. One thing I missed was some conventions and best practices have contexts within which they apply. Once in a while, I come across engineers who learn conventions but lack the context behind them. This post contains development methodologies that will make your life easier. It will challenge you to seek contexts behind rules and best practices.
Why It’s Difficult to Build Teams in High Growth Organisations
Having a stable team in a hyper-growth company that doubles its headcounts every year is hard. You constantly have to split teams and form new ones. Some of my key takeaways from this post are the ways you could split and form new teams and how to deal with high-growth.
How do we write code that is easy to change or refactor? The answer is nothing other than automated tests done the right way. But to be honest, many (including me) aren’t doing enough or writing proper tests to allow easy refactoring of code later on. That is why I love this post on testing by Tim, a former senior principal technologist at Amazon.
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.
Building Quality into Software Products from Day 1
Last month, I spoke on Software Quality to a group of engineers, CTOs, and technical leads. I stressed during the session that having a Quality Assurance (QA) team is beneficial, but they should not be solely responsible for the quality of the product. Everyone who has a stake in the product is a quality gatekeeper. Here is the link to my slides, where I provided 12 tips for building quality into software products from day 1.
Cheers 🎉,