5 Great Books for Computer Engineers

Computer Engineering Books

  • Working Effectively with Legacy Code
  • The Mythical Man-Month
  • Design Patterns
  • Programming Pearls
  • The Art of Computer Programming

As computer engineers, books can give you insight into the technical aspects of your work, but also pull back the curtain on the political, personal, and historical aspects of the field itself. These five books each offer a very different perspective on one corner of the coding and development world. If you’re interested in learning more about computer engineering from experienced authors, these texts are a great place to start.

1. Working Effectively with Legacy Code, by Michael Feathers

No matter what stage you are in your career, all computer engineers will eventually face a specific challenge: what to do when you inherit a program with large chunks of untested code developed by someone else. The author’s experience as both a developer and technical manager helps him bring a balanced approach that juggles feasibility, time and other resources to bear on the problem. His years of mentoring and seminar teaching comes through in the upbeat tone of the work, making even the knottiest complications seem manageable through a systematic process of decision making. Whether you’re working in a one-man start-up or managing a team of developers, this is a must read for anyone who expects to encounter legacy code.

2. The Mythical Man-Month, by Frederick P. Brooks, Jr.

This mix of autobiography and philosophical essays on the history and future of software project management is a unique and much beloved classic in the field. First published over 20 years ago, the recently updated anniversary edition is still as relevant as ever for those working with large and complex projects. Brooks’ experience working on the early IBM and apple systems during crucial development stages gives insight on the pressures and common missteps computer engineers can experience. A unifying premise unites the individual essays: there is “No Silver Bullet” to fix a problem. Even decades later, this observation and its implications for the work is still a needed message for designers and project management alike.

3. Design Patterns, by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, and Grady Booch

For object-oriented designers, these authors are known as the “gang of four” for their preeminence in the field. These virtuoso computer engineers skip the introductory chapters and fill their book with solutions to common problems in software design. While technical, the writing and solutions themselves are so elegant and simple, the book is far less a trouble shooting manual and more a poetic ode to envisioning design as an accessible pursuit. If you’re already familiar with the basics, this book can help you build higher quality and more flexible products.

4. Programming Pearls, by Jon Bentley

Neither a textbook nor a narrative, this book for computer engineers is a curated set of case studies that come together to illustrate the way programmers think through and ultimately solve problems. Previously published as a series of articles, the writing is playful and easy to understand at any experience level. The problems that begin each chapter will be familiar to those in the field and range across a broad set of topics. Solutions and problem solving pathways tend to focus on using algorithms and various coding techniques, but the emphasis is never on simply getting the right answer. Instead, the take away from this book is how to ask the right questions.

5. The Art of Computer Programming, by Donald Knuth

For more novice computer engineers, a book that covers both the fundamentals and the big picture of information systems can be a great way to link their day to day tasks to larger advances in the field. This classic work, written by a giant in the field, has been read by students and entrepreneurs alike, even drawing praise from Bill Gates for its thoroughness. The descriptions of how information and data are structured, interact, and ultimately “live” within a computer can be dense, but care is taken to break down each concept into manageable parts with relatable examples and applications for each stage. Chapters focus on topics such as simulation, symbolic computing, and design at both the software and systems levels.

Related Resource: 5 Great Books for Human Resource Professionals

Whether you are looking for inspirational texts, a historical perspective, or some practical advice for increasing your skills, books written by and for programmers can help you reach your goals. Reading often can increase your productivity and is a common trait in successful software programmers, designers, project managers and engineers, according to The Huffington Post. Make more time for reading by choosing books that fit your interests, like these books for computer engineers that are both entertaining and educational.