Top 5 Programming Book Picks

Codylillyw
4 min readNov 21, 2022

--

The Pragmatic Programmer

This book gives you 100 tips for writing better code. Some of these tips include “Don’t think outside the box, find the box,” “Do what works, not what is fashionable”, and “Don’t program by coincidence.” While you won’t learn how to write code, it does help you think about writing code well in any coding environment. Most tips are fairly straight forward but the context provided in the book clarify what was meant. Each tip has a lot to it but may require some research and experience before it sinks in. I suggest making a virtual flashcard set of the tips and reviewing them to make sure the key ideas stay in your head.

Top Take Aways:

  • Don’t assume. Don’t panic. Dig into the error so you know exactly what happened and make a test for it.
  • Improve programming processes by organizing small stable teams and adjust estimation based on a feedback loop.
  • Think about your users. Create a system that is well tested with the intent to delights them.
  • Learn how to take advantage of command line, version control, and hotkeys.

Clean Code

This book suggests writing clean code by giving examples written in Java. While you may not have wrote Java code you should try to understand it to help you understand how to implement it. It will suggest ways to name your variables, develop functions, effective concurrency, and avoid comments. It does not replace a style guide but can give you a starting point for making your code more readable.

Top Take Aways:

  • Clean code is simple to understand. Don’t let your code rot by creating added complexity.
  • Variable names should explain code, not comments.
  • Tests should be done FIRST fast, independent, repeatable, self-evaluating, and timely.
  • Handle errors and make them informative.

The Complete Software Developers Career Guide

If you are trying to start or advance your career as a software developer, this book can give you some helpful pointers. It suggests how to negotiate, make more money, and create effective plans for educating yourself.

Top Take Aways

  • You can get a degree, use a bootcamp, or your own studies to learn the fundamentals. What matters more is that you create side projects that show your knowledge of their technology.
  • Be as specific as possible on what kind of developer you want to be.
  • Every developer should learn data structures, algorithms, OS, architecture, and predicate logic.
  • Get involved in the community by attending meetups, code camps, hackathons, hacker space, conferences, and other live trainings.
  • Record your learning using a blog or video making software.

The Mythical Man month

How do you manage a team of programmers? What decisions will increase or decrease productivity? This book focuses on how we can get projects done in time and within budget.

Top Take Aways

  • More manpower does not always equate to getting things done faster.
  • To avoid falling behind break down the work and make it clear what work is getting done
  • Avoid designing programs with excessive features for the needs a few users.
  • Use regression tests to realize when one fix creates another problem

The Design of Everyday things

While not technically a programming book, if you want to create good websites on your own, you will benefit deeply from understanding these design concepts. The Design of Everyday things helps you understand problems users face by giving you terms and scenarios.

Top Take Aways

  • User actions are composed of determining goals, making plans, specifying, performing the action, perceiving the effect, interpreting what happened, and comparing it with their goal.
  • Use signifiers to indicate where an interaction should take place.
  • Design requires cooperation and prioritization between many disciplines.

Honorable Mentions

Soft Skills: The Software Developer’s Life Manual

This book helps you be a well-rounded developer addressing some life areas that are often underdeveloped in programmers. It covers topics like burnout, finding knowledge gaps, learning skills, social skills, financial stability, and health.

Cracking the Coding Interview: 189 Programming Questions and Solutions

This book is more hands on in that it will give you deep knowledge of how to create code. It goes over interview topics such as Big O notation, behavioral questions, technical questions, algorithms, and data structures presenting concepts and practice questions. You may consider using it with an interview prep website if you want to get deep into programming specially to get into a FAANG company. It presents you with a time frame for starting your career as well. Expect to spend several months minimun to get through all of the information.

--

--

Codylillyw

I am a Software engineering student in my senior year with most of my experience in web development and related technology.