Learning from Giants #44
👋 Hi, this is Mathias with your weekly drop of the 1% best, most actionable, and timeless resources to grow as an engineering or product leader. Handpicked from the best authors and companies.
Did a friend send this to you? Subscribe to get these weekly drops directly in your inbox. Read the archive for even more great content. Also: I share these articles daily on LinkedIn.
An opinionated map of incremental and streaming systems
Incremental computing is everywhere and can make a massive difference in your work.
React is full of it, to only re-compute and re-render when necessary. But did you know we can use similar theory to build databases and streaming systems?
"The core idea uniting them is this:
We have some function that turns an input into an output."
The input changes slightly over time."
We want to calculate the new output in a way that performs better (lower latency, higher throughput, lower resource usage etc) than just repeatedly running the function from scratch."
One significant trade-off these systems have to make is the granularity at which they can detect change and re-compute state. The more granular, the more complex (and slow), and likely the most efficient (and fast) because of reduced computation.
Another one is consistency.
"Internal consistency means always returning an output that is the correct result for some present or past input."
Some internally inconsistent streaming systems are Kafka streams, Flink or Noria.
📗 Jamie Brandon's An opinionated map of incremental and streaming systems is the perfect introduction to streaming and differential computing systems. They're a field of computer science that keeps evolving in many directions. In particular, engineers increasingly integrate that theory into production systems like React and databases like Materialize, which make for exciting solutions to incremental use cases.
The top 10 deliverables of product managers
Scaling a healthy product company can only be achieved through clear documents. Apart from leadership, the product manager role requires exceptional skills in crafting these documents.
Strong project managers often have clear ideas but may struggle to communicate them effectively. Some are unsure of the proper format to use, and even when they do choose a form, they may not have the necessary writing skills to make a significant impact.
Fortunately, some techniques are available, such as Vision Narratives, Product Roadmaps, Team OKRs, and Product Requirement documents, to help guide effective communication.
📗
's The Top 10 Deliverables of Product Managers is the right read to start your quest to clear and impactful product documents. It gives examples throughout the product lifecycle from vision to execution and explains why these documents matter, what they are, and how they can be impactful.Here are my top two picks:
Vision narrative
"The primary objective of a vision is to articulate and inspire the team to understand how the world will be a better place if you achieve your ultimate goals, it's all about telling a compelling story and therefore these all become essential questions that you need to answer to succeed."
A vision narrative describes that vision over a few pages, enough to transmit it to your reader. When you see misalignment and debate further in the product process, it's often because the team overlooked this step.
Decision rationales
"It's the sharing of rationales that help the team feel heard, help the team trust in the process, and help the team understand the assumptions that went into the decision, which then creates clear guidelines for revisiting the decision."
Learning to make decisions in a new space — Listen, Document, Decide
How you make decisions defines you as a leader. Your decisions must be relevant, visible, and timely.
Starting a new leadership role can be pretty challenging, especially when it comes to making complex decisions. If you were used to making tough choices on a daily basis at your previous job, you might feel immense pressure to decide quickly in your new position.
However, you shouldn't rush it. There are ways to regain your strong decision-making abilities and grow in your new role.
"When I look at it up close, every decision really has 3 parts:
A. Listen
B. Decide
C. Document & execute"
As you’re onboarding, start by listening.
"I've seen the best results when I actually focus first on (A), listening — which is a great way to understand not just the context, but also how individual people feel about the problem."
And then you should still take your time with decisions.
"While I'm ramping, I shuffle the process and focus next on (C), documenting and executing."
Documenting helps you build a deeper understanding of the business and decisions. Executing gives you operational feedback and context.
After enough of (A) and (C), you will naturally start making these decisions.
📗
's Learning to make decisions in a new space is a short and impactful read that offers a straightforward framework for successful onboarding. However, it's essential to remember that eventually, you'll need to transition out of the onboarding phase and start making those decisions. Don't wait until you feel fully ready - sometimes, you just have to dive in and take action.