Assorted Tech Links That I've Found Interesting
In the future I will make my way through this list, and either remove the less useful articles, or summarize the more useful lessons and add the links as references in the bibliography of a blog post somewhere.
Testing
SMURF: Beyond the Test Pyramid
State Space Explosion: The Reason We Can Never Test Software to Perfection
Why We Shift Testing Left: A Software Dev Cycle That Doesn’t Scale
Stop enforcing Code Coverage as a Quality metric
Linting
eslint‑plugin-project‑structure
Documentation & Communication
The Seven-Action Documentation model
My 20-Year Experience of Software Development Methodologies
The documentation problem in development
Devops & Infrastructure
Software Falsehoods: you can build it cheap, fast, and good - pick two
Why Scrum Should Basically Just Die In A Fire
How to improve as a backend developer: beyond frameworks and languages
ISE Engineering Fundamentals Playbook
Be Careful: Exploding Costs That Might Kill Your Product
The Evolution of SRE at Google
My 20-Year Experience of Software Development Methodologies
My 20-Year Experience of Software Development Methodologies
Why don’t software development methodologies work?
Programming mantras are proverbs
DORA Metrics: the Right Answer to measuring engineering team performance
What is Kubernetes? An Unorthodox Guide for Developers
How did DORA metrics improve your orgs activity?
The Ten Commandments of Software Development
Modern Git Commands and Features You Should Be Using
Business
The Side Project Dilemma: Why Developers Often Miss The Mark On Monetization
Rust & Other Languages
Learn you a haskell for great good! (website offline)
Security & Authentication
The Six Dumbest Ideas in Computer Security
How to Use Secure Coding Practices in Agile Development
Architecture & Design & Refactoring
Why Local-First Software Is the Future and what are its Limitations
The Art of Code Review Corruption: 10 Ways to Always Get Your PRs Merged
Framework overload: when convenience dulls innovation in software development
Enterprise architecture needs to get better at architecture strategy
Cognitive Load is what matters
Austin Story: Making Software Easier to Change, Remove, and Evolve
Typed Design Patterns for the Functional Era
A Crash Course on Microservices Architecture
"Rules" that terminal programs follow
Microfrontends should be your last resort
Three Laws of Software Complexity (or: why software engineers are always grumpy)
A designer’s guide to using psychology to design better digital products and services.
Pessimism-Driven Development: Embracing Murphy’s Law in Cloud Architecture
The Architecture Behind A One-Person Tech Startup
Towards modern development of cloud applications
Towards Modern Development of Cloud Applications (whitepaper)
The trap of over-engineering and over-design
Mastering the Modular Monolithic Architecture
From Go to Rust: The Two Types of Readable Code
Web Development
67 Weird Debugging Tricks Your Browser Doesn't Want You to Know
Employment, Skills, & Social Dynamics
How to improve as a backend developer: beyond frameworks and languages
An incomplete list of skills senior engineers need, beyond coding
Keep a brag list of the wins you achieved, thank me later
The Curse of the Senior Software Engineer
The slow death of the hands-on engineering manager
The 3 Big Mistakes That Almost Cost Me My Promotion (And How You Can Avoid Them)
Planning & Organization
My Software Estimation Technique
Collaboration & Mentorship
The Senior Engineer Illusion: What I Thought vs. What I Learned
My DOs and DON’Ts of Software Architecture
Lateral Thinking: How to Generate Innovative Ideas
Improving software architecture through – murder
10 Things You Should Never Say to Junior Developers
Falsehoods Junior Developers believe about becoming Senior
Databases
Things I Wished More Developers Knew About Databases
Architecture Pitfalls: Don’t use your ORM entities for everything — embrace the SQL!
Life Altering Postgresql Patterns
Reading Lists
Computer Science Papers Every Developer Should Read