Agile Zone is brought to you in partnership with:

Jared Richardson works at Logos Technologies As a recognized expert in the software industry, Jared has worked with both start-ups and software giants. He's been involved with various open source projects, with roles from contributor to founder. Jared co-authored the best selling book Ship It! and Career 2.0, and founded the Agile RTP user group as a local outlet for the agile community in North Carolina. His personal blog is Agile Artisans Jared has posted 52 posts at DZone. You can read more from them at their website. View Full User Profile

Embrace Your Inner Stupid!

06.09.2010
| 19936 views |
  • submit to reddit

One of the classic engineer mistakes is the belief that we can do anything. We understand the basics of electricity, we bend computers to our will, and anything else, well, seriously... how hard could it be? We're Smart.

And we are a pretty smart bunch, both developers, engineers, and those in similar fields. We can figure out nearly anything, given time. The trap we need to carefully avoid is believing what our mother's believe about us: that we can do anything.

Once you step back, it's pretty easy to see. Being an expert car mechanic doesn't make you a brilliant brain surgeon. Or vice versa. In other words, expertise doesn't map quite as well as most of us like to think it does. (There's a great lesson to be learned here about why we should show our software to our customers frequently, but I'll leave that for another day.)

This is why learning new things can be so frustrating. We work our way up the ladder in one area, become very competent, then something new comes along, and we're suddenly stupid again. I know that I really don't like feeling stupid, and avoiding feeling stupid is a very natural response. But it's an urge we've got to fight.

The Dreyfus Model of Skills Acquisition is something I learned about from Andy Hunt. He talks about it a bit in his book Pragmatic Thinking and Learning: Refactor Your Wetware  and in a number of his related talks.

The Dreyfus model tells us that when we learn something new, we require steps. Think about a recipe book. The measurements are in very precise quantities, and we need that level of direction as beginners.

As we progress as cooks, we move on to "season to taste." Think of Emerill. Does he measure with teaspoons?

We do the same with technology. As we advance, we stop following steps and learn to move with more freedom and fewer rules. One of the harder things for an expert to do is to learn how to translate their vast experience back down into steps for a beginner. It's usually quicker for them to just do the work themselves instead of explaining how the work should be done.

What does this have to do with stupidity and feeling foolish? Learning a new technology and skill always pulls us off our sure footing, and moves us back to a level of requiring steps. Our pride chafes against the unfamiliar restraints. We're smart! Get out of our way and just let us work!

The biggest deterrent to your career is that impulse. Never be the developer who uses the exact same toolkit for the rest of your career. If you don't learn how to improve your craft, and your toolset, every year, then you've given up. You've settled for mediocrity, and the relative safety of working within your area of expertise.

Stretch out this week... find something new, something that takes you outside of your comfort zone. Embrace your inner stupid!

Here are a few ideas to get you started!


http://en.wikipedia.org/wiki/Test-driven_development

http://www.tryerlang.org

http://tryruby.org/

http://clojure.org/getting_started

http://memcached.org

http://en.wikipedia.org/wiki/NoSQL

http://ironruby.net/

http://rake.rubyforge.org/

http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/

http://www.ubuntu.com/

http://www.linuxmint.com/

http://www.virtualbox.org/

 

How do you embrace your inner stupid?

 

Published at DZone with permission of its author, Jared Richardson.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Byju Veedu replied on Fri, 2010/06/11 - 1:47am

   Most of links are pointed to some Dzone pages itself. For eg http://www.tryerlang.org and http://tryruby.org/ etc.

Jared Richardson replied on Fri, 2010/06/11 - 7:42am in response to: Byju Veedu

How did I miss that? WYSIWYG editors fail again... I'll fix that later today.

Tim Chen replied on Fri, 2010/06/11 - 1:29pm

The article itself seemed to just be repeating the point over and over (I'm an impatient reader :P) But the links at the bottom were awesome!! You inspired me to find a few more of those. Check this out for anyone that wants to try to learn scala http://www.simplyscala.com/

Avi Yehuda replied on Sun, 2010/06/13 - 2:46am

Hi Jared, I agree with every word and especially the with the conclusion.

I see more and more programmers which are fed up with learning new technologies and especially new working methods.
They excuse themselves by convincing themselves they have a lot of experience so they must have seen everything there is to see.

I guess that to be above average software developer, your hunger for improvement should be higher than your ego.

Walter Bogaardt replied on Wed, 2010/06/16 - 12:29am

Stupid is Bliss? Hmm, interesting way to spin it. Comfort zones work, but software develpment in the last number of years with a new language coming out ever month it seems we do have to remember to keep focus. I guess I have to equate to being a General practice Family doctor verses a specialist. You sometimes have to pick your battles to be successful and well rounded software developer.

Jared Richardson replied on Wed, 2010/06/16 - 6:16am

Hi Walter,

It's a balancing act, I admit. We can't learn every new thing that comes along, but if we settle down and stop learning, we have a problem just as bad.

Jared

Alec Clews replied on Mon, 2010/06/21 - 8:43pm

It's not just programming skills that need to be extended -- their are other things that make us more useful because they help us a) Understand the value we are delivering and b) Have better conversations with our colleagues, because not all of them are developers. Some examples

  • Basic IT security concepts
  • Basic IT System Management
  • Basic accounting
  • Simple Project Management

 

Jared Richardson replied on Wed, 2010/06/23 - 8:39am

Excellent points Alec. Do you have any web links to share with the rest of the class? ;)

John Quincy replied on Tue, 2011/10/18 - 8:42pm

Sometimes people get caught up in the hype of the latest technology or methodology sweeping the industry without even understanding the value to the company (or more often, the lack of value). This video is a perfect, lighthearted look at this phenomenon:

http://www.youtube.com/watch?v=nvks70PD0Rs

John

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.