3 + 1 ๐จ๐ป๐ฒ๐ ๐ฝ๐ฒ๐ฐ๐๐ฒ๐ฑ ๐๐ผ๐ผ๐ธ๐ ๐๐๐ฒ๐ฟ๐ ๐ฆ๐ผ๐ณ๐๐๐ฎ๐ฟ๐ฒ ๐๐ป๐ด๐ถ๐ป๐ฒ๐ฒ๐ฟ ๐ฆ๐ต๐ผ๐๐น๐ฑ ๐ฅ๐ฒ๐ฎ๐ฑ ๐๐ป๐ฑ ๐ช๐ต๐
Read technical books for you career growth, but don't avoid these hidden gems.

I started working as a Software Engineer 7 years ago.
Since then, I read several technical books. I read books about different topics. I believe reading books is an effective way to grow my career. Thatโs why I read as much as I can.
However, I also read books that are not directly related to software engineering.
After reading some of those books, I realized how important they were also in my career. While I read them for pleasure or to improve in different areas of my life, they still brought so much value to my professional life.
Thatโs why I believe any software engineer should read these books.
Book #1: The Infinite Game
When I started reading this book, I thought it was about entrepreneurship.
As an entrepreneur, you must know the difference between an infinite and a finite game. It will affect your strategy more than anything else. When you play a finite game, your resource management differs entirely from an infinite game's.
Entrepreneurs must understand which game they are playing.
However, you should choose which game you play as a software engineer.
When you play a finite game, you have a clear target. Your architecture should reflect the clear goal you want to achieve. It means you should be ready to trash everything you created once you get to the end of the game.
Some examples of finite games in software are:
Demo
POC
Scripts to import data
Etc
When you play an infinite game, your code should reflect that.
An infinite game has:
Unspecified rules that change over time
No end goal
Participants that come and go during the game
The goal of an infinite game is to stay in the game.
You should understand you donโt know how your software will evolve when you play an infinite game. Thatโs why writing code trying to predict all possible scenarios is pointless. Focus on writing code that is easy to change.
The goal in an infinite game is to keep playing forever.
You should clearly understand which game your company is playing, primarily if you work in a startup.
If your company plays an infinite game, they want to live forever. That doesnโt mean they want to become the next Apple or Microsoft, but they want to conquer their niche and live for decades. Their choices should reflect this.
The company's strategy and vision should reflect this.
The finite game scenario is mainly played by startups.
When a company is playing a finite game, they want to get to an exit. They want to grow enough to be acquired by some big player possibly. That doesnโt mean your architecture should be poor quality; it might take years to finish that game.
Established companies might play a finite game when they try to launch a new product.
They might allocate a specific amount of resources to release a product. The game ends when they release the product. The goal here is to test the market and gather feedback.
Once the game is finished, they might decide to invest more in the product.
Book #2: The Art And Business Of Online Writing
Why should software engineers care about writing online?
Here is what I have achieved since I started writing online consistently:
Receive weekly messages from recruiters offering job opportunities.
More responses to my job applications than before since I linked my newsletter to my resume.
Spoke with great content creators in software engineering.
Landed a new job in less than 3 months.
Let me explain how online writing can help you in the following fields:
Job search
Job interviews
Mentoring
1. Job Search
To improve your chances of landing a new job, do the following:
Start writing online consistently about:
What you are learning
What you already know
Write on social platforms like LinkedIn and X.
The book explains in detail how you can do that effectively.
2. Job Interviews
Can you tell me something aboutโฆ
This is a common question during interviews.
Here is what can happen:
You donโt know the answer: shit happens, I guess.
You know the answer: great, so you can start explaining.
You know the answer, and you wrote something about it.
In scenario 3, your answer goes from:
Sure, here it isโฆ
To:
Sure, here it isโฆ
โฆ oh, by the way, I also wrote a post about it. Here is the link.
This can make the difference between a yes and a strong yes.
3. Mentoring
If you can write a post about something, you can also teach that to someone else.
To write about a topic, you must understand it. Writing implies you elaborated a concept and can explain it in your own words. If you write a post about a specific topic, you can talk about it for hours.
Mentoring is one of the crucial skills that will elevate you to Senior Software Engineer.
Book #3: MAKE
Working as a software engineer in a startup means you should also have an entrepreneurial mindset.
This book explains some concepts you want to apply in your daily job.
1. MVP
Understanding the minimum set of features to ship is crucial in a startup.
When you deliver new functionality, there are 2 possible scenarios:
Users like it and use it.
Users donโt use it.
Scenario 1 โ everyone is happy.
Scenario 2 โ everyone is sad.
The sadness is proportional to the amount of time spent to deliver.
Thatโs why delivering small features and iterating over them is crucial after you gather feedback.
The author started his first company as a Google Sheet. Thatโs what you should always keep in mind. You should focus on solving a single problem as quickly and efficiently as possible.
Ask yourself:
What is the minimum amount of changes we can deliver to bring value to the users?
2. Your Users
When you work for a small company, you should take advantage of working closer to your users.
Speak to the users, ask them questions, and learn from them. You should use their vocabulary. Understand the problems they encounter every day.
This book emphasizes the importance of the users.
It doesnโt matter what your role is or the way you work; there is only one measure of success:
Are you bringing value to your users?
People are happy to pay if you solve them a problem.
Book #4: The 4-Hour Work Week
This book is not just about quitting your job; it is about organizing your life.
Thanks to this book, I learned how to organize my time.
1. Buffering
Buffering means grouping activities in a single time slot instead of spreading them throughout the day.
A clear example is โchecking your emailsโ.
I used to answer my emails as soon as they arrived.
This is not the right way to do that because you do a lot of context switching, which is one of the primary productivity killers. You should create a time slot in your calendar to check your emails only once or twice a day. Since I started doing it, I also turned off my email notifications.
This is only one of the tips in the book to improve your time management.
2. Buy Your Time
There are activities you can delegate.
Sometimes, paying money to buy some time is a good investment. Choosing what you want to make yourself and what you want to buy is up to you. But, thanks to this book, I discovered you can buy more than you think.
Some people think that money is more valuable than time.
But thatโs not always the case.
Sometimes, paying someone to clean up your house can be an excellent investment. Buying a dishwasher can make you realize how much time you spend every day washing your dishes. Paying the teenager living next to you to gardening can make them happy.
Thanks to this book, I discovered that, sometimes, my time is more valuable than my money.
What are the unexpected books you read? Let me know in the comments.
P.S.
If you like my work, consider inviting your friends to subscribe.