A library of books that every software engineer/developer should be aware of.
Inspried by tweet series
Name | Author(s) |
---|---|
Scratch 2.0 Programming | Denis Golikov |
Hello World! Third Edition | Warren Sande, Carter Sande |
Coding For Kids For Dummies | Camille McCue |
Python for Kids: A Playful Introduction To Programming | Jason R. Briggs |
JavaScript for Kids: A Playful Introduction to Programming | Nick Morgan |
Name | Author(s) |
---|---|
Introduction to Algorithms | Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest ve Clifford Stein |
The Self-Taught Programmer: The Definitive Guide to Programming Professionally | Cory Althoff |
Code Simplicity: The Fundamentals of Software | Max Kanat-Alexander |
The Missing README: A Guide for the New Software Engineer | Chris Riccomini (Author), Dmitriy Ryaboy |
Programming Pearls | Jon Bentley |
The Art of Computer Programming Series | Donald Ervin Knut |
Learn to Program | Chris Pine |
Head First Learn to Code: A Learner's Guide to Coding and Computational Thinking | Eric Freeman |
Head First Object-Oriented Analysis and Design | Brett McLaughlin, Gary Pollice, Dave West |
Name | Author(s) |
---|---|
Clean Code: A Handbook of Agile Software Craftmanship | Robert Martin |
The Pragmatic Programmer: From Journeyman to Master | Andy Hunt, Dave Thomas |
Code: The Hidden Language of Computer Hardware and Software | Charles Petzold |
Design Patterns: Elements of Reusable Object-Oriented Software | Richard Helm, Erich Gamma Ralph Johnson, John Vlissides, Grady Booch |
Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software | Eric Freeman, Elisabeth Robson |
Code Complete: A Practical Handbook of Software Construction | Steve McConnell |
Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People | Bhargava Aditya |
97 Things Every Programmer Should Know | Kevlin Henney |
Unit Testing Principles, Practices, and Patterns | Vladimir Khorikov |
Name | Author(s) |
---|---|
The Software Craftsman: Professionalism, Pragmatism, Pride | Sandro Mancuso |
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems | Martin Kleppmann |
Refactoring: Improving the Design of Existing Code | Martin Fowler |
Clean Craftsmanship: Disciplines, Standards, and Ethics | Robert C. Martin |
Clean Coder, The: A Code of Conduct for Professional Programmers | Robert C. Martin |
Software Engineering at Google: Lessons Learned from Programming Over Time | Titus Winters, Tom Manshreck, Hyrum K. Wright |
Staff Engineer: Leadership beyond the management track | Will Larson |
The Practice of Programming | Brian Kernighan, Rob Pike |
Beyond Legacy Code: Nine Practices to Extend the Life (and Value) of Your Software | David Scott Bernstein |
The Art of Readable Code: Simple and Practical Techniques for Writing Better Code | Dustin Boswell, Trevor Foucher |
Name | Author(s) |
---|---|
Clean Architecture | Robert Martin |
Domain-Driven Design: Tackling Complexity in the Heart of Software | Eric Evans |
Patterns of Enterprise Application Architecture | Robert Martin |
Building Event-Driven Microservices: Leveraging Organizational Data at Scale | Adam Bellemare |
Fundamentals of Software Architecture: An Engineering Approach | Mark Richards, Neal Ford |
Building Microservices: Designing Fine-Grained Systems | Sam Newman |
Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services | Brendan Burns |
Software Architect's Handbook | Joseph Ingeno |
Microservices Patterns: With examples in Java | Chris Richardson |
Building Mobile Apps at Scale: 39 Engineering Challenges | Gergely Orosz |
Name | Author(s) |
---|---|
Software Testing | Ron Patton |
Software Automation Testing Secrets Revealed Series | Narayanan Palani |
The Self-Taught Software Tester A Step By Step Guide to Learn Software Testing Using Real-Life Project | Chhavi Raj Dosaj |
Buddha in Testing: Finding Peace in Chaos | Pradeep Soundararajan |
The Art of Software Testing | Glenford J. Myers and Tom Badgett |
Penetration Testing – A Hands-On Introduction to Hacking | Georgia Weidman |
Name | Author(s) |
---|---|
The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win | Gene Kim, Kevin Behr, George Spafford |
Kubernetes for Developers | William Denniss |
Release It!: Design and Deploy Production-Ready Software | Michael T. Nygard |
Scalability Rules: Principles for Scaling Web Sites | Martin L. Abbott, Michael T. Fisher |
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation | Jez Humble, David Farley |
# Web Scalability for Startup Engineers | Artur Ejsmont |
Name | Author(s) |
---|---|
Artificial Intelligence For Dummies | John Paul Mueller, Luca Massaron |
Modern Operating Systems | Andrew Tanenbaum, Herbert Bos |
Database Internals: A Deep Dive into How Distributed Data Systems Work | Alex Petrov |
Systems Performance | Brendan Gregg |
Operating System Concepts | Abraham Silberschatz, Greg Gagne, Peter B. Galvin |
Database System Concepts | Abraham Silberschatz, Henry Korth, S. Sudarshan |
Operating Systems: Three Easy Pieces | Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau |
Name | Author(s) |
---|---|
Androids: The Team That Built the Android Operating System | Chet Haase |
Peopleware: Productive Projects and Teams | Tom DeMarco, Timothy Lister |
The Psychology of Computer Programming | Gerald Weinberg |
The Society of Mind | Marvin Minsky |