6098 comments
2357 subscribers
6258 on Twitter
Subscribe! Feed reader E-mail

Getting through the plateau of mediocrity; Picking up the idioms

This week, I discovered–rediscovered?–something I love about programming and broke through something that had been frustrating me for a while.

The energy I get from sharing what I know with people–giving presentations, writing articles, talking to people in small groups and one on one–coupled with a slight imposter syndrome–difficult to avoid when working with such experienced people!–had left me wondering if developing software was still in my future. I’ve been good at it before, but I was wondering if it was the kind of competence that had taken me far but which could keep me from doing something that would bring in even more of my passions.

One of the things I loved about programming was working with people directly. When I maintained an open source personal information manager named Planner, I enjoyed helping people who were passionate about becoming more productive. I wasn’t sure if I could get that kind of experience in commercial software development, where there might be layers of analysis and design between me and actual users, and where we typically work on larger projects than the highly personalized customizations I helped other Planner users make. In the seven months I’d been with the company, I hadn’t really been on any projects that made me feel good about programming.

I was feeling pretty blah about coding. I could do it, but I wasn’t feeling that spark. I figured that it might be just be the relationship of skill to joy. I remember coming across something like this graph when I was reading about the role of deliberate practice in developing expertise.

When you start learning something, you enjoy it because you’re learning a lot. Then you hit the plateau of mediocrity. No matter how much you practice, it seems as if you’re making very slow progress. This lasts until you become good enough to stop thinking about doing things and start enjoying yourself while you do them. Deliberate practice gets you through that plateau of mediocrity. It’s not very fun, but if you can trudge through that plateau, you can break through to new heights.

Actually, the skill/joy curve looks more like this:

… because there’s always more to discover. (And that’s a good thing!)

Researchers found that this holds true whether you’re talking about tennis, chess, music, or anything else in life. I was feeling it with my work. I’d gotten good enough at presenting to have fun doing it (although it still makes me nervous), but I was stuck in the plateau of mediocrity when it came to programming. I was frustrated because I couldn’t get a sense of my progress.

But this week, I immersed myself in Drupal code, learning enough of it to rewrite some code to follow the Drupal way of doing things–and I felt a shift in the way I wrote the code. I love picking up the idioms of a language or a programming platform, just as I enjoyed learning enough Japanese to understand the juggling unicyclists at Ueno Park. There’s something magical about feeling your brain start flowing along different paths. Picking up programmatic idioms, learning more about other people’s code and ways of thinking–that’s what turns the isolated activity of programming into a social activity for me. I’m not just writing code. I’m listening to and talking with the other programmers who had touched that code before. I’m learning the lingo. I’m grokking it.

I’m looking forward to doing more work in this area. I’m still very far from a Drupal whiz (that’s probably a number of other joy/skill cycles away), but it’ll be fun getting there. =)

Short URL: http://sachachua.com/blog/p/4877

On This Day...

  • 2012: A perspective on outsourcing — Mel suggested that I write about delegation and outsourcing to virtual assistants because I approach it in a different way. [...]
  • 2011: The flow of opportunities in a large company — Henry Will asked me how I got to work on such interesting projects. What worked particularly well: blogs? presentations? networking? [...]
  • 2010: Exponential awesomeness —   @smeech I recently built an entire workshop around Sacha Chua‘s Teacher’s Guide to Web 2.0: http://ow.ly/160X0 Watch/Do/Teach was our mantra @sachac [...]
  • 2009: Drupal in the trenches: AJAX history makes my brain hurt — Many websites use asynchronous Javascript and XML (AJAX) to provide all sorts of whizbang improvements, such as smooth interaction without [...]
  • 2008: New blog design — Well, it’s still really the Networker-10 theme underneath, but I’ve stripped away a lot of the CSS that made my [...]
  • 2008: Thinking out loud: Taking it off/online — | View | Upload your own Do you want to get more people you know to read your blog, connect [...]
  • 2008: Book: Success Built to Last — In Success Built to Last (Jerry Porras, Stewart Emery, and Mark Thompson), you’ll learn that passion is essential to lasting [...]
  • 2008: Weekly review: Week ending May 25, 2008 — This week was mostly about working on Drupal code. =) Finding my groove! I’ve also been working on my book. It’s [...]
  • 2007: Pinball — I’ve always been fascinated by the flashing lights and mechanical contraptions of pinball machines, so it was with great delight that [...]
  • 2007: Driving me crazy — The acrid smell of burnt rubber filled the driveway of our Alabang house, testimony to the difficulties I was having with [...]
  • 2007: Exercise — We sometimes do high-five pushups during krav maga exercise/self-defense classes. I haven’t gone in a while, but feeling an itch to do [...]
  • 2004: Open source CMS demos — opensourceCMS (http://www.opensourcecms.com/) has demos of content management systems. (Recent defacement: uncool. Bad karma for whoever did it.)
  • 2004: “Europe’s Semantic Web Projects Start to Mesh” — The inaugural European Semantic Web Symposium held in Crete brought together international experts and showcased how semantic Web technology has moved from [...]

Get the highlights as a PDF!

Stories from my Twenties: Highlights from a Decade of Blogging

Free sample!