Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

the dreyfus model of skills acquisition

 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 33694
316
Eclipse IDE Java VI Editor
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The Dreyfus model lists five stages of skill: novice, advanced beginner, competent, proficient, expert. I'd like to discuss how we could use this to address different levels when interviewing.

My thoughts:
  • Novice - I don't think/hope we have these in a profession. A novice is going to want to get the job done rather than learn more. (per Andy Hunt Pragmatic Thinking & Learning)
  • Advanced Beginner - I see most intern and entry level candidates here. The big trick is that they usually don't have an awareness of what they don't know. (unfortunately this is true for some more experienced people as well). I would focus this interview both on ability to learn and already having a solid foundation.
  • Competent - I suspect most developers are here despite a desire to view ourselves farther along. I would focus the interview on existing knowledge and problem solving.
  • Proficient - I think this interview would be a combination of competent and expert.
  • Expert - These should be our managers and architects. Interviews can focus on tradeoffs, thinking an "interesting discussions". Unfortunately due to title inflation an architect or "expert" often isn't.


  • This is oversimplified of course because you don't know where someone lies along the scale until after you've interviewed them. Thoughts?

    I also think some of the troubles with interviewing is people getting stuck at Advanced Beginner. Like the 1 year of experience repeated 10 times these people aren't progressing in acquiring more skills over time.
     
    Sean Landis
    author
    Greenhorn
    Posts: 29
    • 0
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Good topic.

    One way to go about this is to develop a clear understanding of what a junior, mid-level, or senior person looks like in your organization. It is helpful to write formal or informal job descriptions of each. A fairly accurate set of requirements and nice-to-haves that describe each level and include technical and non-technical skills and responsibilities. You may already have formal job descriptions that fit the bill, so study them and understand how they differentiate the levels. If they don't capture what you need, consider morphing them into something your organization can use for evaluation purposes.

    That's a great start, but just a start. If you are familiar with sizing user stories, you know that it takes a team some practice before they can consistently estimate the relative size of user stories. It's a feedback learning process that converges on goodness over time. Figuring out what junior, mid, or senior means in your environment, is a similar process of refinement. The nature of the problem excludes perfection so you have to build in the ability to make corrections when you discover you've made a mistake. Depending on how you hire, this may include things like shifting the candidate from one hiring queue to another, changing the makeup of the interview team, adjusting your offer, or making adjustments after a trial period after the candidate is hired.
     
    Jeanne Boyarsky
    author & internet detective
    Marshal
    Posts: 33694
    316
    Eclipse IDE Java VI Editor
    • 0
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Good point on the feedback. Anyone else have thoughts on this topic?
     
    Ilja Preuss
    author
    Sheriff
    Posts: 14112
    • 0
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    It seems to me that we can use the model for at least two purposes:

    * adapting our hiring process to the skill level of the applicant, and

    * filtering applicants based on skill level for a certain position. Can we afford to have an Advanced Beginner in a certain position, or are we specifically looking for an expert? How do we find out who is?

    It also occurs to me that the model doesn't really apply to a person as such, but to a *skill* of a person. So, someone could well be, say, an expert in debugging EJB applications, but a novice in OOD.
     
    Jeanne Boyarsky
    author & internet detective
    Marshal
    Posts: 33694
    316
    Eclipse IDE Java VI Editor
    • 1
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    I agree. I was thinking of Java development as one skill. But even core Java isn't because there are so many partwhich brings up something from Agile Hiring: if someone is an expert in one thing (even if not your thing), it shows the person knows how to become an expert.
     
    Padmarag Lokhande
    Ranch Hand
    Posts: 93
    • 0
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Jeanne Boyarsky wrote:I agree. I was thinking of Java development as one skill. But even core Java isn't because there are so many partwhich brings up something from Agile Hiring: if someone is an expert in one thing (even if not your thing), it shows the person knows how to become an expert.


    Hi Jeanne,
    I really like your statement related to expertise. Never really thought about it.

    Regards,
    Padmarag
     
    Padmarag Lokhande
    Ranch Hand
    Posts: 93
    • 0
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Sometime back I asked similar question for self progress on StackOverflow
    The closest answer to my expectation was about this Programming Competency Matrix

    Regards,
    Padmarag
     
    I agree. Here's the link: http://aspose.com/file-tools
    • Post Reply
    • Bookmark Topic Watch Topic
    • New Topic