November 28, 2012, 9:57 AM —
If George Washington really never told a lie, then he must never have been a programmer. All those long hours sitting alone in a cube or at a workstation (unless you pair program) can lead you to not just talk to yourself, but to outright lie. How else to justify doing (or not doing) certain things that you probably shouldn’t (or should) do?
Of course, people in every profession lie to themselves now and again. Some jobs, though, like ones where people work alone for long stretches, such as writers, programmers or toll booth operators (I'm guessing), seem more prone to it than others. No matter how much it occurs, every occupation has a common set of lies that its practitioners tell themselves.
Here now is a list of 10 lies that programmers often tell themselves (most of which I told myself during my years in the coding trenches), in no particular order:
This code is self-documenting - No need to write separate documentation; it’s obvious to anyone with a brain what this code is doing.
This is a [hardware | database | network] issue, not a code issue - Obviously, it’s that recent database patch that’s gumming things up, not my hand crafted SQL.
It’s not a bug; the user is doing something wrong - The code is doing what it’s supposed to be doing; users are idiots.
When I’m playing Halo 4 I’m thinking about coding, so it’s like I’m coding - First person shooters help me to think through complex programming problems.
I’m the only one who knows this code, so they can’t lay me off - They’re lucky I don’t demand a raise.
I know what the client wants - I know what the client said, but that’s not really what they want.
QA will find any bugs - No need to go overboard with testing at this point.
This fix is so simple that we can put it straight into production - I may as well just push it live and go home for the weekend.
Of course this will scale - Worst case scenario is we load balance another server.
I could rewrite this pile of spaghetti legacy code and save time in the long run - If only I wasn’t so busy right now playing Halo 4 - I mean thinking through complex programming problems.
Any of these sound familiar? What other lies do you programmers tell yourselves? Please share in the comments.