At the 32km marker a series of signs were staked into the grass along the course. The first sign read “You’re doing it!”, the next “Only 10 more kms!”, and the next “You’re running a marathon! You ARE a marathon runner!” A tear welled in the corner of my eye, perhaps from the pain in my quads, or the reality of still being 10km from the finish, but more likely because it finally dawned on me that I was indeed running a marathon - an event I’d been looking forward to since running the Half Marathon a year earlier.
Training for a Marathon was relativity easy. Basically you run one long run every week, in addition to running 6-10km 4 times every week, then rinse and repeat for 3 months. As boring as that may sound, once I got into a routine, and found a running partner, I looked forward to running. Here’s the schedule I followed (I know, I know, don’t laugh, it’s from the far from reputable About.com): Basic Marathon Training Schedule for Beginners.
My next goal is to qualify for a Boston Marathon (qualifying time is 3 hours and 10 minutes) and run alongside the 20,000 participants in the Boston next year. I’m not too far off the qualifying time, as I managed to finish this Marathon under 3 hours and 30 minutes - look me up in the 2010 Scotiabank Calgary Marathon Results.
Get out there and run! :)
The business world is full of “professionals” who wear the uniform and try to seem perfect. In truth, they just come off as stiff and boring. No one can relate to people like that.
Don’t be afraid to show your flaws. Imperfections are real and people respond to real. … Don’t worry about how you’re supposed to act. Show the world what you’re really like, warts and all … talk like you really talk. Reveal things that others are unwilling to discuss. Be upfront about your shortcomings. … You might not seem as professional, but you will seem a lot more genuine. - Rework: Jason Fried, David Heinemeier Hansson
I’ve struggled with the personal vs professional tension for sometime. Back in 2002, I started this site with the intention of professional self promotion (image above is my site from 2003). The results were predictable: the tone boring, the topics dry and most visitors saw through the veil of self promotion. I’ve matured since then (well I hope I have). :) Over the years I’ve found that a personal, down-to-earth tone maintains a healthy level of transparency both on the web and in real life. As Gandhi once said:
Happiness is when what you think, what you say, and what you do are in harmony.
This March marked my fifth year of working in the software realm and five years since graduating University, and this year (according to industry standards) I’m now considered a Senior Developer.
Funny enough. Today, I don’t consider myself a Senior Developer, but a couple years ago I would have told you to “Call me Senior”. Back in those days I may have been a Senior Developer within the monocultured context of the domain, language, and environment I was working with, but certainly not within the larger context of the software realm. I had surrounded myself with homogeneous tools, like minded colleagues, and had fallen into the trap of thinking I was an expert when I wasn’t - we all thought we were Senior Developers.
“When you are not very skilled in some area, you are more likely to think you’re actually pretty expert at it … The converse seems to be true as well; once you truly become an expert, you become painfully aware of just how little you know.” - Pragmatic Thinking and Learning: Refactor Your Wetware
Over the years I’ve observed that Experts and true Senior Developers are collectively regarded as such by their peers, not by corporate credentials, not by job titles, or duration of employment. Experts and Senior Developers are more preoccupied with getting things done, improving themselves, improving their environments, and helping others - not worrying about job titles and status.
“The people who are best at programming are the people who realize how small their brains are. They are humble. The people who are the worst at programming are the people who refuse to accept the fact that their brains aren’t equal to the task. Their egos keep them from being great programmers. The more you learn to compensate for your small brain, the better a programmer you’ll be. The more humble you are, the faster you’ll improve.” - Code Complete: A Practical Handbook of Software Construction
Please, don’t call me a Senior Developer, I’m Mr. Developer or Señor Developer.
remember from school other students preventing you from seeing their answers by placing their arm around their exercise book or exam paper.
It is the same [in the working world] …
The problem with hoarding is you end up living off your reserves. Eventually you’ll become stale.
If you give away everything you have, you are left with nothing. This forces you to look, to be aware, to replenish.
Somehow the more you give away the more comes back to you. - Paul Arden, It’s Not How Good You Are, Its How Good You Want to Be
I identify with Arden’s philosophy. The creative process is enjoyable. If I’ve had fun producing it, then why not share it? I think our tendencies to hoard, get hung up on copyright, and get picky about attribution stem from our fear of being taken advantage of and the fallacy of thinking we’re special (we’re not special). I think we should throw our code into the public, share our content, give away everything, and watch what comes back.
The painting above was created by Ron Krajewski, based on my photo (licensed under Creative Commons). Ron mailed me a copy of the painting - it’s also available for purchase at Pet Art.
The most popular conception of creativity is that it’s something to do with the arts.
Nonsense. - Paul Arden, It’s Not How Good You Are, It’s How Good You Wan’t To Be.

This year marks a new decade for me (I’m saying goodbye to the late 20’s). According to Arden’s Creative Circle this blog was written during my era of Maturity and for the next 10 years I’ll be Hell Bent On Success. Thanks for putting up with my growing pains and griping.
As a youngster I was encouraged to: “Find work that you love and do what makes you happy.” Ironically, this sage advice was usually delivered by the unhappy, unemployed, or paranoid (paranoid that the government was stealing their money, unhappy with the uncertainty of not working, or unemployed because keeping work in small remote economies is tough). It’s also fair to mention that this piece of advice was usually followed by: “Get a trade. You need a trade!” This was probably great advice a couple decades ago, or if you’re working in remote communities, but less relevant in today’s world. I loosely followed this advice through my younger years and I remember constantly being frustrated when work inevitably lost its fun. Thankfully, I eventually realized that work is work (if work was fun we’d just call it fun, then we’d be preoccupied with having work, not fun). Anyhow, I sympathize with today’s youngsters who are wrestling with this same conundrum - being told one thing, but experiencing a different reality in the real world. My words of advice today would be to: “get experience, work, do whatever you can, build a resume, go to school, and you’ll eventually find work that you love. Oh, and don’t look solely to work for happiness.”
Today I do find my work fun, but I couldn’t have got here without the experience I gained while plowing through boring jobs (like working the assembly line, tree planting, or digging outhouse pits). In order to find the job you love you need to start gaining experience now.
I found the Dreyfus Model of Skill Acquisition neat. It’s a central theme throughout Pragmatic Thinking and Learning by Andy Hunt.
Here’s how Wikipedia describes the Dreyfus Model:
The Dreyfus Model of Skill Acquisition postulates that when individuals acquire a skill through external instruction, they normally pass through five stages. … the five stages of skill acquisition are: Novice, Advanced beginner, Competent, Proficient and Expert - Dreyfus model of skill acquisition
We have different skills and are at different stages simultaneously in each skill - for example, someone might be an Expert at underwater basket weaving and a Novice at cooking. As we cultivate our experience we progress through these stages.
The categories (again, from Wikipedia) are as follows:
- Novice
- Advanced beginner
- situational perception still limited
- all aspects of work are treated separately and given equal importance
- Competent
- coping with crowdedness (multiple activity, information)
- now partially sees action as part of longer term goals
- conscious , deliberate planning
- Proficient
- holistic view of situation, rather than in terms of aspects
- sees what is most important in a situation
- uses maxims for guidance, meaning of maxims may vary according to situation
- Expert
- no longer reliant on rules, guidelines, maxims
- intuitive grasp of situation, based on tacit knowledge
- vision of what is possible
Presented with these categories we can draw some parallels with the software realm. Like say, create a list of events that you’d most likely find these different categories of software developers hanging out.
Developer Event Attendance and Developer Skill Categories:
- Vendor or Technology Specific: User Groups / Code Camps / Corporate Training / Evangelistic Events
- Many Novices
- Many Advanced beginners
- A small number of Competents that are transitioning to Proficients
- Proficients and Experts might be leading the group or may have been mandated to go by their organization
- Open Book Clubs / Non Specific Technology Meetings / Non Specific Bar Camp Type Events
- Mostly Competents, Proficients, and Experts
Of course, this is just my opinion. I’ve noticed that my attendance to the events listed above continually shift. Initially I thought I was becoming a curmudgeon, but instead I shifted a couple Dreyfus categories.
I once had a strong aversion to Social Media (Facebook, Twitter, LinkedIn, FriendFeed, pick the site of the week, …) but today I embrace it. In the old days, I thought these sites were silly, a waste of time, and preferred to spend more of my time pursuing technical / academic activities. In retrospect, I think I was feeling insecure in my technical abilities (placing to much focus on technical pursuits), I probably thought I had a boring life (and thought everyone else was bragging about theirs), and I certainly misunderstood the fundamentals of Social Media (somehow I thought being part of the conversation meant I had to consume everything).
I eventually realized that Social Media is a lot like TV. TV is overwhelmed with commercials and mediocre shows, the content is hard to find. When I watch TV (if I watch TV) I mute the commercials, flip through the channels looking for something interesting, and multitask (magazine, laptop, …). In the end TV is a leisure activity, I don’t try watching every channel (I know I can’t) and don’t pay attention to the advertisements. I do the same thing on Social Media sites too. I don’t pay attention to every post (I can’t) and I don’t pay attention to self promotion, promotions, or advertisements.
Today I embrace Social Media because it lets me participate in the conversation, share my opinion, connect with friends and family, and be an active part of our world. Oh yeah, and it’s fun too!
“Don’t be shy … or nobody will know you’re there” - Yusuf Islam / Cat Stevens
My idea of professionalism continually changes.
As an entry level developer I thought professional meant:
- talking incessantly about technology (hiding my personal life behind shop talk)
- dressing up for my cubical (wearing polyester dress pants, cotton dress shirts to work, and occasionally ties)
- focusing on things that can be proven (giving little concern to interpersonal relationships or the general untestable messiness surrounding softskills)
- writing the FASTEST CODE EVER (I was sidtracked with premature optimizations)
- I tried to be a programming machine (working 29 hours a day)
- becoming a Microsoft Most Valueable Professional (MVP)
Those ideas were skewed and I was running the risk of becoming a bit of a douche.
Today I think professionalism means:
- being comfortable in your own skin
- being able to delegate tasks within a team
- being an effective member of a team (not participating in gossip, back talk, or other activities that erode a team)
- being transparent
- maintaining a work / life balance
- choosing the best tool for the task
It’s funny how experience can change perspectives. I wonder what my definition of professionalism will be in five years?
I ran my first half marathon this past weekend. Finding training resources online was difficult so I’m passing on the advice that I found useful.
How to train for a half marathon:
- Ensure you can maintain 30 minutes of moderate running at least a month before your running date (this is the most important step)
- One month before your race, run 18 kms (6 easy, 6 moderate, 6 hard, don’t worry about how long it takes)
- 7 days later run 20 kms
- 7 days later run for 90 minutes hard
- 7 days later run for 60 minutes at a moderate pace
- 1 day before the race run for 20 minutes at an easy pace
The week before the race you should be feeling lazy, lethargic and ready for the race - you’ve tapered correctly. Tapering leads to improvements in running economy and muscle strength. Learn more here Tapering For a Marathon.
Other tips I picked up:
- If you’re planing on taking gels or sports drinks during the race then make sure to take them while training
- Don’t mix sports drinks and gels - take one or the other or you’ll get end up getting sick (like me)
- Bring Advil or Tylenol with you
- Avoid fiber foods 2 days before the race (you don’t want to visit the portables)
- Add more carbs and salt to your meals the week of the race
- Have your last big meal 10 hours before the race
- Have your breakfast 2-3 hours before the race
Running with 3000+ people for the first 16 kms was an amazing experience, after the 18 km mark I was questioning my sanity, and when it was over all the race participants were on top of the world. I highly recommend doing a half or full marathon. I raised some money for Team Diabetes and managed to finished under 2 hours. Next year I’m doing the full. Look me up in the 2009 HSBC Calgary Half Marathon Results.