coding in public

Post on 20-Jan-2015

1.815 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Coding In Public

Alan Stevens

or If You’re Gonna’ Suck, Do It With Gusto!

WHO IS ALAN STEVENS?

• Microsoft Most Valuable Professional• ASP Insider• Occasional Blogger

http://netcave.org• An Enthusiast NOT an expert!

June 26th – 27th 2009

• Knoxville, TN• Regional Speakers / Open

Spaces• .NET, Java, Ruby, Erlang, more• Call for speakers – March 31– 3 & 6 hour sessions on Friday– 1 hour sessions on Saturday

• http://CodeStock.org• http://twitter.com/CodeStock

DevLink

August 13-15, 2009 Nashville, TNwww.devlink.net

I am a failed educator.

“I never stopped trying to become qualified for the job.”

Darwin Smith, CEO of Kimberly Clark

Dreyfus Stages of Skill Acquisition

1. Novice2. Advanced Beginner3. Competent4. Proficient5. Expert

Novice

• Rigid adherence to taught rules or plans• Little situational perception• No discretionary judgment

Advanced Beginner

• Guidelines for action based on attributes or aspects

• Situational perception is still limited• All attributes and aspects are treated

separately and given equal importance

Competent

• Sees action at least partially in terms of longer-term goals

• Conscious, deliberate planning• Standardized and routinized procedures• Plan guides performance as situation evolves

Proficient

• Sees situation holistically rather than in terms of aspects

• Sees what is most important in a situation• Perceives deviations from the normal pattern• Uses maxims, whose meanings vary according

to the situation, for guidance• Situational factors guide performance as

situation evolves

Expert

• No longer relies on rules, guidelines, or maxims

• Intuitive grasp of situations based on deep tacit understanding

• Intuitive recognition of appropriate decision or action

• Analytic approaches used only in novel situations or when problems occur

Where We Stand

Novice

Advanced Beginner

Competent

Proficient

Expert

Source: Hackos & Stevens, 1997 via the Pragmatic Programmers

"The vast majority of all users remain advanced beginners, performing the tasks they need and learning new tasks as the need arises, but never acquiring a more broad-based, conceptual understanding of the task environment"

Hackos & Stevens, 1997, p. 36

You can write COBOL in any language.

Everybody works, but not everybody improves.

WHY?

The Mastery Curve

The Dabbler

The Obsessive

The “Hacker”

After moving up a level, things always get worse.

Zones of ComfortComfort ZoneLearning ZonePanic Zone

Comfort Zone

People stay hereMinds often closed to learning

Very little change

Learning Zone

Lots of UncertaintyFeels uncomfortable

and challengingLots of learning opportunities

Panic Zone

People close upThey freeze

They don’t learnVery little focus on change and improvement –

it’s all about survival

The Fast Horse?

What is expertise?

• Performance consistently superior to peers• Produces concrete results• Can be replicated

Recipe For Greatness

1.Intensive practice2.Devoted teachers3.Enthusiastic support

Deliberate Practice is Designed

Deliberate practice

focuses on tasks beyond your current

level of competence and comfort.

It is only by working at what you can’t do that you become an expert

Be honest about areas for improvement

Practice without attention to reflection and form will not yield the same results.

Deliberate practice is not “fun”, but it is rewarding.

Flow requires challenge or boredom results.

“If you practice with your fingers, no amount is enough. If you practice with your head, two hours is plenty.”

Violin Professor Leopold Auer

10,000 hours to mastery

• 4-6-10• 4 hours/day• 6 days/week• For 10 years!

How can we encourage greatness(or at least improvement)?

• Be supportive of efforts to improve– Allow one another to suck (with gusto!)

• Be a mentor• Catalog simulations and case studies

Provide a supportive environment

Be willing to be a mentor

Be willing to receive constructive,

unsentimental feedback

Remember the Kobayashi Maru

Simulations and Case Studies

• Code Kata• Code Dojo• Bitslingers• “Code Sparring”

Greatness is not a function of circumstances. Greatness, as it turns out, is largely a matter of conscious choice.

Jim Collins in Good to Great

In order to become an expert, you must become eccentric.

Those who know do not speak;Those who speak do not know.

Tao Te Ching, Chapter 56

Thanks For Listening!

Email/IM: alanstevens@gmail.com

Blog: http://netcave.org

Twitter: @alanstevens

top related