The Software Engineer/Developer's Library
A library of books that every software engineer/developer should be aware of.
Inspried by tweet series
Software Engineering Books
- For Kids
- For Beginners and Juniors
- LEVEL UP
- Software Craftmanship
- Software Architecture
- The Art of Software Testing
- Devops
- Computer Science
- Don't Miss
- Turkish Books
Programming Languages Books
For Kids
Name | Author(s) |
---|---|
Scratch 2.0 Programming | Denis Golikov |
Hello World! Third Edition: Computer Programming for Kids and Other Beginners | 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 |
For Beginners and Juniors
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 |
LEVEL UP
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 |
Software Craftmanship
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 |
Street Coder: The rules to break and how to break them | Sedat Kapanoglu |
Software Architecture
Name | Author(s) |
---|---|
Clean Architecture: A Craftsman's Guide to Software Structure and Design | 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 |
The Art of Software Testing
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 |
Devops
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 |
Computer Science
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 |
Don't Miss
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 |
Programming Language Books
C
Name | Author(s) |
---|---|
C Programming Language | Brian Kernighan, Dennis Ritchie |
C How to Program | Harey Deitel |
Java
Name | Author(s) |
---|---|
Effective Java | Joshua Bloch |
Modern Java in Action: Lambdas, streams, functional and reactive programming | Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft |
Introduction to Java Programming and Data Structures, Comprehensive Version | Y. Daniel Liang |
Kotlin
Name | Author(s) |
---|---|
Kotlin Cookbook: A Problem-Focused Approach | Ken Kousen |
C#
Name | Author(s) |
---|---|
C# 10 and .NET 6 – Modern Cross-Platform Development | Mark J. Price |
Go
Name | Author(s) |
---|---|
Go Programming Language | Alan Donovan, Brian Kernighan |
Head First Go | Jay McGavren |
Python
Name | Author(s) |
---|---|
Python Crash Course: A Hands-On, Project-Based Introduction to Programming | Eric Matthes |
Swift
Name | Author(s) |
---|---|
Swift UI | Ray Wenderlich Tutorial Team |
Swift for Good | Antoine van der Lee, Paul Hudson, John Sundell and more |
Swift in Depth | Tjeerd in 't Veen |
Turkish Books
Name | Author(s) |
---|---|
Kaliteli Yazılım Nasıl Geliştirilir? | Zeynep Nur Aktaş |