The book’s core thesis is minimizing complexity in software development by adopting complexity-eliminating approaches. The upfront investment in learning and adopting better designs pays off because it leads to high-quality software. Recommended read for software developers and line managers.
Author: AbdulFattaah Popoola
3 quick tips for leading through uncertain times
This post offers three tips for leading teams going through a difficult period. It could be attrition, product changes, reorgs, uncertainty, etc. It is a playbook of 3 key things to keep in mind and includes a FAQ list of likely questions.
Using Systems Thinking to craft high-leverage strategies
Most teams struggle with removing friction because they concentrate on surface-level reactionary fixes instead of addressing the fundamental causes of inefficiency.
Four mistakes I made as a new manager
This article relates hard-learned lessons as a newbie engineering manager. It targets new leads by clarifying leadership pitfalls to avoid.
When sleeping dogs bite: Unmaintained systems breed disasters
The issue with systems that do not 'fail' is that they have no fixes when they eventually fail.
High Leverage Activities for Teams : Documentation
Excellent documentation leads to efficiency gains, insufficient documentation leads to bottlenecks, while poor documentation sprouts confusion.
9 multipliers for boosting your team’s productivity
Multipliers make or mar engineering organizations - teams that invest in boosting the right capabilities at the right time will get more done with less. Teams that neglect these capabilities will eventually get bogged down – they’ll get less done with more.
Leading through difficult times: Put on your oxygen mask first
The story of the most challenging stretch of my career so far and how I acquired years of leadership experience within months.
No Surprises: A framework for Software Quality
When most teams complain about poor quality, they usually mean reliability woes; however, quality spans a more extensive spectrum and can mean many things. If you complain about your software being of low quality, what dimension do you mean? Use the Maslow quality hierarchy to identify the pertinent challenges and make the right tradeoffs.
The SOAR technique: How to get buy-in and overcome friction
You have a tried and tested approach for solving a knotty problem; however, getting organizational buy-in feels like pulling teeth. You’ve tried cajoling, begging, storming, bargaining and more to no avail. Nothing seems to work; you’re frustrated and thinking of quitting.
From Chaos to Comfort: Transforming business output by eliminating pain
This post describes leading a team through a tough turbulent transition while handling hypergrowth and business pivots. It details the focus on high leverage activities to break the loop of never-ending toilsome tasks and reactive fires.
How to successfully ramp up remote teams
One of my most frustrating leadership experiences involved setting things aright after a near miss with a remote team
How to Accelerate Team Bonding with Tuckman’s 5 Stages of Group Development
A team will go through some rough patch before it jells. Watch out for it, expect it and plan towards making it smooth. Brace for impact.
How to rapidly onboard new teams: Part III
This post focuses on techniques and tactics for onboarding scenarios. These are the techniques I have seen over a decade of remote mentoring, being in teams and leading teams. Think of the suggestions as tailored heuristics for onboarding a new team based on the scenario.
How to rapidly onboard new teams: Part II
This post focuses on steps to take during the first 3 months of forming a new team. It is the second post in the "How to onboard teams" series which covers lessons and techniques acquired from ramping up many teams.
Lessons Learned from rapidly ramping up 3 teams in a year: Part I
How do you get a brand new team to become productive within three months? This post describes the lessons and techniques from rapidly ramping up these teams. These tips should help new members become productive within 12 weeks.
How to run better stand-ups
There is a high chance that you attend or have attended an inefficiently-run stand-up. I have seen various stand-up styles over the years. Sadly, most of the roughly 2000 stand-ups I attended were unproductive. Mildly put, most were status reports for some manager or higher up.
A simple framework for optimizing career decisions
This post describes a simple framework for evaluating career choices along three dimensions and helps you to choose what is most important to you.
Avoid bugs by understanding hole processing in JS arrays
Avoid hard to debug bugs and flaws by truly understanding how JavaScript handles holes in arrays.
Holey JavaScript Arrays
Do you know JavaScript arrays can have holes? How are empty slots different from undefined? And how do you differentiate between both? This article dives into sparse arrays and explains various ways to create them and associated gotchas with usage.
JavaScript Arrays Are Objects
JavaScript arrays show object-like behaviours in a variety of ways.
How well do you know JavaScript Arrays?
I decided to write about sparse and dense arrays several months ago. I thought it would be easy and imagined writing a masterpiece based off my multi-year experience with arrays. Alas, my foray into the intricacies of Arrays unearthed surprising discoveries and shattered my brittle expertise. This series of posts describes my learnings and Aha moments.
Taking on scary challenges
You have two choices when new challenges emerge: Offer several reasons why things wouldn't workSeek growth opportunities from the challenge Let's talk about the latter option. Scenario Your team dances through complex rituals every month before it can successfully deploy a big batch of changes. Engineers dread the drain on developer productivity and attendant customer … Continue reading Taking on scary challenges
Doers, not Talkers
Excuses are easy, take ownership and drive for results
Simple is beautiful
Less can be more - remove, don't add: say less, delete code, write tersely. Find the smallest things with the highest impact. The end