20 Programming Books for Coding Your Way to the Top

Beginner-advanced + creative reads

Angela Yurchenko
Geek Culture
8 min readOct 11, 2021


Image via Shutterstock

Renowned author and character development expert Earl Nightingale used to say, “One hour per day of study in your chosen field is all it takes. One hour per day of study will put you at the top of your field within three years. Within five years you’ll be a national authority. In seven years, you can be one of the best people in the world at what you do.”

Nowhere do Nightingale’s words resonate as powerfully as in the continuously flowing tech stream of IT. Programmers are lifelong learners, frequently self-made, whose versatility directly corresponds to continuous personal development. And nothing propels self-development as mightily as reading.

To see exactly what kind of professional literature programming experts keep at their nightstand, I asked IT professionals nationwide to recommend their favorite industry books. From the evergreen classics to perfecting your coding skills, learning a new language in a deep dive, or taking your career to a whole new level, here are programmers’ top picks of their tried and tested IT literature. How many of these books do you already own?

P.S. Be sure to peek at the creative reads at the bottom!

The classics: for everyone

1. Programming Pearls, 2nd edition

by Jon Bentley

“As the title suggests, just as real natural pearls grow from grains of sand that disturb oysters, programming pearls have grown from real-life problems that have irritated programmers. Bentley’s pearls offer uncommon and clever solutions to those nagging problems, if this book doesn’t get you excited about programming, I don’t know what will!”

Recommended by: Amit Raj, Founder, The Links Guy

2. Clean Code Series by Robert Martin

by Robert C. Martin

“Martin’s “Clean Code” series is a lasting staple in programming literature. While Clean Code is a beginner’s classic, “The Clean Coder: A Code of Conduct for Professional Programmers” is aimed at professional programmers, and “Clean Architecture” is for intermediate+ level specialists. In this series, programming is studied as a craft in multiple dimensions. The series abounds with practical advice from estimating and coding to refactoring and testing.”

Recommended by: Peter Vlasov, Head of Engineering, MightyCall

3. The Art of Computer Programming

by Donald Knuth

“The Art of Computer Programming is thought to be the bible of all
conclusions that have regulated today’s most fortunate software developers.
Bill Gates once said that anyone who had read all the Art of Computer
Programming should send him his proceeds. The book begins with basic
programming ideas and techniques, then moves on to numerous programming algorithms and their analysis, with a special emphasis on information representation within a computer. “

Recommended by: Shiv Gupta, Incrementors SEO Services

Photo by Emile Perron on Unsplash

Beginner-intermediate level

4. Introduction to Algorithms

“All the algorithms discussed in this book are explained with pseudocode, which makes them easy to understand by programmers of any skill level. Even those who have never programmed before will be able to follow along because they can read and write readable code as well!”

Recommended by: Amit Raj, Founder, The Links Guy

5. New Programmer’s Survival Manual

by Josh Carter

A must-read for new programmers entering the industry, this book takes you beyond skills and tech and teaches how to master the career of a programmer whether that’s in the office, corporation, or a startup. Beyond starter tech skills, this is a book for those who want to build a career in programming, become a prized team member, and learn how to propel their career in a short space of time.

Recommended by: John Tito — Senior Developer at Slingshot

6. Grokking Algorithms

by Aditya Y. Bhargava

A great book for everyday programming challenges and for Data Structure and Algorithm learning. A great read for beginners and aspiring developers without a formal computer science education. The book is full of examples that present concepts in a clear way with lots of illustrations.

Recommended by: Kim Desmond, Cofounder, CodingNomads

7. The Pragmatic Programmer: 20th Anniversary Edition, 2nd Edition

by Thomas David, Hunt Andrew

“One of my favorite books of all time. One of the reasons I like it so much is because it’s pragmatic and realistic. It’s written by David Thomas, who has been in business for a long time and knows all about what can happen.
I remember when I first read this book, I immediately felt that the author was having a conversation with me rather than just talking lessons to me. The book has tons of excellent advice about how to be a programmer, and there are many I still go back to today, years after reading it the first time.”

Recommended by: Lynda Fairly, Co-founder at Numlooker

8. Head First Design Patterns

by Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra

“Extremely practical for the intermediate-level programmer. This book is a fresh take on the canonical Design Patterns by the “Gang of Four”(see below) which can be tougher to grasp for less experienced experts. In Head First Design Patterns, each pattern is presented in a detailed yet simple way and rooted in specific examples.”

Recommended by: Ilya Girman, Software Architect, MightyCall

9. Ruby. Object-oriented design

by Sandy Metz

“A great introduction to the principles of object-oriented programming. It’s a perfect start for developing basic to intermediate-level OOP skills. Honestly, I can’t even express how good this book is, and I honestly don’t understand why it rarely makes the best book lists. No need to worry if you don’t know Ruby. All the examples are intuitive enough (and the Ruby syntax is simple enough) that you will have no problem learning the lessons in this book.” —

Recommended by: Kidyba Iryna, Financial Manager at monfex

10. Code Complete

by Steve McConnell

“ The book usually contains small and easy-to-comprehend
chapters. It primarily focuses on software engineering processes and
excellently helps you with learning 3 line functions and their best
practice. The code complete book has clean and understandable code that is
easier to understand for developers.”

Recommended by: Vinod Satapara, Technical Director, iFour Technolab Pvt. Ltd.

11. Functional Programming in C#

by Oliver Sturm.
“A great book to learn the functional programming paradigm, especially if
you have a background in OOP. This book explains the principles of
functional programming so well because C#, unlike Haskell, is not
specifically designed for this paradigm. As such, it takes a little more
effort to apply functional programming concepts to C# programs than it
would if you were writing in a pure functional language. To get the most out of this book, you need to know C# (or another strictly typed OOP language) at a level between elementary and intermediate.”

Recommended by: Kidyba Iryna, Financial Manager at monfex

Photo by Faisal on Unsplash

Intermediate-advanced level

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

by Steve Meyers

This book gives 55 concrete examples of writing better C++. The author is one of the world’s most renowned C++ experts and helps developers from languages like Java, C#, C, assimilate “the C++ way” of doing things.

Recommended by: R. Siegal, Nexus Software Systems

13. Design Patterns: Elements of Reusable Object-Oriented Software

Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides

A collection of solutions to common design problems. The book includes 23 patterns that help create reusable designs. Patterns also include code that shows how to implement it in object-oriented programming languages like C++. The authors, dubbed “the Gang of Four” are world-renowed experts in the subject.

Recommended by: Ilya Girman, Software Architect, MightyCall

14. TypeScript Deep Dive

by Basarat Ali Syed

A great introduction to Typescript and ECMAScript. It’s a book specifically useful for TS developers and those learning TS coming from a Java background. Includes a recap of JavaScript and many brief examples. This book is available for free and is frequently updated.

Recommended by: Elya Iskhakova, Junior Front-End Developer, MightyCall

15. Python. Test-Based Development

by Harry Percival.
“A great introduction to TDD in Python and Django. The author explains this approach to development very well, from scratch to topics like unit testing and even continuous integration (a topic he only touches on). To get the most out of this book, you need a basic knowledge of Python and some basic knowledge of web development. Everything about Django is well explained in the book itself.”

Recommended by: Kidyba Iryna, Financial Manager at monfex

16. Designing Data-Intensive Applications

by Martin Kleppmann

“This book explains why system design is extremely important and gives a
good base about problems software developers should be aware of when
starting an app. Each chapter begins with tech fundamentals of a particular area, for example — database scheme design, and then you can follow some great examples of top world apps and the way they manage to scale and adapt to large users and data volumes. I really adore these examples in the book.
First of all, because my favorite apps are included there and secondary, I
was impressed by the system which can improve exponentially with minimal
changes. You will definitely see the connection with your particular area and find out about new insights of how to win with programming.”

Recommended by: Olga Borlis, Android Developer at Alty

Photo by Thought Catalog on Unsplash

Creative books for programmers

17. If Hemingway Wrote Javascript

by Angus Croll

“What if William Shakespeare were asked to generate the Fibonacci series or Jane Austen had to write a factorial program?” — that’s one of the intricate questions posed by Angus Croll in this fun and amazing book. The author imagines short JS programs as if they were written by famous writers. On the border between programming, poetry, and prose, it’s a fantastic and fun read for all the creative programmers out there.”

Recommended by: Lera Shelenkova, Junior Developer, MightyCall

18. The Mythical Man-month

by Frederick Brooks
“This book assists us in developing a sound understanding of software development, estimation, project management, and software development difficulties. The book’s central subject is Brooks’ Law, which states that adding manpower to a late software project makes it later.”

Recommended by: Daniela Sawyer, Founder & Business Development Strategist, FindPeopleFast

19. Laws of Simplicity

by John Maeda

“This is a book that aims for simplicity at all levels. In brief 100-page format, it aims to nail the foundations of simplicity in design, technology, business, and life. The author states 10 ‘laws of simplicity’ which are ordered in “increasingly complex conditions of simplicity”. An interesting read for anyone with logical and organized thinking, and specifically useful in a programming context.”

Recommended by: Sergii Zhuravel, Lead Software Engineer, Absio

20. Coders at Work: Reflections on the Craft of Programming

By Peter Seibel

A collection of interviews with the veritable who’s who of programming. Written in a conversational style, it’s an insider’s view into the life, career, and challenges of a professional programmer. A great read for anyone in the industry or interested in a programming career.

Recommended by: Katherine Brown, Founder & Marketing Director at Spyic



Angela Yurchenko
Geek Culture

Bilingual pianist & business journalist. Exploring the Human Experience.