Issue #525

Issue #525


Friday 21st June’s issue is presented by Knock

The Most Powerful Notification System You'll Never Build


Building notifications gets complicated fast. Knock abstracts away the complexity and gives you:

How To Create Software Quality

— Will Larson


tl;dr: “This observation is the underpinning of my beliefs about creating software quality. Expanding from that observation, I’ll try to convince you of two things”: (1) Creating quality is context specific. There are different techniques for solving essential domain complexity, scaling complexity, and accidental complexity. (2) Quality is created both within the development loop and across iterations of the development loop. 


CareerAdvice

Goal Crafting

— Subbu Allamaraju


tl;dr: (1) Make your goal unarguable: An unarguable goal is one that most people agree with as it aligns with the organizational principles and direction. (2) Manufacture consent: A leader’s job involves creating willingness for others to work with the organization to support their objectives. (3) Let it make everyone uncomfortable: They should put your team out of their comfort zone, testing their assumptions and technical and human-relationship competencies.


Leadership Management

Build vs Buy: A Guide For Notification Systems

— Sam Seely


tl;dr: A complete guide for what to consider if you're evaluating whether to build your own notification system or use a third-party vendor.


Promoted by Knock

Guide Management

The Trough Of Despair

— Kent Beck


tl;dr: “That initial dip is the price you inevitably pay for improvement. If you built a factory you’d expect to pay first, see widgets later. How much you pay & when, how many widgets you see & when, those are the parameters that determine whether you’ve made a good investment. So with software design — how much you pay & when & how many features you see & when, those are the parameters that determine whether you’ve made a good software design investment.”


CareerAdvice


“Technology is dominated by two types of people, those who understand what they do not manage and those who manage what they do not understand.”


— Archibald Putt


Common Design Patterns At Stripe

— Paul Asjes


tl;dr: “You might disagree with how the Stripe API is designed, and the design you end up with is likely going to be different than what we use. That’s just fine, since different companies have different use cases. Instead I present here some design patterns that I believe are generic enough to be useful for just about anyone in the API design process.”


API Design

AI Engineering For AI Error Resolution

— Dr. Panos Patros


tl;dr: Discover how this engineering team used Large Language Models (LLMs) for smarter debugging with AI Error Resolution, a feature that preloads prompts with relevant data, offering instant AI-powered solutions to production issues. Learn about their development journey, key requirements, and the impact on enhancing application reliability and security. Think AI Engineering has nothing new to offer? Read on to see how skilful software engineering still plays a crucial role when working with AI components.


Promoted by Raygun

UsefulTool LLM

Debugging With Production Neighbors


tl;dr: SLATE is Uber’s E2E testing tool for microservice architectures that allows testing of services alongside production dependencies. It enables developers to generate test requests mimicking production flows while targeting services under test. This blog explores three debugging options in SLATE: remote debugging of deployed instances, local debugging on developer machines, and debugging through filtered monitoring. These features aim to simplify troubleshooting in production-like environments.


Tests Debugging

How Meta Trains Large Language Models At Scale


tl;dr: “Our AI model training has involved a training massive number of models that required a comparatively smaller number of GPUs. This was the case for our recommendation models that would ingest vast amounts of information to make accurate recommendations that power most of our products. With the advent of generative AI, we’ve seen a shift towards fewer jobs, but incredibly large ones. Supporting GenAI at scale has meant rethinking how our software, hardware, and network infrastructure come together.”


Scale Architecture

Tuple’s Pair Programming Guide


tl;dr: “Our goal is to make this a comprehensive guide for thoughtful programmers who care about pairing well. If this guide isn’t sufficiently awesome, or you need to go elsewhere for additional info, that’s a bug. Please open an issue and let us know what we should add.”


PairProgramming

Most Popular From Last Issue


Senior Engineer Fatigue — Kirill Bobrov

Notable Links


CyberChef: Cyber swiss army knife.


Khoj: Your AI second brain.


Namviek: OS project manager for small teams.


Open-Sora: Video production for all.


Vanna: Chat with your SQL database.


Click the below and shoot me an email!


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


12345