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. =)
Next week, I have more Drupal and translation server work, and I have three presentations I need to put together for work:
I also plan to:
In Success Built to Last (Jerry Porras, Stewart Emery, and Mark Thompson), you’ll learn that passion is essential to lasting success, and that both preoccupation and pain can point you towards what you’re passionate about. Here are a few quotes I liked:
What we consider to be painful offers a window to our soul — to see uniquely who we are and what we must do. Do you love to play music and at the same time find it disturbingly painful to hear a flat note on that CD, or hate to live without music for a whole day? Let’s forget for a moment that friends and relatives think it’s foolish or even dangerous for you to choose music as your next profession. Do you love to write poetry and find it torturous to read a bad sentence? When I say painful, I don’t mean annoying–I mean, does it torment you, keep you awake at night, or get you up in the morning? (p.156)
I have many passions that trigger that in me, and over time I’ll learn how they all blend together. It’s painful to listen or watch people communicating ineffectively, and this drives me to learn more about presentation skills and other ways to reach out. It’s painful when I hear someone make excuses for not learning something (no time, etc.), so I make an effort to understand the root causes and see if I can help people over any humps. It’s painful to know that I want to communicate something but I’m not doing it well, so I get out there and keep trying. It’s painful to watch other people get buried in money worries, so I enjoy balancing my books and looking for more ways to be frugal. It’s painful to do things that a computer really should take care of, so I program little tools that can automate some of my work. It’s painful to watch people have humdrum days at work, so I try to bring more of myself to the work that I do. It’s painful to consider resigning myself to a less than full life, so I find as much joy as I can.
The point is that you know that you are on the right track when you naturally obsess over what you love like a geek, as in being a person who is single-minded in pursuit, at the risk of being socially insensitive while so engaged. It attracts you even when you’re too tired to do anything else. It seduces you to the point where you lose interest in everything else, to the extent that you become socially inept around people who couldn’t care less about whatever it is. (p.40)
<grin> Hey, I’ve been geeking out since I was a kid. W- is like that too, so we’re working out how to signal each other when we’re in our single-minded focus modes.
What are you passionate about?
If you can’t name anything, you might want to contemplate this quote:
"And if you say, I don’t have anything I love, well then there’s a real problem right there, and you have to sit down and say, ‘Why don’t I have anything that I love?’ What in me has walked away from every inclination that I had, that I had found something, something that sparked me, something that was for me, and I didn’t do it. You have to go back, you know, just recount every moment of your life, what was it, what was that one thing that I did that I loved?" said [Sally] Field, [a director and actress].
My dad taught me how wonderful following your passion can be. I hope you discover that joy too. =) Me, I’m discovering it step by step – and the journey is awesome.
|Success Built to Last: Creating a Life that Matters
by Jerry Porras, Stewart Emery, Mark Thompson
Do you want to get more people you know to read your blog, connect to you on social networks, and interact with you online? Do you want to build stronger, deeper relationships with your online contacts, maybe even interacting offline? Here are some quick tips on how you can use your online network to strengthen your offline one and the other way around.
To go from offline contacts to online contacts, build value:
1. If you want people you know to connect with you online, make sure people can find you. Create a personal website that has your bio, some contact information, and links to more information on the Net. Put your website address on your business card and in your e-mail signature, and mention it when appropriate.
2. To get people to visit your website or read your blog, give them something they’ll find immediately useful. For example, if the coworker encounters a problem that you’ve solved before and blogged about, give your coworker the URL of that blog post and he or she will almost certainly check it out. If you’ve given your elevator pitch to people and they’re convinced that you’re the person who can solve their problem, they’ll check out your website too. Make it easy for people to find the information they’ll find immediately useful.
3. To get people to keep coming back, provide continuing value. If you follow the advice in step 2, you’ll end up accumulating a lot of useful information that can show people that you’re worth subscribing to. Make it easy for people to browse through your website and figure out if they want to subscribe to you or connect with you. If you want to connect with people on social networks, don’t think of it as a one-time connection, but treat it as an opportunity to develop an ongoing relationship.
To go from online contacts to offline contacts, build trust:
1. Teach people about your competencies. This is probably the easiest one to start with. Sharing tips and experiences shows people what you’re good at, and they can start to trust you in those areas.
2. Show people your character. If you go beyond just giving facts and start telling stories, you can form more of a personal bond with people. This helps them trust you as a person, because they get to know your character.
3. Be yourself. It’s a lot easier to go from online contacts to offline contacts if people know your real name. A picture and a biography helps, too. =)
Hmm, will think about this more. There’s something in here that might be useful… =)
Well, it’s still really the Networker-10 theme underneath, but I’ve stripped away a lot of the CSS that made my site look heavy, moved things around, added some quick links along the top, and finally got around to making sure wp-cache worked. The site should be nice and zippy again. Check it out at sachachua.com!