Advanced Static Types in TypeScript

This course explores the capabilities of TypeScript’s type system and shows how to use advanced static types in practice.

Watch the Course

My Favorite Tech-Related Books

Over the years, I've read my fair share of books about various aspects of software development. Some of them were bad, many of them were good — and some of them were great. Here's a list of my favorite tech-related books.

Please note that this list is by no means exhaustive nor in any particular order. I simply put together some of the technical books which I've enjoyed most and would recommend to fellow developers.

Clean Code

First on the list, Clean Code is an absolute classic, and I'm confident to say that it's the one book which had the biggest impact on how I write and think about source code.

Throughout the entire book, Robert C. Martin (better known as "Uncle Bob") appeals to the aspect of craftsmanship when writing code. He talks in detail about naming, formatting, commenting, designing, refactoring, testing, and a lot more. All of that is pleasantly written and joyful to read.

If you only have time to read one book mentioned on this list, make sure it's Clean Code. I honestly can't say enough good about it.

It'll make you a better software developer, I promise.

The Clean Coder

While Clean Code gives concrete advice on how to write good code, The Clean Coder (also by Uncle Bob) focuses on the human aspects of software craftsmanship.

In short, it's a code of conduct for professional software developers.

Uncle Bob goes over various disciplines and practices which a software craftsman should adhere to. Among other things, he talks about managing time, taking pride in one's work, communicating honestly, and about saying 'no' when required.

Being a successful software developer requires more than just good coding skills, which is why The Clean Coder is well worth its spot on your book shelf.

Soft Skills

With his book Soft Skills, John Sonmez from Simple Programmer covers nothing less than the entirety of a software developer's life.

The better part of the book is devoted to tips on learning effectively, being more productive, and managing one's career path.

Besides work-related topics, John also talks about living a healthier (and ultimately happier) life, a point which resonates very well with me. I agree that it's crucial to stay in shape both physically and mentally in order to perform best when developing.

Do yourself a favor: grab a copy of Soft Skills and invest in yourself!

Smashing Book #4

Without doubt, The Smashing Book #4 is an absolute piece of beauty. You should probably buy it for its typography and design alone.

The book covers various aspects of web design, including technical topics like CSS architectures and website performance, but also design methodologies and content strategies. All experts in their respective fields, the authors created a book full of valuable insights into modern web design.

The Smashing Book #4 promises "New Perspectives on Web Design" and most certainly lives up to that goal. Highly recommended!

JavaScript: The Good Parts

I've already written up a review of Douglas Crockford's "JavaScript: The Good Parts" a while ago, so I won't repeat all of it here.

tl;dr: This book is an absolute must-read if you're doing any kind of development using JavaScript.

The Good Parts will teach you how to write less terrible JavaScript code by scraping away the poorly designed parts of the language until only the good ones remain.

If you haven't read it yet, I strongly recommend you do!

Secrets of the JavaScript Ninja

After reading Crockford's The Good Parts, I already had a pretty solid understanding of the language. However, Secrets of the JavaScript Ninja went into a lot more detail and helped me understand the nitty-gritty details.

A large part of the book is devoted to functions and closures, both of which are absolutely essential for JavaScript development. Understanding those in detail will benefit your applications vastly.

The chapter I liked best, though, was Taming Threads and Timers: It lays out how the (single) execution thread deals with asynchronous operations, timers, and intervals.

If you want to make the most of your JavaScript skills, I urge you to read Secrets of the JavaScript Ninja.

Mastering Regular Expressions

The title already says it all: If you want to become an expert in regular expressions, Mastering Regular Expressions is for you. It will teach you all the ins and outs of how regular expression patterns are constructed and interpreted by various regex engines.

I realize that this book might not be for everybody, admittedly, but I like it too much for it to not to make an appearance on this list.

If you have a thing for regular expressions like I do, chances are you'll love this book.

Learn Node