If you are a tech Savy Then You Must Read These Books

Deborahjpippins27
5 min readNov 18, 2020

Photo by LAUREN GRAY on Unsplash

Across the past year, I re-discovered the pleasure of reading after a long time. As a software developer, I spent most of the last five years learning from my computer, forgetting how it feels to leaf through pages of a well-written book.

Thanks to suggestions by some smart people I met through the last year, I moved back to the old paper books to grow not only as a software engineer but also as a professional in the real world.

Over other technical books, I read to sharpen my coding skills, those that most helped me to open my mind on a wider vision could be these four — one more technical than the others, but all with a great influence on the reader mindset. I hope you’ll read them one day; they’ve been of great help to me.

Refactoring

Martin Fowler

Refactoringis an absolute masterpiece that every developer should definitely read. When it was recommended to me by another developer, I thought it could be interesting to get a new perspective on some of the patterns I usually apply, but I never imagined the content of this book could have meant so much on the approach I now have while coding.

Basically, Fowler wants to deeply explain how our code can quickly get messy when dealing with many dependencies, data structures, and language limits, providing great solutions to transform the code in a more readable version.

The book is more a catalogue of refactors that you can consult whenever you think your code could get a better and more solid shape. Here is the Table of. Contents to give an idea of the topics approached throughout the book:

  • A real-world refactoring example
  • Principles of refactoring and why we should do it
  • Bad smells in code
  • The importance of tests and how to build them
  • A first set of refactors (Extract function, Encapsulate Variable, Introducing Parameter Object, etc…)
  • Refactor encapsulation
  • Moving features around
  • Organizing data
  • Simplify conditional logic
  • Refactor APIs
  • Refactor inheritance

The Phoenix Project

Gene Kim, Kevin Behr, George Spafford.

More than one person recommended this book to me, but in the beginning, I was not really attracted by a novel, especially when my main focus was to grow in my coding skills. How wrong I was.

The Phoenix Project gave me a better picture of how big companies (should) work, but it also helped me to change my perspective on what matters to make a team successful out of the code we write.

If you’ll decide to go for it, you won’t just see how difficult it can be to manage huge teams that depend on each other; you’ll also learn how to maximize the workflow of your company with the philosophy of The Three Ways.

Readers will not only learn how to improve their own IT organizations, they’ll never view IT the same way again.

The Clean Coder

Robert C. Martin

After reading about the success of his book “Clean Code”, I got attracted by the arguments Uncle Bob (the nickname for Robert C. Martin) spoke about in his following book, The Clean Coder.

Nobody recommended this book to me, but my curiosity brought me to give it a try, and it was well worth it!

In this book, I found a good description of how a professional developer should behave. It goes through many areas affecting each developer’s daily routines, starting from a definition of professionalism to giving useful pieces of advice on how to get consistent results from working on a project.

I definitely recommend it to get a bigger picture and learn some useful guidelines on how to grow professionally in your career. Here the topic list, for a quick view of the content:

  • What is professionalism?
  • When and how to say yes/no
  • Approach the coding time
  • TDD. What it is and what is not
  • Acceptance testing and testing strategies
  • Practice and time management
  • Accurate task estimations
  • How to handle the pressure
  • Collaboration/teamwork on projects
  • Mentoring, apprenticeship, and craftsmanship

Never Split the Difference

Chris Voss

Last but not least, Never Split the Difference has been a revelation to me. It’s not closely concerned with how IT professionals work or any tech topic, but it taught me to handle compromises and situations that require refinement to achieve a successful result.

It’s a series of real-life experiences the author had in his career as a former FBI agent — experiences that helped him to learn how to negotiate in any possible scenario and get the most out of it.

Reading this book, you won’t just learn how to speak properly using the right language techniques, but you’ll deeply understand also how to apply some principles to mitigate issues in your life.

Even if it’s farthest from my area of competence, it’s definitely the book I enjoyed the most, and I’d love to recommend it to anyone interested in taking the next step of your communication skills.

A Final Mention

There is also the collection You Don’t Know JS by Kyle Simpson, which I found to be an amazing contribution to the JavaScript community and to any JavaScript developer interested in going deeper with the JavaScript language.

Wrapping up

All the books I listed here helped me to grow in different areas of IT. If you know any other book that has been of inspiration for you, please share in the comments — I’ll be happy to add them to my reading list!

--

--