Building Meta’s Threads App (Real-World Engineering Challenges)

- Gergely Orosz tl;dr: “Building Threads was a whirlwind. We started in January 2023 and launched in June 2023. Five months from zero to one of the fastest-growing apps ever,” which saw 100M downloads within five days of its launch. Gergely covers": (1) Building Threads. (2) Technology choices and engineering approaches. (3) Planning for launch. (4) The launch. (5) Learnings and next steps.

featured in #446

The Worst Programmer I Know

- Daniel Terhorst-North tl;dr: Dan introduces us to Tim Mackinnon, a programmer whose productivity score was consistently zero because he never signed up for any stories in the team's project management system. "Tim wasn’t delivering software; Tim was delivering a team that was delivering software." Mackinnon spent his time pairing with teammates, guiding less experienced developers, and co-creating solutions with seniors. His presence made the entire team "more effective, more productive, more aligned, more idiomatic, more fun." Dan argues against individual performance metrics, stating that they are flawed measures in a "complex adaptive system" like software development. Productivity should be measured in terms of tangible business impact, such as dollars saved, generated, or protected. 

featured in #445

Three Dimensions Of Developer Productivity

tl;dr: Abi offers a three-dimensional approach to understanding and measuring developer productivity. The dimensions are Velocity, Quality, and Satisfaction. The authors argue that "any picture of productivity would be incomplete if these dimensions are not considered." Velocity is the speed at which tasks are completed, but the authors caution that the type of task, its complexity, and routineness must be considered. Quality can be both internal (code quality) and external (end-user experience). Satisfaction encompasses feelings like happiness, autonomy, and flow, and it balances the other two dimensions e.g. "an increase in velocity may lead to reduced costs, but at the same time it can lead to increased stress for developers reducing satisfaction."

featured in #445

Measuring Developer Productivity? A Response To McKinsey

- Kent Beck Gergely Orosz tl;dr: “We wrote this article for software developers and engineering leaders, and anybody who cares about nurturing high-performing software development teams. By “high performing” we mean teams where developers satisfy their customers, feel good about coming to work, and don’t feel like they’re constantly measured on senseless metrics which work against building software that solves customers’ problems. Our goal is to help hands-on leaders to make suggestions for measuring without causing harm, and to help software developers become more productive.”

featured in #444

The Engineering Executive’s Role In Hiring

- Will Larson tl;dr: Will discusses your role as an executive in your organization’s hiring, the components you need to build for an effective hiring process and provides concrete recommendations for navigating the many challenges that you’re likely to run into while operating the hiring process. He gives you enough to get started, build a system that supports your goals, and start evolving it into something exceptionally useful.”

featured in #444

An Effective Team Communicates Much Like Optimized Code: With Clarity, Modularity, And A Focus On Simplicity.

- Addy Osmani tl;dr: “Just as we strive for optimized, clean code, our teams should aim for clear, modular, and simple communication.” Addy shares tips from his time at Google: (1) Optimize communication for the target audience. (2) Speak clearly and slowly. (3) Opt for concise messages rather than apologizing for long ones. (4) Use simple and common words. Remove unnecessary and unrelated words. (5) Avoid English idioms and slang phrases if working with a global team. (6) Use inclusive language that considers all educational backgrounds.

featured in #443

Time Demands On Leaders

- Mike Fisher tl;dr: Mike delves into the challenges technology leaders face in carving out time for deep thinking, essential for tasks like strategic visioning or major architectural changes. The article explores innovative leadership structures, like Telstra's division into 'leaders of work' and 'leaders of people' and the U.S. military's pairing of commissioned and noncommissioned officers. For tech leaders, a proposed approach is pairing an engineering manager with an architect or tech lead. Mike explores the potential benefit of shared leadership responsibilities, allowing for both transactional interactions and deep strategic thinking.

featured in #442

What Makes A Strategy Great

- Jason Cohen tl;dr: Jason discusses the following characteristics of a great strategy: (1) Simple: Reshapes complexity to be manageable and actionable. (2) Candid: Dares to spotlight the most difficult truths. (3) Decisive: Asserts clear decisions and accepts their consequences. (4) Leveraged: Magnifies strengths into durable competitive advantage. (5) Asymmetric: Defeats uncertainty with higher upside than downside. (6) Futuristic: Solves for the long-term.

featured in #442

Why Outsource Your Auth System And How To Sell The Decision To Your Company

- Joe Stech tl;dr: Build vs Buy. Open source vs commercial. You are often asked to determine the right options for your organization, whether it's new tooling, infrastructure, or critical security components. Wouldn't it be awesome if you had a blueprint to follow? Check out these considerations that are tied to selecting an authentication solution, but have been used by other engineering leaders recently in build vs buy decisions they have on their radar. 

featured in #442

How To Communicate When Trust Is Low (Without Digging Yourself Into A Deeper Hole)

- Charity Majors tl;dr: Charity emphasizes the importance of small, positive interactions and offers specific tactics to rebuild trust. These include speaking tentatively, sounding friendly, taking time to compose oneself, communicating positive intent, and seeking clarity. The author shares personal experiences and insights, highlighting the need to over-communicate and overcompensate to avoid misinterpretations that can further erode trust. One strategy is the emphasis on engineering positive interactions, even artificially, to maintain a healthy relationship balance.

featured in #441