If I could give any single piece of advice to new programmers, it’d be to never stop learning!
We as software engineers have a very under-appreciated job in society. We have built our society around our computers. Think about how many computers you use during the day. Wake up to an alarm clock. Check your phone. Grab something from the fridge. Heat up some breakfast in the microwave. Drive your car to work. Relying on traffic signals to control the traffic. Hoping the automatic toilet flushing mechanism at work does its job properly.
It’s astonishing when you start actually realizing how many computers you interact with during a typical day. All of these computers need code to run, and we need software engineers to write and maintain this code. Society cannot function properly if software engineers don’t do their jobs well. If software engineers fail, society fails.
That being said, we as software developers owe it to ourselves and society to become the best possible software engineers we can be, and write the best, bug free code we can possible write. When we allow ourselves to get complacent in our jobs, we allow bugs to sneak into our code. When bugs sneak into our code, systems crash. We should treat every system as if someone’s life depends on it. In fact, many systems do have lives that rely on them: aircraft avionics systems, vehicle airbag modules, virtually any computer system in a hospital.
Without getting too serious here, my point is that all software engineers should be continuously learning and working on becoming a better developer. There’s plenty of books that I believe all software engineers should have on their bookshelf, but these 3 books listed here, in my opinion, should be read by every software engineer within the first year of getting their first programming job.
The Pragmatic Programmer
The Pragmatic Programmer has to be one of my favorite programming books ever, hence it being first on the list, and well, the name of my blog, Pragmatic Ways.
Filled with both technical and practical advice, this book will help prepare you for the rest of your journey in software development with a proper engineering mindset.
From making software testing a critically important aspect of your development process, writing flexible and maintainable code, writing software that’s safe against security vulnerabilities, and of course setting you up for continuous learning, this book is an absolute must free for all first-year software developers.
Clean Code is a book written by Robert “Uncle Bob” Martin, and quite honestly, you can’t go wrong by picking up any book by Uncle Bob. But this one in particular is very important for every software engineer to read.
This book is absolutely packed with actionable advice on how to write cleaner code. In fact, many on the content in this blog is inspired by many concepts learned in this book. I recommend this book to any developer I meet because writing clean code that’s easy to read and easy to understand is one of the most important aspects of writing software!
I think this book, at least the first couple chapters, is especially important for new developers. The first few chapters are easy enough for any programmer to follow along with, and following the practices in these chapters will instantly make your code easier to read and understand. It covers many bad practices and code smells that I see even senior developers making, so the sooner you learn about how to avoid these bad programming behaviors, the better!
Code Complete was actually the first programming book I read on my own accord (i.e. as not a part of my college curriculum). This book focuses more on software construction and software design, so I don’t think it should be the first book you read after getting your first job, but I think by the time you finish the first two books, you’ll have enough experience to make this book worth while.
Like I mentioned though, even I read this book as my first book, and I even re-read it again after I had a couple years of real world experience. Even for a brand new developer, there’s still plenty of great material in here for you to learn from, such as the heavy focus on debugging and testing code.
If you’re in (or just about to start) your first year as a software developer, I highly recommend you order a copy of the Pragmatic Programmer and start reading it today. This should be the first book you read as you start your new job, as it will set you up for a very successful career in software engineering.
After reading the Pragmatic Programmer, you should start reading Clean Code. This book will 100% transform your code, making you, a brand new software developer, write code that’s easier to read and understand than many senior developers I know!
After reading the first two books, you should have a good couple months under your belt with some solid real world experience. This would be a great time for you to start reading the Code Complete book, and get a professional understanding of software construction, design, debugging, and testing.
Join our Facebook Group!
Interested in a book club or networking with other software engineers? Join the Pragmatic Way’s Facebook group: Software Engineering Mastermind Group.