Task: Remove a Programmatic Crutch
Phil DeVeau left a great comment about Podcast 72 on Becoming a Better Developer in Six Months. He said:
Remove a Programmatic Crutch. Everyone has programmatic crutches, maybe you can't code without coffee, or without music, or more likely you can't do anything without an IDE.
I love the way he phrased it. A while back (do forgive me the self-quoting, you know you're an idiot when you start quoting yourself but...) I said If you're going to develop a habit, why not make it a best-practice-habit?
That was a true and pithy statement, but I was thinking about new habits. I often forget about all the old ones. Here's my "crutches" and I resolve to do something about them...even if that something means deciding that they, in fact, work for me and I decided to keep on doing them. At least I'll be able to say that I haven't lived an unexamined programmer-life.
- Email Checking: I tend to roll directly out of bed and roll, roll, roll, down the hall, roll into my chair, and immediately check my email. This is insane. There's rarely something crucial that's happened between 2am and 7am that needs my attention.
- Crackberry: I'm getting better with this one, but still, the "urgency addiction" is strong in this one. I'll try to embrace the freedom of only checking email forty, er, um, I mean, four, times a day.
- Caffeine: I thought I kicked the junk, but I'm back on it. The Diet Coke is going to destroy me. In the words of Dennis Miller, do I need a soft drink with an undertow? I'll start reaching for water unless I really need a kick to get some code working. Actually, I think that Diet 7UP is probably an appropriate methadone for Diet Coke, no?
- XM 150-154: I love my XM Radio, especially the four twenty-four hour comedy channels...I listen to them while I code...wait...why is this a crutch? Screw that, I'm keeping this one.
What programmatic crutch are you going to remove during your quest to be a better developer in the coming months?
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
Hahaha. But seriously. I had powered up the work laptop on my home network, and Resharper had disabled itself because I bought a personal license, and it's for as many machines as you like, but only running on one at a time. When Resharper disables itself you obviously lose it's enhanced intellisense, but it doesn't turn VS intellisense back on. I hadn't realised and once I typed objectName and then the . ..... I was so lost.
*sob*
I used to write lots of HTML and PERL in notepad/vi, and Java/Swing in Borland studio which was just a step above notepad. I usually ended up writing my UI by hand for some projects. Then I found VS, and realized that I'd much rather be productive than l33t.
I suppose that the thing that I could give up that would bring the greatest gain in terms of code quality would be marathon coding sessions. They are really fun, but not always the best for thinking through problems and doing things right.
But I can't even use straight Visual Studio anymore. I need CodeRush and Refactor!Pro. I can't live without them. I know this sounds like an ad, but its just plain true.
Instead of removing a crutch by removing things, how about removing a crutch by mastering the tools at your disposal. Are you getting everything out of VS that you could be?
I've taken to writing code in Notepad at least once a day, it's a drastically different experience than letting intellisense complete your sentences for you. Often I can get an entire program written in the time it takes the IDE to startup and create a project...
I'm re-crutching (is that a word?) on caffine (2x double espresso a day) and good trance music. Works so far. My other crutch is my noise cancelling headphones (Blackbox M-14's). But I dont have a door on my cube.
Of course, I can code without them.... really I can. Hey! Get away from my espresso machine!
I guess I am different than most people. I drink no soda. I do not like coffee but I *love* chocolate. I can go through 1 pound in 30 minutes.
I love Intellisense and Resharper. I don't have to go "what's that method name again" or use a reference book. Just type along and be more productive. Use 2-3 monitors.
Knowing that I've got a little mini-break to look forward to in an hour or so actually seems to make me focus more on the task at hand. Prior to trying this out, my internet box was always whispering to me that I ought to, for instance, check the e-mail or see if the stock market is tanking. It was a distraction, honestly.
One thing I really find helpful (even though now I have my own office) is a set of noise-canceling headphones. They are like my "do not disturb for idle chit-chat" sign. Seems to have always worked well at my jobs.
Time for some Diet Coke! ;-)
with loads of hot keys and shortcuts configured the way I want them
it's probably freedom
freedom to choose the IDE i'm comfortable at and freedom to configure os the way i like
that's my crutch
A number of contemplative traditions suggest that fear is an ancestor of attachment. Challenging the attachment might provide a clearer perspective on the particular granule of fear that drives all kinds of attachments.
I use test-driven development to challenge my assuredness that I know how to design. I'm attached to that assuredness because it's part of my identity as a tech lead. Detaching from my assumptions that I know how to design lets me be free of the energy drained by sustaining an identity that could be better used to have a sharper perception of the reality that I'm trying to model.
Giving up a crutch is a great idea. Something seemingly as materialistic as coffee could be a gateway to a whole dimension of clarity that we're not presently aware of.
Personally, I think detachment is a huge part of being a better developer and a better designer. better software comes from a clearer understanding of the truth of the models we're working with. Any effort for a programmer to gain clarity will inevitably improve the product of the programmer's mind.
My 2 cents.
My personal crutch is working at night. I generally attempt to lead a "normal" life of going to bed and getting up within a few standard deviations of most of the working world. But when it's crunch mode, all of that goes out the window, and it's back to the 11 (am) to 4 (am) world for me. Works for me, and thank goodness, I have a spouse who can live with that. It might be possible for me to forgo the crtuch of late nights, but the fact is that I'd just get a whole lot less done. Not sure it's a great trade-off.
On the other hand, I think I'm getting addicted to World of Warcraft. When something goes fine in the office, I now usually say "GG" (Good Game, in WoW), and my colleagues look at me like I was a loony. Now... if only I had my Hand of Eternity to show them... :-P
A question -- just out of curiosity -- have you noticed any effects on your blood sugar when using Diet Coke, as opposed to just drinking water?
Comments are closed.