Alternative title for programmers using C-derivatives and Java:
Good Programmer == Lazy & Dumb?
I read this blog post, Why Good Programmers Are Lazy and Dumb, and it struck me a being an excellent perspective. Especially with these 2 quotes:
Lazy, because only lazy programmers will want to write the kind of tools that might replace them in the end.
My goal when working on a project it produce a product that takes me out of the loop on the project. By that I mean that I want to provide the end users all the tools they need to manage the application once released to them. No, I don’t want to have to manage in-application security, I want a tool provided to the appropriate person to do that. I want to be a DBA\Developer, NOT an application administrator. I want to be able to work on new and exciting projects, not stick with one.
But there’s a more crucial point why a good programmer must be dumb. That’s because for him to find the best solutions to problems, he must keep a fresh mindset and manage to think out of the box (or rather, know its actual shape).
Sometimes, the worst situation is the one where you are re-writing an existing application. Why? Because you, or someone else on the team, knows too much about it and can’t see new ways to do it. A few years ago I moved to a new position and was put on a project with one of the existing developers who had been in the organization for several years and had written much of the current application. Let’s just say this was a blessing and a curse. They knew the processes well and what hadn’t worked well, but this also meant that they weren’t able to see other ways to do things which may be better. I was the “dumb” programmer in this situation and tended to ask, “Why?” a lot and suggest alternate ways of doing things.
So the questions are:
- Are you trying to write software that replaces you? Are you automating the routine tasks of being a DBA so that, with proper documentation, someone can come behind you and not miss a beat?
I know I have a long way to go in regards to automation and documentation, but I’m working on it.
- Are you content with, “I’ve always done it that way”, or are you looking for new or better ways to do things?
I’d like to think that this an area I do well in. I’m always looking for a better way to do something, which is why I attend user group meetings, read books and blogs, and participate in the online SQL Community.
How about you?