I'm always reading posts, articles, and papers from various sources on the Internet. In the last 4 years I have developed the habit of collecting the texts that are most relevant to me, and now that I've reached the number of 100 posts collected I think it's a good time to share them with you. I have divided them into some broad categories. The categories are organized in alphabetical order, although the posts themselves do not follow a specific order. Most of the texts are in English and some of them are in Portuguese. Enjoy!
APIs
- Best Practices for Designing a Pragmatic RESTful API
- API Gateways are going through an identity crisis
- API Versioning Has No "Right Way"
Architecture
- Unifying Mobile Onboarding Experiences at Uber
- What do you mean by "Event-Driven"?
- Focusing on Events
- 11 erros comuns em arquiteturas orientadas a eventos e como evitá-los
- Event Collaboration
- ParallelChange
- The evergreen cache
- The LMAX Architecture
- A primer on functional architecture
- A Brief History of Scaling LinkedIn
- The Architect Elevator — Visiting the upper floors
- BLIKI: Arquitetura de Software — EximiaCo.Tech
Blockchain
Carreer and personal development
- Programmer Competency Matrix
- LimitationsOfGeneralAdvice
- SoftwareDevelopmentAttitude
- Your obsession with learning might be holding you back
- How to get experience as a software engineer
- On Being A Senior Engineer
- What does sponsorship look like?
- A forty-year career.
- Pendulum swings
- How to Disagree
Development tools
Documentation
- Como escrever boas documentações
- Etsy's experiment with immutable documentation
- The Golden Rules of Code Documentation
- Our team broke up with instant-legacy releases and you can too
- Undervalued Software Engineering Skills: Writing Well
Incident management
- Introducing Dispatch
- Blameless PostMortems and a Just Culture
- Three months, 30x demand: How we scaled Google Meet during COVID-19
Microservices and distributed systems
- Best Practices for Building a Microservice Architecture
- Standing on Distributed Shoulders of Giants
- The rise of non-microservices architectures
- Thinking about Microservices: The Fiefdom and the Emissaries
- Where is my cache? Architectural patterns for caching microservices by example
- Patterns for Microservices — Sync vs. Async
- The Hardest Part About Microservices: Your Data
- The Hardest Part of Microservices: Calling Your Services
- Introducing Domain-Oriented Microservice Architecture
- Seven Hard-Earned Lessons Learned Migrating a Monolith to Microservices
- Backend-in-the-frontend: a pattern for cleaner code
- The Log: What every software engineer should know about real-time data's unifying abstraction
People, teams, and processes
- The Agile Fluency Model
- Why Your Employees Are Losing Motivation
- Our obsession with performance data is killing performance
- Evidence Based Scheduling
- 3 Habits of a Highly Effective Growth Engineering Team
- The epistemology of software quality
- Building a Platform Team — Laying the Foundations
- Maximizing Developer Effectiveness
- front-of-the-front-end and back-of-the-front-end web development
- Embrace the Grind
Product
- Design for the Novice, Configure for the Pro
- Once You’ve Solved for the Novice, You Need to Handle the Pro
- When a rewrite isn’t: rebuilding Slack on the desktop
Programming languages, design, and implementation
- Revenge of the Nerds
- Things You Should Never Do, Part I
- Python Design Patterns: For Sleek And Fashionable Code
- The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
- Efficiently Exploiting Multiple Cores with Python
- Python 3 Q & A
- DRY is about Knowledge
- Domain-Driven Design is Linguistic
- GoF Design Patterns — Sobreviveu ao teste do tempo?
- Design patterns of 1972
- Ralph Johnson on design patterns
- "Design Patterns" Aren't
- Monopólio de linguagens: uma perspectiva além de tecnologia
- Programming as translation
- Short Identifier
- Crash-only software: More than meets the eye
- Ignore All Web Performance Benchmarks, Including This One
- Too DRY — The Grep Test
- The Right Way to Bundle Your Assets for Faster Sites over HTTP/2
- Collection Pipeline
Security
Technical debts
- Chernobyl: The True Cost Of Technical Debt
- Three Tips for Managing Technical Debt: While Maintaining Developer Velocity (and Sanity)
- When Your Tech Debt Comes Due
- TechnicalDebtQuadrant
DevOps
- 5 Lessons Learned From Writing Over 300,000 Lines of Infrastructure Code
- Monitoring Check Smells
- The Calculus of Service Availability
- How to invest in technical infrastructure
- Why Google Stores Billions of Lines of Code in a Single Repository