Resources
A curated collection of books, videos, courses, and other educational resources that have shaped my understanding of software engineering, leadership, and professional development.
Books
Software Engineering & Architecture
Algorithms, 4th Edition
by Robert Sedgewick & Kevin Wayne
Essential text on data structures and algorithms analysis
Design Patterns: Elements of Reusable Object-Oriented Software
by Gang of Four (Gamma, Helm, Johnson, Vlissides)
The seminal work on software design patterns
99 Bottles of OOP
by Sandi Metz
Object-oriented programming and refactoring techniques
Advent of the Algorithm
by David Berlinski
History of algorithmic thinking and computer science origins
Leadership & Management
High Output Management
by Andy Grove
System for achieving lasting success in management
The Coaching Habit
by Michael Bungay Stanier
Seven essential questions for better leadership and coaching
Extreme Ownership
by Jocko Willink and Leif Babin
Leadership principles from Navy SEALs on taking responsibility
Crucial Conversations
by Kerry Patterson, Joseph Grenny, Ron McMillan, Al Switzler
Communication under high stakes, differing opinions, and strong emotions
Management
by Peter Drucker
Foundational management principles and practices
Personal Development
Deep Work
by Cal Newport
Professional activities in distraction-free concentration that create value
Ultralearning
by Scott Young
Strategies for learning hard things quickly and effectively
The Subtle Art of Not Giving a F*ck
by Mark Manson
Philosophy on focusing on what truly matters
DevOps & Cloud
Ansible for DevOps
by Jeff Geerling
Comprehensive guide to infrastructure automation with Ansible
Continuous Delivery
by Jez Humble and David Farley
Practices for reliable software releases
AI & Machine Learning
AI Engineering
by Chip Huyen
Building applications with foundation models
Online Courses
Programming & Development
React for Beginners
by Wes Bos
Thorough introduction to React for production applications
Advanced React
by Wes Bos
GraphQL, React, and React Testing
ES6 for Everyone
by Wes Bos
Comprehensive overview of ES6 JavaScript features
Algorithms Part 1
by Robert Sedgewick & Kevin Wayne (Princeton University)
Data structures and algorithms fundamentals
Cloud & DevOps
AWS Lambda
by A Cloud Guru
Serverless computing with AWS Lambda
AWS Certified Developer Associate
AWS certification preparation and cloud development practices
Test Driven Rails
by Upcase (thoughtbot)
Rails testing methodologies and best practices
Videos & Talks
Architecture & Design
Architecture—the Lost Years
by Robert C. Martin (Uncle Bob)
Clean Architecture principles and software design
Language in Context
by Eric Evans
Domain-Driven Design and ubiquitous language
Sandi Metz Collection
All the Little Things
Object-oriented design principles
Get a Whiff of This
Code smells and refactoring
Nothing is Something
Null object pattern and design
What Does OO Afford
Object-oriented programming benefits
Personal Development
The Power of Vulnerability
by Brené Brown
How vulnerability enables connection and authenticity
Listening to Shame
by Brené Brown
Understanding and dealing with shame
Business & Startups
pmarca Guide to Startups
by Marc Andreessen
Product/market fit and startup success factors
Educational Websites
InfoQ
Enterprise software development community and resources
Farnam Street
Decision making, mental models, and critical thinking
Test Double
Software consulting and development best practices
A* Algorithm Tutorial
by Amit Patel
Pathfinding algorithm explanation and implementation
This collection represents resources that have significantly contributed to my professional development as a software engineer and technical leader. Each resource offers practical insights that can be applied to real-world software development challenges.