While it’s great to approach your profession as a craft and adopt a general model of craftsmanship, the next level of rigour requires adding some frameworks to ensure measurability and progress assessment. Again, this is great at a personal level, but also adds immense value from a team management perspective.
To enable the introduction of a framework, lets take the general model introduced earlier and collapse it into a column vector:
At this level of abstraction you can see the inherent flexibility in this framework – you can pretty much extend it to add as much or as little complexity as you want or your environment warrants. Here’s an example:
If you wanted to (or had to), you could even overlay this on something like the Australian Public Service Commission’s Integrated Leadership System:
Note that’s only at the top level of the ILS. You can keep drilling down and add more detail as required. Having said that, the ILS is seriously well developed and documented (as one would expect from a Government Department), so I wouldn’t necessarily do it at any detailed level if I worked at an Agency using it. Just pointing out that the framework can be used even where a complex performance management model already exists.
If you were to use it personally, you can just sit down and fill the matrix to map out what you needed to do to get to the next level. For a team, either the manager or the team could build this out, with clear expectations around what operating at each level means and an easy representation for discussion.
In any case, there you have it: how to use the craftsperson model with a formalised framework to introduce metrics and measureability. Enjoy.
Sometimes it doesn’t take much to make your morning. Today, for instance, I hopped on the train, opened my email, and saw that Asana was now available in Internet Explorer:
Okay, not a massive deal, but it made me smile. This was pretty much the only reason I needed to install Chrome on any of my PCs, and that reason no longer exists. Do I love Internet Explorer? Most of the time. It does some things badly, but now covers all my usage scenarios, is fast, and comes pre-installed every time I wipe and refresh my machines (which can happen relatively often depending on how much beta software I’m playing with at the time). That, and it has slowly been getting a lot better.
I’ve also been pretty annoyed with the recent Chrome updates too. I hate the fact that they took away something I relied on a lot – the recently closed tabs feature. And yes … I’ve tried that while logged in to Chrome too. Lots of people complaining about it on the Inter-tubes. Oh, and it’s right there on a new tab in IE.
In any case, this isn’t a browser comparison post, but rather one about Asana. Definitely one of the better personal and team task management tools out there. I migrated to it a few months ago as part of my GTD trusted system, and while it wasn’t quite feature-rich and integrate-able (not a real word) for adoption by my teams for work purposes, a number of people have also started using it personally.
Asana provides free access for teams of up to 15 members, and most of the useful features are included in the free version. If your personal or team task / project management needs aren’t overly complicated, they are certainly worth a look.
Oh, and make sure you click on the little cat icon at the centre of the bottom of their site …
Full disclosure: I have no personal / professional affiliation with Asana except as a user. I get no benefit from recommending them, except a warm and fuzzy feeling of sharing a system that has worked for me.
If you choose to approach each stage of your career as a craft, it is useful to overlay a framework on the idea to make it more manageable. The title of this post, as the diligent software developers out there will know, is a play on the title of the timeless book about software engineering – The Pragmatic Programmer: From Journeyman to Master. The book is a truly excellent guide to explaining the idea of viewing software development as a craft (among other things).
Beyond software development, however, the title of the book alludes to the traditional career path of craftspeople, which I’ve drawn up in the following diagram:
Before defining each of the stages, it’s important to note three things about this visualisation.
First, this is a model. By definition, models are abstractions and simplifications of the real world to hide some the complexity inherent in real life and make it easier to analyse a point of view. The model only goes so far and only explains so much. Don’t try to cram too much or read too much into it. If it doesn’t fit, find another model. This advice generally applies to all models. Sometimes even the fashion ones.
Second, understand that the path is a sequence of stages, each being a pre-requisite for the next. You can’t skip stages. You can try, but invariably people who do so end up being posers with no real knowledge, expertise or depth. They are perennially insecure about their roles and stage in the path, and have to resort to tactics like information hoarding and management-speak to cover up their incompetence. Definitely not a good long-term career strategy. Don’t be that person. Follow the path.
Third, see that label on the horizontal axis? There’s a reason it’s there. The path to mastery and up-skilling is a function of time. You can accelerate some of it, but lots of mastery is based on immersion and learning by mistakes, all of which takes time. It can be somewhat shortened by pure talent and devotion to your craft in your personal time outside work, but you have to pay your dues. Otherwise, you end up in the same situation as someone who skips a stage.
With that out of the way, let’s talk about the stages themselves:
Novice: This stage normally means that you’re a complete beginner. In most instances, I include fresh University graduates in this category as well. While they have potential and aptitude, novices have at most a theoretical, academic understanding of the discipline, require lots of hand-holding and lots of studying. Typically, one is an apprentice for the first year or two of entering a discipline.
Apprentice: Most people are apprentices for two to three years after moving up from a novice. This timeframe can be shortened as you progress through your career and your ability to apply learning pattern improves, but for those early in their career, this is definitely time well spent learning the basics and the meta-skills: communication, problem solving, troubleshooting, conflict resolution, etc. Apprentices don’t need as much attention as novices, and can work with minimal supervision, but need regular check-ins with more experienced professionals and validation of their work. In traditional crafts, apprentices were bound to individual masters who closely supervised their work.
Journeyman: Back in the day, when one reached the journeyman stage of their career, they typically went off to find and train under a specialist master, who would help them refine and perfect their craft and pass on self-developed or generationally bequeathed techniques. In the current era, being a journeyman means being fairly self-reliant and self-managing, able to solve large, complex problem on your own, managing your time and other allocated resources well, and being able to supervise and give guidance to novices and apprentices.
Master: This is when you’re at the top of your game, and usually recognised as such by others in your discipline. You’re a true thought-leader, you push the boundaries of your field and your problem solving ability spans multiple disciplines. You represent your discipline, and inspire and attract others to it. Great masters have proficiency over more than one discipline.
What I really like about this Craftsperson Model for Career Management is that it is as simple or complex as you want to make it, but grounded in years of traditional learning. You can use it personally, as well as formalise it within your professional environment as I have with my teams. It is easy to explain, and enables you to inject a sense professionalism using the imagery conjured by the career stage labels.
I know there’s a growing movement in software development circles to embrace this idea (such as the Manifesto for Software Craftsmanship) but I’m Interested in hearing if / how others are using this concept.
I can’t remember his name, but I remember the lesson well. I was in Year 7 at school, and it was the first day of woodshop class. After introductions, the first thing our teacher did was define and talk about craftsmanship.
I’m not sure how much of that lesson he expected us to absorb, and I’m pretty sure that most of us kids just wanted to get to the power saws and drills. But something about the idea stuck with me, and has influenced me both personally and professionally.
So what is craftsmanship and how does it apply to IT?
First of all, it requires acknowledging that what you do is a craft – a fusion of art (based on creativity and talent) and science (based on knowledge and method). This is something that I’ve adopted throughout each stage of my career, which makes me view each role and what I do in it as more than just a job. And while the classic view of craftsmen was largely made redundant by the industrial age and mass, machine-based production, a new view is possible with the emergence of the knowledge worker and economy.
This view then allows us to inject the idea of craftsmanship into our current roles and work. Various formal definitions of craftsmanship can be found elsewhere, but for me, it includes:
- Taking pride in what you do, and therefore making the effort to do something to the best of your ability (whatever level it is at).
- Knowing that your work may be a reflection of not only you, but also your discipline collectively.
- Doing something the right way, even when you know that no one else will ever know about it. This means not cutting corners, dotting your I’s and crossing your T’s.
- Always striving to get better, always learning, practicing and refining. Being consumed by it.
- Advancing your discipline, and giving back by sharing and teaching others.
This can manifest in many ways. For example, when I was a software developer, I always made sure my code was well-documented (back when in-code documentation wasn’t considered a smell). Or, I ensured that change history of code was always updated, initially in the comments at the beginning of each file, or later in the check-in comments as I (and the systems I worked with) matured. When I moved into architecture, this approach continued. I ensured that all diagrams were well aligned, and the semantic meanings of lines and shapes were always consistent and clear.
The thing to understand about craftsmanship is that it is a means – not an end unto itself. The end is whatever goal you’re trying to achieve, and craftsmanship is an approach – a mindset – that you apply while you’re ploughing along on your merry way. It needs to be complemented and balanced with a healthy dose of pragmatism. It requires knowing what is important and when.
Why are we talking about craftsmanship anyway?
Well, I wanted to share some of the career management ideas, tools and frameworks that I have used, both personally, as well as to help other people that I manage or mentor. All part of giving back to one of my current crafts – People Management. Stay tuned for more.
I was asked an interesting question recently:
“When someone comes to you with an issue, how do you determine whether it’s a reason or an excuse?”
I think that the answer is largely a matter of perspective, the situation and how the problem is positioned. Semantically:
Reason: (noun) A cause, explanation, or justification for an action or event.
Excuse: (noun) A reason or explanation put forward to defend or justify a fault or offence.
If someone comes to me and just says that something can’t be done because it’s too hard, too complicated, will take too long, will cost too much or the technology just doesn’t support it yet, it feels like an excuse.
However, if they make the same argument and recognise why it was important to do the task in the first place, and what alternatives could be used to achieve the same outcome, I consider that a reason.
However, it’s all contextual as well – what the issue is, what the ramifications of not resolving it are, what my working relationship with the person relaying the issue is like, and whether or not they are actually capable of resolving the issue on their own.
Having said that, the more important thing is not the theoretical comprehension of the distinction between the two, but how self-aware you are in applying it to yourself.
Last Sunday – which was unusually windy – I noticed my five year-old hanging out around a window and looking out quite excitedly. He came to me and asked if we could go to the park near our house and fly a kite. My response: “Daddy’s a bit tired, so let’s do it some other time.”
Then I realised that I had just given him an excuse, and even though he’s only five, as his dad I need to practice what I preach and teach by example. So I went and found him watching the wind buffeting the trees outside, sat down on the floor next to him, and explained to him that if we went to fly the kite that day, Daddy would get even more tired and he wouldn’t be able to do all the other things that he needed to do. However, we could print out some arts & crafts templates and do a small project together.
The result: a similar outcome to what he was after – spending time with me doing something he enjoys, while I was able to turn an excuse into a reason.
Added bonus: Without going all philosophical, learning how to manage relationships starts at home – the most important organisation in my life. I always instinctively knew this, but first came across an eloquent articulation of this idea in Clay Christensen’s July 2010 HBR article called “How Will You Measure Your Life?” While Christensen, a Harvard Business School professor, is better known for writing the book on disruptive innovation (The Innovator’s Dilemma), his article and the book that followed (also called “How Will You Measure Your Life?”) provides great advice on how to achieve a meaningful career without compromising on your values. Definitely recommended reading.
Since the weekend, I’ve been watching my own behaviour pretty closely, and thankfully haven’t had any other instances of excuse-making.
So … what’s your reason?