Before Your Morning Coffee

Tags: programming habits

Folks are talking about Raymond Chen patching the MS Money binary because Money crashes during import of account transactions.

Coffee

There’s a lot of love in the air for that old, end-of-life, product. There’s also a lot of love for Raymond walking through the debugging and patching process. It takes a lot of knowledge and skill to patch a compiled software program without any special access to the source code, and the article is worth a read if you’re into that sort of activity.

But I’m not really interested in all that. At least not today.

I want to talk about what you do before your morning coffee. See, down at the bottom of Raymond’s post there’s a little section called “Bonus chatter”, and at the bottom of “Bonus chatter” we get this gem:

Specifically, I said, “I feel like Jeff, who does this sort of thing before his morning coffee.”

Jeff corrected me. “If this was something I used to do before coffee, that probably meant I was up all night. Persistence >= talent.”

Persistence >= talent. That is the passage to note. Nobody is born with an innate talent for software development. Or writing. Or painting. Or auto body restoration. It takes persistence.

I’m going to admit something about myself that I’m not sure I’m happy about. I’m quick to judge IT folks who say they want to be programmers.

A quick tangent: I love the idea of running and finishing a marathon. Sounds exhilarating.

I hate the idea of training for a marathon. I’d much rather code, or cook, or build than run 5+ days a week for months at a time. I’m at peace with this. I don’t tend to divulge my love of the idea of marathon running much since I know I won’t put forth the effort to actually do it.

Point an IT guy or gal at well written and tested material, and they should be programming in very little time. Basic stuff at first, sure, but everyone starts there. Most often, though, their true desire to be a programmer without learning to program shines through.

Programming. It’s not hard. But it’s not easy, either. It’s easy to sit down one day to learn how to program, but you won’t get far. It’s hard to do that every single day for months at a time.

IMG_2099

If you need help learning how to program, or clean a carburetor, or ice a cake, or anything else, find a potential mentor and bring your work with you. It gives the mentor something to work with, and it shows your dedication to the topic. Partial credit isn’t some relic of math classes long forgotten. It still works to your benefit. Show your work and get partial credit. Show no work for no credit. Be persistent and succeed.