To Read List

Collections

PL

Web

HTML

CSS

Javascript

TypeScript

React

Web security

Etc

Tools

Long Term

Networking

Recommends

books developers should read

Effective Python: 90 Specific Ways to Write Better Python

If you're a Python developer wanting to improve your craft you should read this. Good Python starts with a deep understanding of the standard library and language.

High Performance Browser Networking

If your code is triggered by a desktop or mobile browser you should read this. It is a thorough high level introduction to mobile networks, browser network protocols, and fundementals of networking.

Designing Data-Intensive Applications

If your databases and APIs are a bottleneck you should read this. A solid introduction to distributed computing, data transfer, indexing, etc.

Site Reliability Engineering: How Google Runs Production Services

If you are responsible for services in production you should read this. It's Google specific but is an excellent background on practices for monitoring and maintaining production environments.

That's it!

Generic software books conspicuously not on this list for me:

  • Clean Code
  • JavaScript the Good Parts
  • Design Patterns/Gang of Four
  • Structure and Interpretation of Computer Programs
  • A Philosophy of Software Design

They're not all bad but give nowhere near as much return for the investment of your time.

Awesome CTO

5 Computer Science Papers That Changed How I Write Code

‘No Silver Bullet – Essence and Accident in Software Engineering’ by Fred Brooks

This is a famous and widely discussed paper by Fred Brooks, who also happens to be the author of The Mythical Man-Month.

This paper attempts to explain the limitations of software development, which he splits into two categories: essential complexities, which are inherent to the nature of the problem the software is trying to solve. And accidental complexities, which arise from complex programming languages and infrastructure.

‘Out of the Tar Pit’ by Ben Moseley and Peter Marks

“Out of the Tar Pit” is an interesting philosophical paper. It’s a long read, but it’s still approachable and covers many exciting topics. Ben Mosely and Peter Marks build upon Brooks’ complexity definitions in “No Silver Bullet,” “but disagree with his premise that most complexity remaining in contemporary systems is essential.”

‘A Plea for Lean Software’ by Niklaus Wirth

This paper was published in 1995, but it’s still as relevant today. It provides another perspective on the subject of software complexity.

According to Niklaus Wirth, software projects are getting out of control. On the one hand, it’s because the hardware is getting faster; in fact, he notes that, “Software is getting slower more rapidly than hardware becomes faster.

‘Ironies of Automation’ by Lisanne Bainbridge

‘How Do Committees Invent?’ by Melvin E. Conway

In this paper written in 1968, Melvin E. Conway observed that the design of a system reflects the structure of the organization doing the design — an idea later popularized by Fred Brooks in The Mythical Man-Month and now called Conway’s Law.

Resources

How I became a better CTO using these 8 resources


Children
  1. Hacker News

Tags

  1. bookshelf