Reading is not enough
Every now and then someone reaches out to me asking for what books they should read to become a better engineer or to be able to join
But with that being said, what I often tell them is also that reading by itself is not enough to grow. Reading barely helps you grow by itself – it’s only when you can apply its content to a situation that you really grow a lot.
One striking example is when during interviews I ask the candidate what we should do if our database becomes the bottleneck in our distributed system. Very often, candidates have read about it and will say to shard their table but:
- They don’t consider the type of workload on their table – i.e. reads vs writes
- They don’t know what key (or sharding function) they will use to shard – what matters here are more the property of the shards you want and what type of load you want to optimize for My interpretation is that the candidate read about sharding but never did it or thought deeply about it. It’s better to read about things relevant to your job such that you can apply it there – not only will the content stick better, you will likely perform better and eventually get promoted. It’s also significantly easier to get promoted in your company and move to another one at the same level than doing a cross company promotion.
Keep technical books around you and peek at them when they are relevant rather than trying to read them all ahead of time.
I’m still interested in what people read nowadays – so if you have good recommendations, I would love to learn about them.