Issue #466

Issue #466
pointer.io


Friday 17th November’s issue is presented by Knock

Knock: Frictionless Notification Infrastructure


Building notifications gets complicated fast. Knock abstracts away the complexity of notification infrastructure by giving you a single API for managing channels like email, in-app, Slack, push, and SMS. You also get full observability and analytics about yo

Traits I Value

— Andrew Bosworth


tl;dr: 15 traits valued by the CTO at Meta: (1) Ownership: Valuing individuals who take full responsibility for their tasks, allowing others to trust that these tasks will be handled competently without constant oversight. (2) Rigor: Preferring team members who think thoroughly and exhaustively, understanding all alternatives, assumptions, and limitations to ensure well-informed decision-making. (3) Bias for Action: Appreciating those who recognize the cost of gathering information and the cost of delay, and who act decisively to maintain progress.


Leadership Management CareerAdvice

The 100 Best Bits Of Advice From 10 Years Of First Round Review


tl;dr: "End every meeting or conversation with the feeling and optimism you’d like to have at the start of your next conversation with the person. If you envision running into this person again and how you want that to go, it’ll undoubtedly influence how you navigate a present conversation — usually for the better. Chris Fralic on how to become insanely well-connected."


Leadership Management CareerAdvice

The Five Principles Of Modern Developer Tools


tl;dr: Engineering teams are increasingly outsourcing non-core, yet critical parts of their stack to third-party vendors. This post delves into the challenges and emerging solutions of using third-party services in your stack. It discusses five key principles of modern developer tools: code-based resource management, source control management, rich type definitions, CI/CD integration and managing tools as part of your deployment lifecycle.


Promoted by Knock

DevTools Management

Standing On The Shoulders Of Giants: Colm On Constant Work

— Werner Vogels


tl;dr: “This is why many of our most reliable systems use very simple, very dumb, very reliable constant work patterns. Just like coffee urns. These patterns have three key features. (1) They don’t scale up or slow down with load or stress. (2) They don’t have modes, which means they do the same operations in all conditions. (3) If they have any variation, it’s to do less work in times of stress so they can perform better when you need them most. There’s that anti-fragility again.”

 

Management SystemDesign

“Raise your quality standards as high as you can live with, avoid wasting your time on routine problems, and always try to work as closely as possible at the boundary of your abilities. Do this, because it is the only way of discovering how that boundary should be moved forward.”


— Edsger W. Dijkstra

A Very Subtle Bug

— Nelson Elhage


tl;dr: "I like to say that complex systems don’t usually fail for complex reasons, but for the simplest, dumbest possible reasons – there are just more available dumb reasons. But sometimes, complex systems do fail for complex reasons, and tracking them down does require understanding across many of the different layers of abstraction we’ve built up. This is a story of such a bug."


Debugging

Four Kinds Of Optimisation

— Laurence Tratt


tl;dr: "I have devoted more of my life to optimisation than I care to think about, and that experience has led me to make two observations: (1) Human optimism leads us to believe that we can easily know where a program spends most of its time. (2) Human optimism leads us to believe that we can easily know how to make the slow parts of a program run faster." Laurence believes there are multiple solutions and trade-offs to the second solution: Use a better algorithm, use a better data-structure, use a lower-level system and accept a less precise solution.

Optimization

Push Ifs Up And Fors Down

— Alex Kladov


tl;dr: The article presents two interdependent coding principles: (1) "Push Ifs Up" - move if conditions to the caller to simplify functions and enhance readability by centralizing control flow. This approach reduces bugs and makes code maintenance easier. (2) "Push Fors Down" - handle operations on batches of objects, not individually, for better performance and flexibility. This method is efficient, especially when combined with the first rule, as it streamlines processing and can enable advanced techniques like vectorization.


Tips

How We Organise Our Very Large Python Monolith


tl;dr: "I work on Kraken: a Python application which has, at last count, 27,637 modules. Yes, you read that right: nearly 28k separate Python files - not including tests. I do this along with 400 other developers worldwide, constantly merging in code. And all anyone needs to make a change - and kick start a deployment of the software that runs 17 different energy and utility companies, with many millions of customers - is one single approval from a colleague on Github." The author shares how this is an effective way of working and the monolith’s structure. 


Architecture Monolith Python

Notable Links


Activepieces: OS all-in-one automation tool.


GPT Crawler: Crawler to generate knowledge files for your GPT.


Loro: Make your app state synchronized and collaborative.


MonkeyPatch: Call an LLM in place of the function body in Python.


Tech Interview Handbook: Curated interview preparation materials.


Click the below and shoot me an email!


1 = Didn't enjoy it all // 5 = Really enjoyed it


12345