github twitter linkedin email
Books for the soul
Aug 14, 2021
4 minutes read

I frequently get asked what books helped me grow the most. What would you recommend that I read to get superpowers? How did you learn about that one algorithm or data structure? How did you learn so much about something for work?

The truth is, the books and experiences that I feel like helped me the most, have nothing to do with my job. I’ll recommend those below, in a stack-ranked list and I’ll also recommend the books I think helped me learn to be technical.

Everyone struggles at different aspects of life. Some people need to read a ton about a domain before it clicks, others need to learn about leadership, discipline, psychology, stress, anxiety, and more. You need to identify your weaknesses and formulate a plan to improve it slowly every day. More importantly, you need to understand what areas you’re amazing at and accelerate your growth in those areas. Go all in on what works for you and let it define you. Embrace it. Don’t worry about people judging you.

Incremental progress, even if it is 0.0001% each day is progress. Overnight success is not a thing; it appears like that to other people after countless days of small progressions.

Computer science

The best way to learn how to write perfect code is to read a lot of it. Read the source code of Go, C#, Java, Python, etc. I read the entire C# and Go source code libraries and made contributions to both. Don’t just use frameworks to build different things, read them and write them. There’s no shortcut here, it takes a lot of time and effort. Find something you’re interested in and make incremental progress each day. Don’t be frustrated if you are slow, remember the 0.0001% rule.

Nowadays, I exclusively read source code and white papers. Books are generally not useful because they are published too late, or published by people who are not the original authors of the code. Here are a few recommendations, but they are more related to design/code quality/interviewing. If you want to get seriously good at coding, go as deep as you possibly can and make contributions to core projects. Read white papers 10+ times until you understand them. You can choose those papers based on your interests (i.e., Lamport logical clocks, HDFS, Map Reduce, Linux file systems, etc.).

Interviewing:

Code quality:

Niche reads:

Neuroscience

Psychology

Leadership, Discipline, Exercise




Tags: books

Back to posts