One of my favorite outcomes from this summer's Software Craftsmanship North America conference, which Obtiva co-organized, is the SICP study groups. SICP refers to the MIT computer science textbook, Structure and Interpretation of Computer Programs, which is one of the most lucid, and challenging, foundational texts on the subject of computer programming languages.
The reason I am so inspired by the SICP study group phenomenon is that it highlights what I love most about programmers, and more specifically, software craftsmen. Even before we used that label, passionate hackers have been forming user groups, book clubs, IRC channels, and mailing lists, to gather, discuss, and challenge each other's ideas. And, through that, refine their own.
SICP itself is a walk through the esoteric Lisp dialect called Scheme. While on that walk, readers learn about abstractions, objects, closures, recursion, meta-programming, logic programming, and interpreters and compilers.
In fact, there are no mentions of any of the exciting new technologies, frameworks, or languages that will help land a gig. Nothing learned in the book will immediately increase the value of a resume or cause said resume to trigger a recruiter's keyword search on Dice.
So, why are dozens of experienced programmers, many of them the alpha-geeks on their teams, spending their time working through this difficult textbook together? They want to understand. The fundamentals. The whys. The history. The art. The craft. They want to understand the field.
The best professional basketball players on a team are also the last to leave the court after practice has ended. They continue to practice their free throw, their lay up, and their jump shot, long after teammates have showered and left the building.
We are practicing our jump shots.



