Yesterday I finished reading through Apprenticeship Patterns – Guidance for the Aspiring Software Craftsman from Dave Hoover and Adewale Oshineye. Personally I met Ade at the Software Craftsmanship conference in London earlier this year and participated in his session on Mapping personal practices. After I came back I used the format for Personnel development. Since May I have a video from Ade open in my browser tabs on How to walk the long road, which I still haven’t seen, yet. So, just after finishing the book, I decided to describe my personal development as a reflection of the last four years of my life using the pattern language provided in the book. So, here it is.
For the sake of brievity I will leave out details about my university years. Though My First Language was C++ by then, nowadays I prefer Java. We did some fancy robotics stuff with face-detection and office-tools detection in university, but after starting work at my current employee I never used these techniques again. During my studies I also came up with the idea of applying Bayesian filtering to online chats like IRC and built an open source project out of it, which became more or less abondoned over time. The interesting times started back in April 2006 right after starting my first job outside the university.
My first year
During the first year we had a relaxed situation. We were mostly doing product development of a product which was not delivered to any customer. It was a new product, which would be sold to a real customer in the next year. The project was already running for one and a half year and I was brought into the test team of one of the major components in it. On the first phase I knew I needed to Sweep The Floor, since I Was The Worst. I started by Unleashing My Enthusiasm and changed the test scripts we had by that time. There were two basic flows in the script functions used. I felt the scripts needed more integrity and unified the two approaches in just two weeks. This bought me The White Belt and during the next project assignments I took over some work from my colleagues. There was a new security feature incorporated using LDAP. This area of the product was completely untested and no one seems to have slack left for it. These services were assigned to me, since I already the remaining work there. In order to bring this functionality in, I needed to Expand MY Bandwidth, since a LDAP server needed to be started within our testbed, so that changes in the passwords would not harm others using the same LDAP server. In the end I also mastered this piece, though it was a bit more than I initially thought. Nontheless I Reflected As I Worked through it and learned from it.
The second year
During the second year we were facing our first customer. The work was harder than we initally assumed. Initially we had great experitse setting up tests for the customizations that were brought in for our first customer at hand. When a new team of developers were brought in, we were greatly ahead of them. Over time this raised the attention of our CxOs. In the next project phase, there were some more complex customizations necessary, since the business rules demanded them. We had a great problem keeping up the pace. By that time I was appointed to be the technical responsible for the testing in those areas. It was clear to me, that I needed to Find Mentors to succeed. I Rubbed Elbows with a Kindred Spirit in my group, which knew a bit more of the more complex services brought in. By that time I was considering A Different Road into academics and research in order to complete a PhD. In late August I was offered a group lead position, and decided against Staying In the Trenches. In the second half of 2007 we finished the project, which occasionally had become a Death March by that time and we needed up to two months to recover from it. Fortunately until then it was clear to me that I needed to bring in something new. That’s when my first Reading List was created.
The third year
During the third year I decided to Use My Title and bring in something different. We needed to get away from our current approach to software testing. Using consensus decisions, my team set together and decided upon the next things to do. By that time I was already Reading Constantly and had also begun to Study The Classics. Among these were the great GoF Design Patterns, Fowlers Refactoring, and many, many more. While we got granted the freedom to built our test automation anew ourselves and unfortunately did not get support from our developers by doing so, I decided that I needed to read the Right Book At The Right Time. That was when I started to start thinking about project management. My self-chosen mentors by that time were Alistair Cockburn and Mike Cohn from their lessons in their books. You may want to read up the whole tale about it in a paper for a conference presentation I recently gave.
In the second half of the year I was asked to Share What I Learned and help my colleagues migrate their similar efforts from Python to Java. By that time I was Confronted With My Ignorance. The code base started to rod and became really ugly. That taught me a bunch about how I Learn How I Fail.
The fourth year
During this last fourth year, I was confronted with new movements and new opportunities. Initially at the Software Craftsmanship conference I learned the relevance for Breakable Toys and the essence of Coding Dojos: Practice, Practice, Practice. We brought in Coding Dojos, Lunch & Learns and other stuff at work to help people getting to Craft Over Art. Personally I helped my peers Drawing Their Own Map using the personal skill maps, I helped them mastering their apprentices themselves – while I stillw as an apprentice at it myself. While recovering from a burn-out of another Death March project, I’m searching for my Sustainable Motivations. In order to find The Deep End I will have to look for My Own Map To Draw.
In general I hope that I could give you some recommendation for the book Apprenticeship Patterns from Dave Hoover and Adewale Oshineye. Hoping that your thirst is not dried, get the book, read through it (in the end it took me about a week to do so) and share your story.