Eh, I’m a ‘nothing’ on the grand scale of computer programmers. I’ve been working as a full-time developer for about 2.5 years now. I’m not particularly smart or gifted and while I’d love to spend lots of free time learning more about computer programming; I’m at a stage in my life where it takes a backseat to other things. Having said that, I don’t have kids or a wife, so I don’t see that changing anytime soon.
So, take my opinion with a grain of salt…
From what I’ve seen and learned as a developer (as an IT Consultant specifically) is that appearance REALLY is important. In my past job, dealing with clients, as well as some on-the-side contract work I’ve done the people who write my check don’t understand computers. They certainly don’t understand programming. When a client requests a feature they really have no idea or understanding of the scope of that change.
When people don’t understand what you do and can’t very well measure how well you do it (Spagetti code in 4 hours that works or excellent code in 5 hours - what looks better to a client who doesn’t know anything about development and who pays you $100 an hour. Hint, they’d rather have it done in 4 - most of them anyway).
When I read the post about marketing, it reminded me of my consulting days. Days when the whole team (five of us, staffed at the corporate headquarters of a large retail chain) all had to show up 25 minutes early - so that, even if there was traffic and we were running 20 minutes late - we’d make it on time. Days when even if you worked through lunch, you couldn’t leave until 5.
I was a fresh out of college kid at the time and I didn’t understand why it mattered. I’ll code just as good from 7:30am - 5:00pm as I would from 8:30am-6:30pm. But the fact of it is, being there early and never leaving early left a real nice impression on all the workers.
That’s just one tiny example, but there was a WHOLE LOT more to being a good consultant than doing a great job writing code. If the customer understood code - they probably wouldn’t have hired us. That meant helping the client understand how easy or how hard something was. That meant, having visibility to the client. Interacting with the client. Making them think you were generally a nice, honest person who wasn’t going to screw them over. If you could go even a little further and seem friendly, well, that was all the better.
Looking back, I didn’t see why it should matter…and maybe for some of the amazing hot-shot programmers who land jobs at Google on their amazing technical merit - it doesn’t. But for a guy like me…well…I can use all the help I can get.