Programming as a Craft

Self assesment: Novice/Aprentice/Journeyman/Master

  • (4 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »

49 Replies - 4126 Views - Last Post: 08 October 2009 - 12:52 PM

#1 NickDMax  Icon User is offline

  • Can grep dead trees!
  • member icon

Reputation: 2250
  • View blog
  • Posts: 9,245
  • Joined: 18-February 07

Programming as a Craft

Posted 15 May 2009 - 09:41 AM

I just wrote the programming was a craft and it made me think of where I stand as a craftsmen so I ask:

In a self assessment where do you stand as a programming craftsman:

Novice -- Does not necessarily indicate a lack of skill so much as a lack of formal training.
Apprentice -- An apprentice is a student who still has much to learn. An apprentice is still dependent upon the guidance of others.
Journeyman -- Unlike an apprentice a journeyman is not dependent upon the guidance of others, a journeyman can independently solve problems as they arise and is component in his craft. Journeymen are often ready to be mentors to the apprentice and novice. A journeyman may have many accomplishments but still lacks a masterpiece.
Master -- While a master may still learn techniques and technologies from others, a master has mastered the known techniques. A master is marked by deep knowledge and understanding. A master has completed a masterpiece -- a truly exemplary project the demonstrates the deep knowledge and understanding and is often innovative or influential in the field.

Please give the reasoning for you assessment. Please respect others delusions of grandeur and don't post judgments of others assessments.


Myself:

Journeyman -- I know that this is where I am because, well I was never an apprentice -- and am no longer a novice, but I have never completed a masterpiece. Part of this is because I tend to lack "stick-to-it-tivity" but I think the underlying cause is that I just am not ready for a masterpiece. I have written lots of programs, many I am proud of, but none that are truly innovative or influential.

Since I was mostly self-taught I was never really an apprentice but a novice. By the time I reached school I was already pretty sure of myself and my ability to work independently. But school did fill in the gaps and solidify the theory that was lacking.

I am hoping that getting a master's degree will help me fill in that deep understanding that will help make things snap for me so that I can call myself a master (at least in my own mind).

Is This A Good Question/Topic? 1
  • +

Replies To: Programming as a Craft

#2 Martyr2  Icon User is offline

  • Programming Theoretician
  • member icon

Reputation: 4332
  • View blog
  • Posts: 12,127
  • Joined: 18-April 07

Re: Programming as a Craft

Posted 15 May 2009 - 09:55 AM

I am a Journeyman myself as well, pretty much armed to the teeth in skill that I can pretty much code anything, but my problem has always been time. I never really have the time for a masterpiece. My life is way to hectic and I am stretched in so many different directions to sit down and write some good deep code.

I also have a terrible problem with motivation and often get bored of projects way before finishing them. I have completed several little projects and tools, but never quite gotten to that one software program that establishes a legendary master status. And to be honest, if I was to create such a project, it wouldn't be in C++. My masterpiece will probably be well rooted in the .NET framework or perhaps Java.

I do have about 60% of a masterpiece in Java completed and I work on it from time to time, but again motivation and time is my biggest foe.

:)

Edit: That and when you know a half dozen languages, it takes a lot of your time to keep up in all of them. I can't dedicate too much time to one language or it will destroy my skills in another.

This post has been edited by Martyr2: 15 May 2009 - 09:57 AM

Was This Post Helpful? 0
  • +
  • -

#3 NickDMax  Icon User is offline

  • Can grep dead trees!
  • member icon

Reputation: 2250
  • View blog
  • Posts: 9,245
  • Joined: 18-February 07

Re: Programming as a Craft

Posted 15 May 2009 - 10:01 AM

I am glad to see myself in such good company. I often learn from reading your posts and wish you luck on the masterpiece.

I should mention that I don't think the masterpiece has to be a program specifically. I would argue that by the time someone really reaches master status they are probably more architects than programmers. I would also say that influential publications must be considered. I have definitely read some articles that clearly defined their author as a master of the craft.
Was This Post Helpful? 0
  • +
  • -

#4 Martyr2  Icon User is offline

  • Programming Theoretician
  • member icon

Reputation: 4332
  • View blog
  • Posts: 12,127
  • Joined: 18-April 07

Re: Programming as a Craft

Posted 15 May 2009 - 10:06 AM

Well given that view I would have to say then I am very close to master status since I do specialize in program architecture as much as the programming itself. However, I do lack that one defining point to say "yes, I am a master".

:)
Was This Post Helpful? 0
  • +
  • -

#5 KYA  Icon User is offline

  • g++ jameson.cpp -o beverage
  • member icon

Reputation: 3101
  • View blog
  • Posts: 19,140
  • Joined: 14-September 07

Re: Programming as a Craft

Posted 15 May 2009 - 10:06 AM

Can you be stuck between two phases? There's always more to learn, but at the same time, I feel confident enough to be able to solve a given problem; in limbo between Apprentice and Journeyman. Although, if I had to pick, I'm still an Apprentice.
Was This Post Helpful? 0
  • +
  • -

#6 tdubs3891  Icon User is offline

  • D.I.C Head

Reputation: 0
  • View blog
  • Posts: 51
  • Joined: 06-January 09

Re: Programming as a Craft

Posted 15 May 2009 - 10:31 AM

Similar to NickDMax i am also self taught therefore cannot be an apprentice... but I am in that general area... I still have much to learn but i'm still very profficient in java
Was This Post Helpful? 0
  • +
  • -

#7 NickDMax  Icon User is offline

  • Can grep dead trees!
  • member icon

Reputation: 2250
  • View blog
  • Posts: 9,245
  • Joined: 18-February 07

Re: Programming as a Craft

Posted 15 May 2009 - 10:47 AM

View PostKYA, on 15 May, 2009 - 12:06 PM, said:

Can you be stuck between two phases? There's always more to learn, but at the same time, I feel confident enough to be able to solve a given problem; in limbo between Apprentice and Journeyman. Although, if I had to pick, I'm still an Apprentice.


I would say that it is a floor function. If you don't solidly fit in the next level, then you are not there yet.
Was This Post Helpful? 0
  • +
  • -

#8 baavgai  Icon User is offline

  • Dreaming Coder
  • member icon

Reputation: 5796
  • View blog
  • Posts: 12,631
  • Joined: 16-October 07

Re: Programming as a Craft

Posted 15 May 2009 - 11:09 AM

Can I be a Master-Journeyman?

I hit Journeyman probably over a decade ago. I am a broad generalist, knowing a little about a whole lot. There are very few things I devote years to, because after a while they loose their shiny and I'm off to find something else interesting. Programming is the rare exception, where I will devote stupid amounts of time and effort to get it "right." I don't usually feel that a program is ever really complete, there's always a tweak to be had. I often think of DaVinci, who said "art is never finished, only abandoned." I don't know if all programs are art, but I believe Leo would have dug programming.

I'm not sure I'd want a masterpiece; too much attachment. Rather, I tend to focus on a project when it's young and exiting. When it's near completion, when the conflagration is the merest ember, it's just not that interesting. I've written some massive programs, used daily, vital to plant operations. They really don't interest me at all and I'm rather irked when I have to fiddle with them again.

I'm very good at what I do, but I'm still wary of mastery. There's a danger in believing you've somehow achieved it. "If I claim to be a wise man, it surely means that I don't know." ( Wow, quotes are flowing today. Name that tune. :P ) I know I have more to learn and that I always will. I good with that.
Was This Post Helpful? 1
  • +
  • -

#9 PsychoCoder  Icon User is offline

  • Google.Sucks.Init(true);
  • member icon

Reputation: 1639
  • View blog
  • Posts: 19,853
  • Joined: 26-July 07

Re: Programming as a Craft

Posted 15 May 2009 - 11:22 AM

I would say I fall into the Journeyman category as well, I would never be egotistical to say that I know everything and that I'm a Master. While I have completed several items that would be the masterpiece of a lot of programmers I know's resume, I still don't feel I have completed the one masterpiece (who knows, maybe the one I'm working on now will be it, I wont know until it's complete).

I, much like Martyr2, don't have enough time in a day to accomplish what some would consider the task to become a Master. Between the contracts I'm working on, family and other items it would be nice if Obama would change a day to be 30 hours instead of just 24.

While I have been programming longer than anyone I know (in real life, not only relationships), I dont think I'll ever reach the point where I feel I fall into the Master category.

Just my 2
Was This Post Helpful? 0
  • +
  • -

#10 KYA  Icon User is offline

  • g++ jameson.cpp -o beverage
  • member icon

Reputation: 3101
  • View blog
  • Posts: 19,140
  • Joined: 14-September 07

Re: Programming as a Craft

Posted 15 May 2009 - 11:31 AM

I just had a fleeting thought: This analogy doesn't really work for programming in a strict sense, because, as soon as one proclaims they know everything (a qualifier for the Master subset) they become immediately useless. Thus, we are all all (hopefully) in a perpetual state of learning.

If the qualifier for the Master's set was only mastering the "known techniques" then anyone who knows the basic programming principles would fit this description. It always comes back to "what defines a programmer?" For example, the codinghorror blog post about programmers: dead, working, adequate, poor, etc.. (I'm sure I missed a few or have the wrong name).

So, to be a Master, you would have to invent something (USB, MySQL, whatever) or have a project so revolutionary it changes the entire industry? Those are few and far between. Aside from new pushes in hardware, the computer concepts really haven't changed in ~20 years. Thus, how does one create a piece that truly captivates innovation and spurs on the next generation?

My apologies if this is rambling, wrong, or complete nonsense, just typed as I thought it.


edit: More thoughts:

How can someone never be an apprentice? Even if you didn't study "under" someone, I see the Apprentice stage as the learning stage regardless of where the information comes from. Again, I could be totally offbase here, but programming versus, say, cabinetmaking, two completely different animals. Craftsmanship: blacksmiths, fletchers, insert other medieval type thing here, needed to be understudies of established craftsmen in order to pass the knoweldge and skill sets along, otherwise it would ie within a generation.


edit again: More thoughts:

Let's find common examples (things we could all consider masterpieces). Youtube? Or was it just a capitalization on an emerging concept? Newegg? What about anything Intel or AMD makes (whoops, that's hardware). How about video games? Are we looking for innovation? If not, what are "we" looking for?

I find myself noticing that interpretations of programs, their usefulness, innovation, etc... is not unlike art critics. I may like the Mona Lisa, you may not. Does that make it less of a masterpiece? Who decides what is and is not a masterpiece?

At what point does an individual's opinion matter? Like in the art, person soandso doesn't like [insert world renown art piece], that doesn't diminish the quality of the work. There are many, many people out there who get paid for their opinion. i.e. get paid to talk. Bill Clinton, news anchors, guest speakers, etc...

So how is that defined from a programming/program/code perspective? I'm a noob and I probably don't know anything so i might need a grain of salt (or two).

This post has been edited by KYA: 15 May 2009 - 11:47 AM

Was This Post Helpful? 2
  • +
  • -

#11 NickDMax  Icon User is offline

  • Can grep dead trees!
  • member icon

Reputation: 2250
  • View blog
  • Posts: 9,245
  • Joined: 18-February 07

Re: Programming as a Craft

Posted 15 May 2009 - 12:42 PM

View Postbaavgai, on 15 May, 2009 - 01:09 PM, said:

"If I claim to be a wise man, it surely means that I don't know." ( Wow, quotes are flowing today. Name that tune. :P )


Kansas -- Carry on my wayward son. Good song
Was This Post Helpful? 0
  • +
  • -

#12 NickDMax  Icon User is offline

  • Can grep dead trees!
  • member icon

Reputation: 2250
  • View blog
  • Posts: 9,245
  • Joined: 18-February 07

Re: Programming as a Craft

Posted 15 May 2009 - 12:55 PM

Alas people always misunderstand the idea of a "master" -- Master is not the highest level of enlightenment -- there are always things to learn. I am afraid to explain any farther without sounding like a Chinese fortune cookie.

The architect I work with is a master. Sure I can code him under the table. Oh he is good, but I am better. On the other hand, he can architect/design a large enterprise class program keeping in mind the details of hundreds of classes. Looking at a couple of lines of code from Class A he knows how this affect class XXZY way down on the other side of design. His instincts are second to none.
Was This Post Helpful? 0
  • +
  • -

#13 KYA  Icon User is offline

  • g++ jameson.cpp -o beverage
  • member icon

Reputation: 3101
  • View blog
  • Posts: 19,140
  • Joined: 14-September 07

Re: Programming as a Craft

Posted 15 May 2009 - 01:09 PM

True, but if we base our thoughts on the matter off of the scale in your original post, then Master is the "end", the pinnacle, the goal, if you will.

Why introduce a way of measurement and then not adhere to it? Everything is relative, it is the perspective that conveys information.
Was This Post Helpful? 0
  • +
  • -

#14 NickDMax  Icon User is offline

  • Can grep dead trees!
  • member icon

Reputation: 2250
  • View blog
  • Posts: 9,245
  • Joined: 18-February 07

Re: Programming as a Craft

Posted 15 May 2009 - 02:30 PM

:) well it is a subjective self-assessment not an objective scale.
Was This Post Helpful? 0
  • +
  • -

#15 baavgai  Icon User is offline

  • Dreaming Coder
  • member icon

Reputation: 5796
  • View blog
  • Posts: 12,631
  • Joined: 16-October 07

Re: Programming as a Craft

Posted 15 May 2009 - 02:36 PM

From the Apprentice-Journeyman-Master model, a master is someone who's accomplished enough at their craft that they can hang out their own shingle, take on apprentices, and pass on the knowledge of the craft. From this perspective, I'd be comfortable claiming the title. The modern parlance probably being Project Manager, Senior Programmer, Development Lead, etc., all of which I've been called in the past. I never made a particular "piece" to earn it, but then I never has a master whose blessing I needed. I'm not really sure that the model fits.

When I think Master I have an idealized point of perfection, possibly unattainable. I believe others took it to have the same meaning. The Japanese sensei can be translated as master. It is applied to anyone accomplished in their craft and most commonly used with teachers and professors, as well as doctors. I always liked that. I suspect it's more what Nick is going for.

This post has been edited by baavgai: 15 May 2009 - 02:37 PM

Was This Post Helpful? 0
  • +
  • -

  • (4 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »