Some Books for IT Professionals

S

There are several books that I’ve read over the years that I believe are very educational for the IT professional. These books are not directly related to the craft of writing code (that’s another post). They are all applicable to our day to day tasks. Many of these books are fairly old, but the problems they describe are somewhat timeless and haven’t been solved over the years.

Peopleware: Productive Projects and Teams

Let’s face it, most work environments suck. The physical layouts, standard management practices, and politics work against teams working together optimally. Even today’s best practices like ‘open’ workspaces (just a coincidence that it’s much cheaper) don’t foster team building and communication. It surprises/depresses me that a book written in 1973 is still so relevant, we really haven’t learned much over the years. The first edition went into some detail on how paging systems and desk phones are productivity killers. The book has since been revised as we’ve replaced them with ‘new’ tools that exhibit the same problems. Understanding these problems and implementing the suggestions on building environments and practices that foster good team work will make our work environments better.

The Design of Everyday Things

Do you ever wonder why people push instead of pull on some doors much more than others? Do you blame the person or the door? There are lots of lessons around good, usable design that we can learn from the objects that we interact with every day. Having an understanding of how objects ‘communicate’ helps us develop software that’s easier / intuitive to use. This book is a great introduction to user/human-centered design. Back to the door question, how we answer that question has a large impact on the usability of our software.

The Mythical Man-Month: Essays on Software Engineering

Ever wonder why software estimates suck? Do you feel like the economics of software development are weird? We work in field where people regularly try to make a baby in a month with nine women and then act surprised when that doesn’t work out. Having an understanding of the non-intuitive economics of software development can help you avoid signing up for failure. The prediction of “No silver bullets exist that’ll dramatically improve efficiency” is particularly apt in these days of Agile software development and flavor of the month languages.

Related, Death March: The Complete Software Developer’s Guide to Surviving “Mission Impossible” Projects is a good companion piece for the Mythical Man Month, but taken together they can be depressing.

The Visual Display of Quantitative Information

There are four books in this series, try the first and see what you think. Edward Tufte writes about communicating with clarity using charts and graphs with the first work. He then moves on to maps and cartography in the second, how to communicate data that changes over time in the third, and how information turns into explanations in the fourth.

Producing charts and graphs that convey information with clarity and accuracy is a real skill. Many of the tools available to us are loaded with features and options (often the default!) that are sub-optimal. There are also many lessons on common practices that are just clutter and how to recognize deception in  graphs. Some of the examples are absolutely brilliant, the graph on the book cover is a daily train schedule for an entire city in a single graph that you can use to plan any trip. Well worth the read.

Getting Things Done: The Art of Stress-Free Productivity and/or Bullet Journal

Hopefully our workplaces/clients have a defined, robust software design methodology in place. But what about you personally? Do you have a methodology for tracking your tasks and hitting your deliverables? I’m generally a fan of the David Cole’s GTD methodology, particularly the strategies for handling email. Bullet Journaling is a good companion for GTD. Either one, or a combination of both, gives you an excellent toolkit for making sure you get your tasks done. And not just in the workplace, I find the GTD methodology very helpful for organizing and maintaining a home and personal projects.

By Glen Pennington

Glen Pennington

I have over 30 years of IT experience in the application of computer technology to the fields of consumer credit, marketing, accounting, finance, sensory analysis, and manufacturing. I have deep experience in database development using metadata driven solutions for ETL (Extract Transform Load), Data Profiling, and Data Quality. I have extensive experience developing systems in many languages and on several platforms (Mac, Unix, Windows) and can perform as both a developer and as a project manager (certified SCRUM Master and SAFe Agilist).

This blog contains my musings on various IT topics.

Get in touch