Reading List - Engineering

  1. Code

  2. by Charles Petzold

    A book on how computers work written from a completely different, completely fundamental perspective. A more appropriate title might have been "A crash course in engineering", or "the evolution of modern technology", or even "the technical background you never got in high school". Essentially, Petzold walks you through how modern PCs evolved from the most primitive forms of nonvocal communication. All the while, you are put into the mindset of an engineer trying to figure out the next step in the evolution, as Petzold walks you through not only the answers, but also the trial and error approaches that lead to them. As a result, you will understand not only how computers and electrical engineering work, but why they evolved the way they did. After reading this book, I was no longer mystified by how my creating some text files and pressing a button in a compiler can lead to getting some other machine to do what I tell it to. As an added bonus, I was able to devise circuit diagrams and also had a very enjoyable time reading it. A definite must-read for electrical engineers, programmers, tinkerers, or anyone who is curious about what goes on under the hood of a computer on a fundamental level.

  3. The Pragmatic Programmer

  4. by Andrew Hunt and David Thomas

    Staying true to the book's title, the authors describe a variety of specific yet general purpose techniques that will help any programmer increase his overall productivity.

  5. The Mythical Man Month

  6. by Frederick P. Brooks

    A historical account of exactly why adding more engineers to a late project makes it even later. This is a classic book for explaining the complexities of managing IT projects.

  7. Don't Make Me Think: A Common Sense Approach to Web Usability

    by Steve Krug

    There are more detailed web design and usability books available, yet somehow this one is the one from which I have learned the most. The author takes a very practical and broad-minded approach by providing explanations for how to conduct usability tests and naming a few design tasks that people often overlook in their projects, among many other things. Also, the book is loaded with good real world examples and analyses of sites before and after undergoing usability testing, as well as revealing examples of actual discussions with users during usability tests.

  8. ASP.Net 2.0 Website Programming: Problem - Design - Solution

by Marco Bellinaso

As some people have pointed out before me, this book is more real world than the real world. It just does not get much more hands-on than this. Here is an entire book devoted exclusively to a single project. Bellinaso walks you through step by step as he designs and implements all the features of a professional grade web site - designing the layout, implementing features like user accounts, articles, forums, and shopping, and finally personalizing, localizing, and deploying the site. The entire way, Bellinaso sets the quality bar obscenely high, never cutting any corners to meet deadlines, which is why his site is even more practical than a real real-world project. Best of all, Bellinaso explains much more than just his final code, walking you through his answers by explaining design decisions, evaluating alternative solutions, and highlighting evolutions in the .NET framework by pointing out how much more work would have been involved by using older technologies.

  1. Machine Learning

  2. by Tom M. Mitchell

    A dense tome of knowledge on the art of adaptive artificial intelligence compressed into a book about the size of a notepad. A chapter of Machine Learning has about as much useful information as a whole book dedicated to the same topic. At the same time, this book clearly avoids the snooty 'I'm so smart I can make really simple things sound so complicated that they will blow your mind' tone of most academic books on highly technical subjects. Instead, it adopts a much more useful 'I'm so smart I can explain an extremely complicated subject matter in an intuitive way without skipping over any of the gory details' tone.

  3. Database Management Systems

  4. by Raghu Ramakrishnan and Johannes Gehrke

    A painfully thorough discussion of database management concepts and SQL, I liked this book for its Petzold-esque style of providing plenty of practical motivation for the topics covered and showing how different topics correlate to each other.

Back to books