The curse of working in technology, the only thing that is certain is change. Languages and frameworks come and go, with little besides core networking and operating systems staying the same over the long term. To work in tech is to continually learn and read.
Sorry for the short hiatus, I have been battling some illness. I got sick twice in quick succession. Anyways, lets take a look at what I’ve been reading to learn new things in technology.
Technology reading in 2023
Python Distilled by David Beazley
I am working closely on building and implementing a new enterprise application which will have its backend in Python. I needed to brush up on a couple topics and reinforce the ‘pythonic’ way to solve problems. David Beazley is a long time python contributor and author. Everything he puts out is solid. This book provides a deep enough look into python to be productive and understanding some of the internals. A no frills book that will quickly turn you into a python ninja. I especially enjoyed the sections of multithreading.
Amp it Up by Frank Slootman
I wanted to change pace and read something more on the business side. Frank talks about his journey at ServiceNow and Snowflake and the principles has used to grow both into the behemoths they are today. He also talks about some the responsibilities of a leader in a technology company and how its important to manage the talent around you. My favorite excerpt by far is:
In meetings, I often object to presentations where 90% of the content is about the solution, not the problem. My co‐workers find it frustrating that I always want to walk back to the beginning rather than rubber stamp a program or project. They want to jump right into the action phase, so they see in‐depth discussion about possible explanations as a waste of time. Of course, when you end up being wrong about the problem and therefore ineffective, that's a much more serious waste of time. Once you start examining and pulling a problem apart, the perspective often changes the range of possibilities. That often prevents a mistake that would have forced us to backtrack later on—wasting time, effort, and money in the process.
My long time readers probably remember this post:
Where I said something very similar. You *need* to start with the problem and cover it in detail, or no one is going to pay attention. Before I digress, read this book it will help develop your management and leadership brain.
Cloud Native Patterns by Cornelia Davis
My bread and butter here, but just trying to keep up with industry trends and see how other people are thinking about cloud native. There is definitely a new design paradigm in microservices and distributed computing in the cloud. Its good to see how other people are looking at it, often times in our firms the same leaders influence the direction and that position gets engrained. One part of this book i especially enjoyed on Continuous Delivery:
Let me define continuous delivery by first pointing out what it isn’t. Continuous delivery doesn’t mean that every code change is deployed into production. Rather, it means that an as-new-as-possible version of the software is deployable at any time
hahahahaha. This hit so hard. So many people think if you push to the prod or main branch that your CI/CD suite should automatically deploy to production. NO. There is change governance and processes to ensure you dont brick production. CI/CD is about enabling fast releases, not enabling unsafe releases. DevOps and CI/CD has a lot of different meanings to people sometimes, and this shows it. Really good book for getting better at systems design as well. Systems design is NEEDED to make that jump from Sr eng to Staff and above.
The Staff Engineer's Path By Tanya Reilly
I did not expect much going into this book, but i was pleasantly surprised. This book breaks down engineering and being an IC. Lots of people get stuck at the Sr eng level position for a long time because they don’t understand the things in this book. Here is one quote I really liked:
Tech companies’ promotion systems can incentivize engineers to feel like they need to “win” a technical direction or be the face of a project. This competition can lead to “ape games”: dominance plays and politicking, where each person tries to establish themselves as the leader in the space, considering other people’s ideas to be threatening. It’s toxic to collaboration and makes success much harder to achieve.
In my experience this is completely true. Which why people will try to portray themselves as the lead developer or expert on a system. Why people will fight for their ideas so hard is so they can say they are the leader that made it possible.
Lots of hidden gems in this book, many engineers avoid the things in this book because they view it as politics or marketing (sales). To be a star staff eng you need those skills, no way around it. Wrote about here:
Conclusion
none of these links are aff links, just sharing helpful things for the readers. working on a premium post, again apologies for my illnesses. Stay learning everyone.
-btc
Any non-IT books you reading that you want to mention? Or any IT books that you wish you had more time for?