100 Best Technical Books of All Time

We've ranked the best technical books using expert recommendations, sales data, and millions of reader ratings. At Shortform, we know books. Our book guides are the best in the world. Learn why.

The Pragmatic Programmer: From Journeyman to Master book cover1

The Pragmatic Programmer: From Journeyman to Master

Andrew Hunt and David Thomas

5.0
-- Ward Cunningham Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques fo
Clean Code: A Handbook of Agile Software Craftsmanship book cover2

Clean Code: A Handbook of Agile Software Craftsmanship

Robert C. Martin

5.0
Even bad code can function. But if code isn t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn t have to be that way.
Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship . Martin has teamed up with
The Mythical Man-Month: Essays on Software Engineering book cover3

The Mythical Man-Month: Essays on Software Engineering

Frederick P. Brooks Jr.

4.9
Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 20
4

Code Complete

Steve McConnell

4.8
Widely considered one of the best practical guides to programming, Steve McConnell's original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software construction. Capturing the body of knowledge availab
The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win book cover5

The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win

Gene Kim

4.8
Bill is an IT manager at Parts Unlimited. It's Tuesday morning and on his drive into the office, Bill gets a call from the CEO.

The company's new IT initiative, code named Phoenix Project, is critical to the future of Parts Unlimited, but the project is massively over budget and very late. The CEO wants Bill to report directly to him and fix the mess in ninety days or else Bill's entire department
Design Patterns: Elements of Reusable Object-Oriented Software book cover6

Design Patterns: Elements of Reusable Object-Oriented Software

Erich; Helm John Gamma

4.7
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.

The authors begin by
Structure and Interpretation of Computer Programs book cover7

Structure and Interpretation of Computer Programs

Harold Abelson and Gerald Jay Sussman

4.7
Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experienc
Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability book cover8

Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability

Steve Krug

4.7
Since Don’t Make Me Think was first published in 2000, over 400,000 Web designers and developers have relied on Steve Krug’s guide to help them understand the principles of intuitive navigation and information design.

In this 3rd edition, Steve returns with fresh perspective to reexamine the principles that made Don’t Make Me Think a classic-–with updated examples and a new chapter on mobile usabil
9

The Clean Coder: A Code of Conduct for Professional Programmers

Robert Martin

4.7
Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software. They treat it as a craft. They are professionals. In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true
The Design of Everyday Things book cover10

The Design of Everyday Things

Don Norman

4.7
Even the smartest among us can feel inept as we fail to figure out which light switch or oven burner to turn on, or whether to push, pull, or slide a door. The fault, argues this ingenious—even liberating—book, lies not in ourselves, but in product design that ignores the needs of users and the principles of cognitive psychology. The problems range from ambiguous and hidden controls to arbitrary r
Refactoring: Improving the Design of Existing Code book cover11

Refactoring: Improving the Design of Existing Code

Martin Fowler

4.6
Fully Revised and Updated-Includes New Refactorings and Code Examples"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
--M. Fowler (1999) For more than twenty years, experienced programmers worldwide have relied on Martin Fowler's Refactoring to improve the design of existing code and to enhance software maintainability, as well as to
Head First Design Patterns book cover12

Head First Design Patterns

Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson

4.6
You're not alone.

At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you
Cracking the Coding Interview: 189 Programming Questions and Solutions book cover13

Cracking the Coding Interview: 189 Programming Questions and Solutions

Gayle Laakmann McDowell

4.6
I am not a recruiter. I am a software engineer. And as such, I know what it's like to be asked to whip up brilliant algorithms on the spot and then write flawless code on a whiteboard. I've been through this as a candidate and as an interviewer.

Cracking the Coding Interview, 6th Edition is here to help you through this process, teaching you what you need to know and enabling you to perform at your
Designing Data-Intensive Applications book cover14

Designing Data-Intensive Applications

Martin Kleppmann

4.6
Many forces affect software today: larger datasets, geographical disparities, complex company structures, and the growing need to be fast and nimble in the face of change.

Proven approaches such as service-oriented and event-driven architectures are joined by newer techniques such as microservices, reactive architectures, DevOps, and stream processing. Many of these patterns are successful by thems
Introduction To Algorithms book cover15

Introduction To Algorithms

Thomas H. Cormen, Charles E. Leiserson, et al.

4.6
JavaScript: The Good Parts book cover16

JavaScript: The Good Parts

Douglas Crockford

4.5
Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative book scrapes away these bad features to reveal a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole--a subset you can use to create truly extensible and
Effective Java book cover17

Effective Java

Joshua Bloch

4.5
Since this Jolt-award winning classic was last updated in 2008 (shortly after Java 6 was released), Java has changed dramatically. The principal enhancement in Java 8 was the addition of functional programming constructs to Java's object-oriented roots. Java 7, 8, and 9 also introduced language features, such as the try-with-resources statement, the diamond operator for generic types, default and
18

The C Programming Language

Brian W. Kernighan, Dennis M. Ritchie

4.5
This book is meant to help the reader learn how to program in C. It is the definitive reference guide, now in a second edition. Although the first edition was written in 1978, it continues to be a worldwide best-seller. This second edition brings the classic original up to date to include the ANSI standard.

From the Preface:
We have tried to retain the brevity of the first edition. C is not a bi
Domain-Driven Design: Tackling Complexity in the Heart of Software book cover19

Domain-Driven Design: Tackling Complexity in the Heart of Software

Eric Evans

4.5
"Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric th
Working Effectively with Legacy Code book cover20

Working Effectively with Legacy Code

Michael Feathers

4.4
Get more out of your legacy systems, more performance, functionality, reliability, and manageability.Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts.

In this book, Michael Feathers offers start-t
Code: The Hidden Language of Computer Hardware and Software book cover21

Code: The Hidden Language of Computer Hardware and Software

Charles Petzold

4.4
What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of communicating with each other. And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries.

Using everyday objects and fam
Building Microservices: Designing Fine-Grained Systems book cover22

Building Microservices: Designing Fine-Grained Systems

Sam Newman

4.4
Distributed systems have become more fine-grained in the past 10 years, shifting from code-heavy monolithic applications to smaller, self-contained microservices. But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and
Patterns of Enterprise Application Architecture book cover23

Patterns of Enterprise Application Architecture

Martin Fowler

4.4
The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their develop
24

Rework

Jason Fried, David Heinemeier Hansson

4.4
Most business books give you the same old advice: Write a business plan, study the competition, seek investors, yadda yadda. If you're looking for a book like that, put this one back on the shelf.

Rework shows you a better, faster, easier way to succeed in business. Read it and you'll know why plans are actually harmful, why you don't need outside investors, and why you're better off ignoring the c
The Goal: A Process of Ongoing Improvement book cover26

The Goal: A Process of Ongoing Improvement

Eliyahu M. Goldratt, Jeff Cox

4.4
Written in a fast-paced thriller style, 'The Goal' contains a serious message for all managers in industry and explains the ideas which underline the Theory of Constraints developed by the author.
27

Peopleware: Productive Projects and Teams

Tom DeMarco and Tim Lister

4.4
Algorithms to Live By: The Computer Science of Human Decisions book cover28

Algorithms to Live By: The Computer Science of Human Decisions

Brian Christian and Griffiths

4.3
A fascinating exploration of how insights from computer algorithms can be applied to our everyday lives, helping to solve common decision-making problems and illuminate the workings of the human mind

All our lives are constrained by limited space and time, limits that give rise to a particular set of problems. What should we do, or leave undone, in a day or a lifetime? How much messiness should we
29

Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation

Jez Humble and David Farley

4.3
Winner of the 2011 Jolt Excellence Award!

Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration betwe
Coders at Work: Reflections on the Craft of Programming book cover30

Coders at Work: Reflections on the Craft of Programming

Peter Seibel

4.3
Peter Seibel interviews 16 of the most interesting computer programmers alive today in Coders at Work, offering a brand-new companion volume to Apress’s highly acclaimed best-seller Founders at Work by Jessica Livingston. As the words "at work" suggest, Peter Seibel focuses on how his interviewees tackle the day–to–day work of programming, while revealing much more, like how they became great prog
Clean Architecture book cover31

Clean Architecture

Robert C. Martin

4.3
Building upon the success of best-sellers The Clean Coder and Clean Code, legendary software craftsman Robert C. "Uncle Bob" Martin shows how to bring greater professionalism and discipline to application architecture and design.
As with his other books, Martin's Clean Architecture doesn't merely present multiple choices and options, and say "use your best judgment": it tells you what choices to ma
32

Effective C++: 55 Specific Ways to Improve Your Programs and Designs

Scott Meyers

4.3
The Barnes & Noble Review
Since early in the 90s, working C++ programmers have relied on Scott Meyers s Effective C++ to dramatically improve their skills. But the state-of-the-art has moved forward dramatically since Meyers last updated this book in 1997. (For instance, there s now STL. Design patterns. Even new functionality being added through TR1 and Boost.) So Meyers has done a top-to-bottom r
Gödel, Escher, Bach: An Eternal Golden Braid book cover33

Gödel, Escher, Bach: An Eternal Golden Braid

Douglas R. Hofstadter

4.3
Douglas Hofstadter's book is concerned directly with the nature of “maps” or links between formal systems. However, according to Hofstadter, the formal system that underlies all mental activity transcends the system that supports it. If life can grow out of the formal chemical substrate of the cell, if consciousness can emerge out of a formal system of firing neurons, then so too will computers at
34

Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)

Michael T. Nygard

4.3
Whether it's in Java, .NET, or Ruby on Rails, getting your application ready to ship is only half the battle. Did you design your system to survivef a sudden rush of visitors from Digg or Slashdot? Or an influx of real world customers from 100 different countries? Are you ready for a world filled with flakey networks, tangled databases, and impatient users?

If you're a developer and don't want to b
Test Driven Development: By Example book cover35

Test Driven Development: By Example

Kent Beck

4.3
Follows two TDD projects from start to finish, illustrating techniques programmers can use to increase the quality of their work. The examples are followed by references to the featured TDD patterns and refactorings. This book emphasises on agile methods and fast development strategies.
The Visual Display of Quantitative Information book cover36

The Visual Display of Quantitative Information

Edward R. Tufte

4.3
The classic book on statistical graphics, charts, tables. Theory and practice in the design of data graphics, 250 illustrations of the best (and a few of the worst) statistical graphics, with detailed analysis of how to display data for precise, effective, quick analysis. Design of the high-resolution displays, small multiples. Editing and improving graphics. The data-ink ratio. Time-series, relat
Pro Git book cover37

Pro Git

Scott Chacon

4.3
Git is the version control system developed by Linus Torvalds for Linux kernel development. It took the open source world by storm since its inception in 2005, and is used by small development shops and giants like Google, Red Hat, and IBM, and of course many open source projects.

A book by Git experts to turn you into a Git expert. Introduces the world of distributed version control Shows how to b
Java Concurrency in Practice book cover38

Java Concurrency in Practice

Brian Goetz

4.3
"I was fortunate indeed to have worked with a fantastic team on the design and implementation of the concurrency features added to the Java platform in Java 5.0 and Java 6. Now this same team provides the best explanation yet of these new features, and of concurrency in general. Concurrency is no longer a subject for advanced users only. Every Java developer should read this book."
--Martin Buchhol
39

Programming Pearls

Jon Bentley

4.3
The first edition of Programming Pearls was one of the most influential books I read early in my career, and many of the insights I first encountered in that book stayed with me long after I read it. Jon has done a wonderful job of updating the material. I am very impressed at how fresh the new examples seem. - Steve McConnell When programmers list their favorite books, Jon Bentley's collection of
40

Artificial Intelligence: A Modern Approach

Stuart Russell and Peter Norvig

4.3
For one or two-semester, undergraduate or graduate-level courses in Artificial Intelligence. The long-anticipated revision of this best-selling text offers the most comprehensive, up-to-date introduction to the theory and practice of artificial intelligence. *NEW-Nontechnical learning material-Accompanies each part of the book. *NEW-The Internet as a sample application for intelligent systems-Adde
The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change book cover41

The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change

Camille Fournier

4.2
Managing people is difficult wherever you work, but the tech industry as a whole is pretty bad at it. Tech companies in general lack the experience, tools, texts, and frameworks to do it well. And the handful of books that share tips and tricks of engineering management don t explain how to supervise employees in the face of growth and change.

In this book, author Camille Fournier takes you through
Site Reliability Engineering: How Google Runs Production Systems book cover42

Site Reliability Engineering: How Google Runs Production Systems

Niall Richard Murphy, Betsy Beyer, et al.

4.2
The overwhelming majority of a software system's lifespan is spent in use, not in design or implementation. So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems?

In this collection of essays and articles, key members of Google's Site Reliability Team explain how and why their commitment to the entire lifecycle
43

The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations

Gene Kim, Patrick Debois, John Willis, Jez Humble, John Allspaw

4.2
Increase profitability, elevate work culture, and exceed productivity goals through DevOps practices.

More than ever, the effective management of technology is critical for business competitiveness. For decades, technology leaders have struggled to balance agility, reliability, and security. The consequences of failure have never been greater whether it's the healthcare.gov debacle, cardholder data
Eloquent Javascript: A Modern Introduction to Programming book cover44

Eloquent Javascript: A Modern Introduction to Programming

Marijn Haverbeke

4.2
Completely revised and updated, this best-selling introduction to programming in JavaScript focuses on writing real applications.

Eloquent JavaScript dives into the JavaScript language to show programmers how to write elegant, effective JavaScript code. Like any good programming book, Eloquent JavaScript begins with fundamentals--variables, control structures, functions, and data structures--then m
45

An Introduction to Statistical Learning: With Applications in R

Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani

4.2
An Introduction to Statistical Learning provides an accessible overview of the field of statistical learning, an essential toolset for making sense of the vast and complex data sets that have emerged in fields ranging from biology to finance to marketing to astrophysics in the past twenty years. This book presents some of the most important modeling and prediction techniques, along with relevant a
JavaScript: The Definitive Guide book cover46

JavaScript: The Definitive Guide

David Flanagan

4.2
Since 1996, JavaScript: The Definitive Guide has been the bible for JavaScript programmers—a programmer's guide and comprehensive reference to the core language and to the client-side JavaScript APIs defined by web browsers. The 6th edition covers HTML5 and ECMAScript 5, with new chapters on jQuery and server side JavaScript. It's recommended for experienced programmers who want to learn the progr
47

The C++ Programming Language

Bjarne Stroustrup

4.2
The new C++11 standard allows programmers to express ideas more clearly, simply, and directly, and to write faster, more efficient code. Bjarne Stroustrup, the designer and original implementer of C++, has reorganized, extended, and completely rewritten his definitive reference and tutorial for programmers who want to use C++ most effectively. "The C++ Programming Language, Fourth Edition, " deliv
49

Growing Object-Oriented Software, Guided by Tests

Steve Freeman, Nat Pryce

4.2
Foreword by Kent Beck "The authors of this book have led a revolution in the craft of programming by controlling the environment in which software grows." --Ward Cunningham "At last, a book suffused with code that exposes the deep symbiosis between TDD and OOD. This one's a keeper." --Robert C. Martin "If you want to be an expert in the state of the art in TDD, you need to understand the ideas i
50

Deep Learning

Ian Goodfellow, Yoshua Bengio, et al.

4.2
An introduction to a broad range of topics in deep learning, covering mathematical and conceptual background, deep learning techniques used in industry, and research perspectives.

Deep learning is a form of machine learning that enables computers to learn from experience and understand the world in terms of a hierarchy of concepts. Because the computer gathers knowledge from experience, there is no
Mastering Regular Expressions book cover51

Mastering Regular Expressions

Jeffrey E. F. Friedl

4.2
Regular expressions are an extremely powerful tool for manipulating text and data. They are now standard features in a wide range of languages and popular tools, including Perl, Python, Ruby, Java, VB.NET and C# (and any language using the .NET Framework), PHP, and MySQL.

If you don't use regular expressions yet, you will discover in this book a whole new world of mastery over your data. If you alr
The Elements of Statistical Learning: Data Mining, Inference, and Prediction book cover52

The Elements of Statistical Learning: Data Mining, Inference, and Prediction

Trevor Hastie, Robert Tibshirani, Jerome Friedman

4.2

During the past decade there has been an explosion in computation and information technology. With it have come vast amounts of data in a variety of fields such as medicine, biology, finance, and marketing. The challenge of understanding these data has led to the development of new tools in the field of statistics, and spawned new areas such as data mining, machine learning, and bioinformatics. Ma

Compilers: Principles, Techniques, and Tools book cover53

Compilers: Principles, Techniques, and Tools

Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman

4.2
This introduction to compilers is the direct descendant of the well-known book by Aho and Ullman, Principles of Compiler Design. The authors present updated coverage of compilers based on research and techniques that have been developed in the field over the past few years. The book provides a thorough introduction to compiler design and covers topics such as context-free grammars, fine state mach
55

The Passionate Programmer: Creating a Remarkable Career in Software Development

Chad Fowler

4.2
Success in today's IT environment requires you to view your career as a business endeavor. In this book, you'll learn how to become an entrepreneur, driving your career in the direction of your choosing. You'll learn how to build your software development career step by step, following the same path that you would follow if you were building, marketing, and selling a product. After all, your skill
56

Programming Perl: Unmatched power for text processing and scripting

Tom Christiansen, brian d foy, et al.

4.1
Adopted as the undisputed Perl bible soon after the first edition appeared in 1991, Programming Perl is still the go-to guide for this highly practical language. Perl began life as a super-fueled text processing utility, but quickly evolved into a general purpose programming language that’s helped hundreds of thousands of programmers, system administrators, and enthusiasts, like you, get your job
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions book cover57

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

Gregor Hohpe, Bobby Woolf

4.1
Enterprise Integration Patterns provides an invaluable catalog of sixty-five patterns, with real-world solutions that demonstrate the formidable of messaging and help you to design effective messaging solutions for your enterprise. The authors also include examples covering a variety of different integration technologies, such as JMS, MSMQ, TIBCO ActiveEnterprise, Microsoft BizTalk, SOAP, and XSL.
58

Extreme Programming Explained: Embrace Change (The XP Series)

Kent Beck

4.1
"In this second edition of Extreme Programming Explained, Kent Beck organizes and presents five years' worth of experiences, growth, and change revolving around XP. If you are seriously interested in understanding how you and your team can start down the path of improvement with XP, you must read this book."



--Francesco Cirillo, Chief Executive Officer, XPLabs S.R.L. "The first edition of this bo
Hackers & Painters: Big Ideas from the Computer Age book cover59

Hackers & Painters: Big Ideas from the Computer Age

Paul Graham

4.1
“The computer world is like an intellectual Wild West, in which you can shoot anyone you wish with your ideas, if you’re willing to risk the consequences.” —from Hackers & Painters: Big Ideas from the Computer Age, by Paul Graham

We are living in the computer age, in a world increasingly designed and engineered by computer programmers and software designers, by people who call themselves hackers. W
Storytelling with Data: A Data Visualization Guide for Business Professionals book cover60

Storytelling with Data: A Data Visualization Guide for Business Professionals

Cole Nussbaumer Knaflic

4.1
Don't simply show your data--tell a story with it!Storytelling with Data teaches you the fundamentals of data visualization and how to communicate effectively with data. You'll discover the power of storytelling and the way to make data a pivotal point in your story. The lessons in this illuminative text are grounded in theory, but made accessible through numerous real-world examples--ready for im
Practical Object Oriented Design in Ruby book cover61

Practical Object Oriented Design in Ruby

Sandi Metz

4.1
The Complete Guide to Writing More Maintainable, Manageable, Pleasing, and Powerful Ruby Applications Ruby's widely admired ease of use has a downside: Too many Ruby and Rails applications have been created without concern for their long-term maintenance or evolution. The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using
62

The Art of Computer Programming, Volume 1: Fundamental Algorithms

Donald E. Knuth

4.1
The first revision of this third volume is the most comprehensivesurvey of classical computer techniques for sorting and searching. It extends thetreatment of data structures in Volume 1 to consider both large and smalldatabases and internal and external memories. The book contains a selection ofcarefully checked computer methods, with a quantitative analysis of theirefficiency. Outstanding featur
63

Pragmatic Thinking and Learning: Refactor Your Wetware

Andy Hunt

4.1
Software development happens in your head. Not in an editor, IDE, or design tool. You're well educated on how to work with software and hardware, but what about wetware--our own brains? Learning new skills and new technology is critical to your career, and it's all in your head.

In this book by Andy Hunt, you'll learn how our brains are wired, and how to take advantage of your brain's architecture
Learning Python book cover64

Learning Python

Mark Lutz

4.1
Portable, powerful, and a breeze to use, Python is the popular open source object-oriented programming language used for both standalone programs and scripting applications. Python is considered easy to learn, but there's no quicker way to mastery of the language than learning from an expert teacher. This edition of "Learning Python" puts you in the hands of two expert teachers, Mark Lutz and Davi
Data Structures and Algorithms in Java book cover65

Data Structures and Algorithms in Java

Robert Sedgewick and Kevin Wayne

4.1
The design and analysis of efficient data structures has long been recognized as a key component of the Computer Science curriculum. Goodrich, Tomassia and Goldwasser's approach to this classic topic is based on the object-oriented paradigm as the framework of choice for the design of data structures. For each ADT presented in the text, the authors provide an associated Java interface. Concrete da
66

Programming in Scala: Updated for Scala 2.12

Martin Odersky, Lex Spoon, Bill Venners

4.1
Programming in Scala
67

Applied Cryptography: Protocols, Algorithms, and Source Code in C

Bruce Schneier

4.1
"…the best introduction to cryptography I've ever seen. … The book the National Security Agency wanted never to be published." –Wired Magazine

"…monumental… fascinating… comprehensive… the definitive work on cryptography for computer programmers…" –Dr. Dobb's Journal

"…easily ranks as one of the most authoritative in its field." —PC Magazine

"…the bible of code hackers." –The Millennium Whole Earth
68

Agile Software Development, Principles, Patterns, and Practices

Robert C. Martin

4.1
Written by a software developer for software developers, this book is a unique collection of the latest software development methods. The author includes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C++ and Java. Using a practical, problem-solving approach, it shows how to develop an object-oriented application--
69

Learn You a Haskell for Great Good!

Miran Lipovača

4.1

Learn You a Haskell for Great Good! is a fun, illustrated guide to learning Haskell, a functional programming language that's growing in popularity. Learn You a Haskell for Great Good! introduces programmers familiar with imperative languages (such as C++, Java, or Python) to the unique aspects of functional programming. Packed with jokes, pop culture references, and the author's own hilarious art

Fluent Python: Clear, Concise, and Effective Programming book cover70

Fluent Python: Clear, Concise, and Effective Programming

Luciano Ramalho

4.1
Python's simplicity lets you become productive quickly, but this often means you aren't using everything it has to offer. With this hands-on guide, you'll learn how to write effective, idiomatic Python code by leveraging its best and possibly most neglected features. Author Luciano Ramalho takes you through Python's core language features and libraries, and shows you how to make your code shorter,
71

Hacking: The Art of Exploitation

Jon Erickson

4.1
Hacking is the art of creative problem solving, whether that means finding an unconventional solution to a difficult problem or exploiting holes in sloppy programming. Many people call themselves hackers, but few have the strong technical foundation needed to really push the envelope.

Rather than merely showing how to run existing exploits, author Jon Erickson explains how arcane hacking techniques
72

Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems

Geron

4.1
Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. Now, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. This practical book shows you how.

By using concrete examples, minimal theory, and two production-ready Python frameworks-scikit-learn and

Head First Java book cover73

Head First Java

Kathy Sierra and Bert Bates

4.1
Learning a complex new language is no easy task especially when it s an object-oriented computer programming language like Java. You might think the problem is your brain. It seems to have a mind of its own, a mind that doesn't always want to take in the dry, technical stuff you're forced to study.

The fact is your brain craves novelty. It's constantly searching, scanning, waiting for something un
74

Technology Made Simple for the Technical Recruiter, Second Edition: A Technical Skills Primer

Obi Ogbanufe

4.1
If you're a technical recruiter who wants to keep your skills up to date in the competitive field of technical resource placement, you need a detailed guidebook to outpace competitors. This technical skills primer focuses on technology fundamentals-from basic programming terms to big data vocabulary, network lingo, operating system jargon, and other crucial skill sets. Topics covered include -samp
Automate the Boring Stuff with Python: Practical Programming for Total Beginners book cover75

Automate the Boring Stuff with Python: Practical Programming for Total Beginners

Al Sweigart

4.1
If you've ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you?

In "Automate the Boring Stuff with Python," you'll learn how to use Python to write programs that do in minutes what would take you hours to do by hand no prior programming experience required. Once you've master
Pattern Recognition and Machine Learning book cover76

Pattern Recognition and Machine Learning

Christopher M. Bishop

4.1
Pattern recognition has its origins in engineering, whereas machine learning grew out of computer science. However, these activities can be viewed as two facets of the same field, and together they have undergone substantial development over the past ten years. In particular, Bayesian methods have grown from a specialist niche to become mainstream, while graphical models have emerged as a general
Liftoff: Elon Musk and the Desperate Early Days that Launched SpaceX book cover77

Liftoff: Elon Musk and the Desperate Early Days that Launched SpaceX

Eric Berger, Rob Shapiro, and HarperAudio

4.1
Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People book cover78

Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People

Aditya Bhargava

4.0
An algorithm is nothing more than a step-by-step procedure for solving a problem. The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. If you want to take a hard pass on Knuth's brilliant but impenetrable theories and the dense multi-page proofs you'll find in most textbooks, this is the book for you. This fully-illustrated and engaging guide makes
79

Seven Languages in Seven Weeks

Bruce Tate

4.0
You should learn a programming language every year, as recommended by The Pragmatic Programmer. But if one per year is good, how about Seven Languages in Seven Weeks? In this book you'll get a hands-on tour of Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby. Whether or not your favorite language is on that list, you'll broaden your perspective of programming by examining these languages side
Agile Principles, Patterns, and Practices in C# book cover80

Agile Principles, Patterns, and Practices in C#

Robert C. Martin and Micah Martin

4.0
With the award-winning book Agile Software Development: Principles, Patterns, and Practices, Robert C. Martin helped bring Agile principles to tens of thousands of Java and C++ programmers. Now .NET programmers have a definitive guide to agile methods with this completely updated volume from Robert C. Martin and Micah Martin, Agile Principles, Patterns, and Practices in C#.

This book presents a
81

Practical Vim: Edit Text at the Speed of Thought

Drew Neil

4.0
Vim is a fast and efficient text editor that will make you a faster and more efficient developer. It's available on almost every OS--if you master the techniques in this book, you'll never need another text editor. Practical Vim shows you 120 vim recipes so you can quickly learn the editor's core functionality and tackle your trickiest editing and writing tasks.

Vim, like its classic ancestor vi,
Accelerate: Building and Scaling High-Performing Technology Organizations book cover82

Accelerate: Building and Scaling High-Performing Technology Organizations

Nicole Forsgren PhD

4.0
Does technology actually matter? And how can we apply technology to drive business value? For years, we've been told that the performance of software delivery teams doesn't matter--that it can't provide a competitive advantage to our companies. Through four years of groundbreaking research, Dr. Nicole Forsgren, Jez Humble, and Gene Kim set out to find a way to measure software delivery performance
Joel on Software book cover83

Joel on Software

Joel Spolsky

4.0
Someone once said that the task of a writer is to "make the familiar new and the new familiar". For years, Joel Spolsky has done exactly this at www.joelonsoftware.com. Now, for the first time, you can own a collection of the most important essays from his site in one book, with exclusive commentary and new insights from joel.
84

The Protocols (TCP/IP Illustrated, Volume 1)

W. Richard Stevens

4.0
Unix and Linux System Administration Handbook book cover85

Unix and Linux System Administration Handbook

Evi Nemeth, Garth Snyder, et al.

4.0
"As an author, editor, and publisher, I never paid much attention to the competition--except in a few cases. This is one of those cases. The UNIX System Administration Handbook is one of the few books we ever measured ourselves against." --Tim O'Reilly, founder of O'Reilly Media "This edition is for those whose systems live in the cloud or in virtualized data centers; those whose administrative wo
86

Refactoring to Patterns

Joshua Kerievsky

4.0
In 1994, "Design Patterns" changed the landscape of object-oriented development by introducing classic solutions to recurring design problems. In 1999, "Refactoring" revolutionized design by introducing an effective process for improving code. With the highly anticipated " Refactoring to Patterns ," Joshua Kerievsky has changed our approach to design by forever uniting patterns with the evolutiona
The Art of Electronics book cover87

The Art of Electronics

Paul Horowitz, Winfield Hill

4.0
This is the thoroughly revised and updated Second Edition of the single, authoritative text and reference on electronic circuit design--both analog and digital. It emphasizes the methods actually used by circuit designers--a combination of some basic laws, rules of thumb, and a large bag of tricks. This completely new edition responds to the breakneck pace of change in electronics with a large num
88

Types and Programming Languages

Benjamin C. Pierce

4.0
A comprehensive introduction to type systems and programming languages.

A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of type systems--and of programming languages from a type-theoretic perspective--has important applications in software engineering, la
Computer Organization & Design: The Hardware/Software Interface book cover89

Computer Organization & Design: The Hardware/Software Interface

David A. Patterson, John L. Hennessy

4.0
The performance of software systems is dramatically affected by how well software designers understand the basic hardware technologies at work in a system. Similarly, hardware designers must understand the far-reaching effects their design decisions have on software applications. For readers in either category, this classic introduction to the field provides a look deep into the computer. It demon
90

Rapid Development: Taming Wild Software Schedules

Steve McConnell

4.0
A fundamental software engineering project management guide based on the practical requirements of "Taming Wild Software Schedules". Emphasizes possible, realistic and "best practice" approaches for managers, technical leads and self-managed teams. The author emphasizes efficient development concepts with an examination of rapid development strategies and a study of classic mistakes, within the co
91

UML Distilled: A Brief Guide to the Standard Object Modeling Language

Martin Fowler

4.0
More than 300,000 developers have benefited from past editions of UML Distilled . This third edition is the best resource for quick, no-nonsense insights into understanding and using UML 2.0 and prior versions of the UML. Some readers will want to quickly get up to speed with the UML 2.0 and learn the essentials of the UML. Others will use this book as a handy, quick reference to the most common
HTML and CSS: Design and Build Websites book cover92

HTML and CSS: Design and Build Websites

Jon Duckett

4.0
Every day, more and more people want to learn some HTML and CSS. Joining the professional web designers and programmers are new audiences who need to know a little bit of code at work (update a content management system or e-commerce store) and those who want to make their personal blogs more attractive. Many books teaching HTML and CSS are dry and only written for those who want to become program
Concrete Mathematics: A Foundation for Computer Science book cover93

Concrete Mathematics: A Foundation for Computer Science

Ronald L. Graham, Donald E. Knuth, et al.

4.0
Concrete Mathematics is a blending of CONtinuous and disCRETE mathematics. "More concretely," the authors explain, "it is the controlled manipulation of mathematical formulas, using a collection of techniques for solving problems."
Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 book cover94

Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14

Scott Meyers

4.0
Coming to grips with C++11 and C++14 is more than a matter of familiarizing yourself with the features they introduce (e.g., auto type declarations, move semantics, lambda expressions, and concurrency support). The challenge is learning to use those features effectively--so that your software is correct, efficient, maintainable, and portable. That's where this practical book comes in. It describes
95

More Effective C++: 35 New Ways to Improve Your Programs and Designs, PDF Version

Scott Meyers

4.0
96

Thinking in Java

Bruce Eckel

4.0
High Performance Browser Networking book cover97

High Performance Browser Networking

Ilya Grigorik

4.0
How prepared are you to build fast and efficient web applications? This eloquent book provides what every web developer should know about the network, from fundamental limitations that affect performance to major innovations for building even more powerful browser applications—including HTTP 2.0 and XHR improvements, Server-Sent Events (SSE), WebSocket, and WebRTC.

Author Ilya Grigorik, a web perfo
98

NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence

Pramod J. Sadalage

4.0
The need to handle increasingly larger data volumes is one factor driving the adoption of a new class of nonrelational "NoSQL" databases. Advocates of NoSQL databases claim they can be used to build systems that are more performant, scale better, and are easier to program." ""NoSQL Distilled" is a concise but thorough introduction to this rapidly emerging technology. Pramod J. Sadalage and Martin
Technical Manual and Dictionary of Classical Ballet book cover99

Technical Manual and Dictionary of Classical Ballet

Gail Grant

4.0
"Miss Grant has made more information available in one book than we have ever had before. Teacher's organizations would do well to consider the use of Miss Grant's Technical Manual as an official textbook." — Dance Magazine
Teacher recommended, Gail Grant's Technical Manual has long been one of the most popular and effective ballet reference guides. Completely revised and updated, this third editio
100

JavaScript Patterns

Stoyan Stefanov

4.0
What's the best approach for developing an application with JavaScript? This book helps you answer that question with numerous JavaScript coding patterns and best practices. If you're an experienced developer looking to solve problems related to objects, functions, inheritance, and other language-specific categories, the abstractions and code templates in this guide are ideal -- whether you're wri