Month: August 2008
Of Grasshoppers
Student: Will you help carry my load?
Master: No. I will show you how to lighten it.
Not Found
I woke this morning in my regular panic, bolting upright in bed and glancing at the digital clock on the cable box. It read 404! That’s not a good time for a web developer to wake up!
State of Me
Stress has me broken out in a cold sweat. All I can do is watch the clock tick down like a timer on a bomb. With each tick of the second hand, my stomach knots a little tighter. All I can do is watch that clock. I can’t program right now. Think I’ll sit on the porch and listen to nature and perhaps chant the Diamoku or throw up.
Of Grasshoppers
Student: I cannot handle any more conflict in my life.
Master: Quit fighting.
Overthinking the problem
As a programmer, I solve problems. For my clients and myself it is important that I solve the problems as efficiently as possible with the caveat that the efficient solution must be scalable and have enough foresight as to cost effectively allow for unpredicted modifications in the future. A trap that developers fall into is overthinking the problem.
Imagine walking out of your house and realizing right as the door closed that you left your keys beside the television. Your mind races. You get all MacGyvery and start looking for a paperclip to use with your pocket knife as a makeshift lock pick. You ponder knocking out a window pane or lowering yourself down the chimney. The schemes escalate and become more elaborate. This is how a programmer overthinking the problem creates unnecessary levels of complexity which can lead to buggy code. The solution could be as simple as checking the other doors to see if one is open or getting the spare key from the neighbor. Or even more simple, doing a sanity check by confirming that the key is not in your pocket. Perhaps you didn’t even lock the door which is now the subject of your ornate plotting.
How can a programmer prevent overthinking a problem and wasting time?
- Sleep! Sleeping on a problem gives the mind clarity. Sometimes we dream the solution and sometimes the break is enough to see the error in our ways.
- Take a break! Similar to sleep, a diversion such as juggling, exercising, breathing fresh air, or working on a different type of problem can jolt our minds into seeing a simpler solution to the original problem. I highly recommend getting away from the computer but don’t abide by that myself. Often I will solve a sudoku puzzle or write a blog post to shock my mind into seeing a different solution.
- Talk to peers. Other people’s input is often helpful in seeing a solution. With programming, like many aspects of life, there can be many solutions to the same problem and others can inspire us with their approach to solving the problem. If you work by yourself like I do, find peers online with IRC or Twitter.
- Outsource. If a problem is being very difficult, give it to someone else. They may find it less complicated and it frees you to work on something different.
Using the same techniques writers use to alleviate writer’s block can cure coder’s block. Now I must return to the problem that I overcomplicated by overthinking it.
5 children in 5 schools
It’s official! All 5 of the children are in 5 different schools right now. The house is quiet and computer code is pouring out of my fingers!
Scouts
Don’t waste your life
State of Me
Just used my last green tea bag. Stress is so high that dizzy spells are threatening.
Today’s Deep Thought
Of all the things I ever wanted to be, I am none of them.
Ready for college
Mobile post sent by djuggler using Utterz. Replies.
From the mouths of babes
Amy, 6 years old, asking Dad: "Why is your tummy so big?"
Mom: "Amy, that’s not nice."
Amy: "But it’s bigger than it used to be!"
Dad: "I’m pregnant."
From the mouths of babes
Tommy, turned 18 today, and is signing his voter registration paperwork: "What is today?"
Mom: "What do you think today is?"
Tommy, irritated: "What is today’s date?!"
Teamwork!
Mobile post sent by djuggler using Utterz. Replies.