I recently ran across Design Patterns of Successful RPG's and while I think it is flawed because the writer inserts his own value judgements into a discussion of the function of the design patterns, it is still useful. If you like to design RPGs, it is probably worth skimming the PDF. The process of breaking parts of games down into their functional parts, and identifying repeatable patterns is what is useful. The actual content of the book is marginal, but the survey of games and the patterns in them is nice. I hadn't played a number of those games, and seeing them all arrayed relative to one another based on what patterns they used was cool.

   I was really into design patterns as a Landscape Architecture student, and loved browsing through the Pattern Language by Christopher Alexander for ideas, but I drifted from it as a practicing Landscape Architect - instead always trying to develop my own patterns out of common problems I faced instead of analyzing all landscapes, breaking those into design patterns, and making use in my own work of what I found in the work of others. I was a shitty landscape architect for years because of this. It took me about a decade to acquire enough personal experience to compensate for my "not invented here" approach to landscape design. Granted I really learned those lessons well because I had first hand experience for everything, including construction, but wow, what a long haul of hard effort and mistakes it took to achieve what cookie cutter copy cats with some analytic skills acquired in a year.

   Since I am setting out on a path as a coder, and do not want to waste a decade before I am competent, I am picking up a copy of Design Patterns: Elements of Reusable Object-Oriented Software, reading it, and applying it to the JavaScript stuff I am currently doing. Anything I can do to advance as quickly as possible at this point. I want some good work to sink my teeth into rather than to slog along at ten years of an apprenticeship while the tech changes out from under me.