There’s really only one key practice for quality: continuous improvement, and its dual, continuous learning. For continuous learning, many practices that help; one of my personal favorites is ‘Lunch and Learn.’ It’s easy to get started, allows the team to ‘opt in’ to shared practices, and is an amazing opportunity for growth.
One example that quickly springs to mind is “Clean Code: A Handbook of Agile Software Craftsmanship” by Robert Martin. This was one of the featured books in our lunch and learns at EVault. We’ve also done this at Pharmatrust, and I think we’re about at critical mass to do this at MedAvail.
On a side note: I consider myself fortunate to have had the opportunity to learn from the teams I have worked with over the years; it’s one of the greatest pleasures of my professional life.
After yesterday’s (somewhat lame) post on Beautiful Code, I realized that there have been a number of books I’ve read, source code I’ve read, and projects I’ve participated on that have influenced my sense of software style and craft.
While most lists like this emphasize the computation books, I’ve noticed that there’s an implicit book missing from most of these lists, namely “The Elements of Style.”
Here’s my top set of core books on coding style that I really thing matter:
- The Unix Programming Environment, by Kernighan and Pike,
- The C Programming Language, by Kernighan and Ritchie,
- the various ‘Lambda papers’ Guy Steele (Lambda, the ultimate imperative, etc.)
- the Anatomy of Lisp by John Allen,
- On Writing Well, by Zin
- The Elements of Style by Strunk and White,
and, influenced by Strunk and White:
- The Elements of Programming Style, by Kernighan and Plauger
- The Elements of Java Style, by Vermeulen, Ambler, Bumgardner, Metz, Misfeldt, Shur, & Thompson
Interesting overlap with the list over at the Association for Computing Machinery (Classics).
What influenced you?
If you are a programmer, or a manager of programmers, it is critically important to keep working to improve your craft and your sense of what good code is. This book, Beautiful Code, edited by Andy Oram and Greg Wilson is a great collection of articles from leading practitioners in the field. Very much worth your time. (I don’t know Andy Oram, but I have corresponded with Greg Wilson, and we both attended University of Oregon.)
I decided to read this while browsing some papers and books at the ACM digital library, and got hooked. Highly recommended.
(I’ve been taking more advantage of my Association for Computing Machinery (ACM) membership recently and the additional ‘digital library’ access; also recommended.)
So, what, on earth, do all these postings have to do with each other?
Like you, I am a “person in the loop” system. I observe, tune myself to what’s going on, act, observe what happens, and repeat. What I’m sharing with you is what I’m currently observing, that’s “on the fringe” that is my “reading outside of my area.”
I personally view reading outside of my area as being critical to success. We have to be able to bring all kinds of ideas into play when we are looking for creating consulting and management solutions, and bring them up in a heartbeat.
The challenge is maintaining focus while doing this. One solution is setting a limited time budget, and a low energy time, when other, more critical things need to be done, so that it adds value rather than rationalizing distraction. It’s also a heck of a lot of fun, which is all the more reason to put it as a ‘time reward’ or ‘play period’ with limits.