Skip to content

It is a library of books that every software engineer/developer should be aware of.

License

Notifications You must be signed in to change notification settings

G-khan/the-software-engineer-library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 

Repository files navigation

The Software Engineer/Developer's Library

A library of books that every software engineer/developer should be aware of.

Inspired by tweet series

Software Engineering 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ş

For new books or any suggestion, just create an issue.

About

It is a library of books that every software engineer/developer should be aware of.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages