8 Bad Habits You Can Blame on Programming

Counting from zero instead of one is just one of the many real-life bad habits you can get from being a developer; here are the most common ones.

Bad habits

Working as a software developer can lead to many good skills, like being able to think logically and solve problems. But it can also lead to any number of bad habits which can extend into your everyday life. Based on developer input and votes shared on two discussion forums in recent years, one on Stack Exchange and one on Quora, we’ve compiled a list of the 8 most common real life bad habits that you can blame on programming. Of course, some of these habits may be also be shared by similar occupations (mathematicians, non-software engineers) but that doesn’t make them any less annoying.

64
7. Considering powers of 2 round numbers

Cause: The basic unit of information in a computer is a bit, which can be one of two values (0 or 1). Programmers work with bits a lot and counting them involves powers of 2.

Resulting bad habit: Round numbers to programmers don’t end in 0 but are powers of 2. While your spouse may throw you a surprise party when you turn 30 s/he may be confused when you return the favor by making a big deal when s/he turns 32, 64 or (in theory) 128.

Quotes: "Everything has to be in powers of 2." Joe

"Imagine you have 1,000 bucks; or better a round number — imagine you have 1,024 bucks." Rahul Agrawal

Feelings are Facts
6. Expecting people to behave like computers

Cause: Software developers expect that computers will follow their instructions exactly. If a computer seems to make a mistake, it’s because the instructions were wrong.

Resulting bad habit: Programmers can forget that humans don’t always follow instructions exactly (or at all), that they don’t always act (or think) logically and that they have things called “feelings.”

Quotes: "When programming, the machine (usually) does your bidding and executes whatever instructions you give to it. This doesn’t work as well with people…." Matt Drozdzynski

"Having to explain what a logical fallacy is, first, everytime someone says something completely wrong gets frustrating fast." SnOrfus

"The mental separation between logic and feeling is profound." Kevin Beckford

Candy sorted by color
5. Being too literal, a perfectionist or obsessive/compulsive

Cause: Computers follow the instructions in programs exactly; they do not understand subtlety or ambiguity. Even the smallest mistake in writing code can lead to catastrophic failures during program execution.

Resulting bad habit: Programmers can take things in the real world too literally and obsess over the smallest detail, driving the non-techies around them insane.

Quotes: "My wife yells at me sometimes for being too literal." jmquigley

"Requesting clear spec for favors and errands. 'Wait what do you mean by 'some eggs'? What is the lower and upper bound?'" Tzuwei Chen

"I think programming can result in perfectionism....  Perfectionism could perhaps cause serious problems such as low productivity and perhaps even OCD." Anonymous

Automat
4. Trying to optimize and automate everything

Cause: Software developers are constantly trying to make their code - and code writing - faster and more efficient. They do this by multithreading taskscode reuse and automating things whenever possible.

Resulting bad habit: Trying to automate or parallelize tasks in the real world may take more effort than it saves. Being overly efficient can also be perceived as laziness - or worse (e.g., only taking out the trash once a week).

Quotes: "Anything that seems trivial/mundane and doesn't yield to automation and parallel-processing leads to frustration!" Arjun Krishnan

"It's like I'm premature optimizing things where I don't even need to."systempuntoout

"... don't solve a problem until you absolutely, positively have to." Ken

Candy vending machine
3. Leading an unhealthy lifestyle

Cause: Programming often requires long hours of sitting and staring at a computer, sometimes for very long stretches of time and sometimes at all hours of the day and night.

Resulting bad habit: It’s easy to get into bad eating and sleeping habits, as well as not exercising enough, going outside enough or talking to other actual humans face-to-face enough.

Quotes"Eating lunch at 3pm and going to bed at 3am." Philip Chu

"Sitting down too much" Bill Shelton

"I have a nail-biting habit that I've tried to kick.Scott Danzig

"Lack of exercise -> Eating too much -> unhealthy life style." Jon Sagara

 

Robert Parish's number retired by Boston Celtics
Credit: REUTERS
2. Starting to count from zero

Cause: One of the key concepts in most programming languages are arrays, which are lists of values or variables. For reasons (mainly) of computational efficiency, array elements are indexed starting with zero rather than one.

Resulting bad habit: Developers pretty quickly get used to zero-based counting for everything, which can be confusing to non-programmers. So, if a coder friend of yours hopes you come in zeroth in your next 5k race, that’s a good thing.

Quote: "Sometimes I count things starting from zero: 'How many beers are left?' 'Zero, one, two, three... We have four left!'" Davide Gualano

Keyboard shortcuts
1. Trying to use keyboard shortcuts in real world situations

Cause: Developers spend lots of time using their keyboards so, naturally, they tend to use lots of keyboard shortcuts. Some are well-known to non-programmers, like Ctrl-C for copying, and others are specific to text editors (":wq" to save and quit in vi), IDEs or other programming tools and applications.

Resulting bad habit: These shortcuts can become so second nature that programmers can find themselves reaching for them in in real-world which can be awkward.

Quotes: "Mentally trying to Ctrl-Z on things I just said." Fishtoaster

"I've actually pressed /pattern when reading a book in front of the computer." Chinmay Kanchi

"In life there is no undo." JBRWilkinson

I use semicolons
0. Using programming conventions and syntax in normal language

Cause: Programing languages have their own specific syntax to which developers must adhere. In addition, there are often coding conventions specific to a language, application or company that programmers will choose to follow, such as indentation type, commenting styles and using camel case.

Resulting bad habit: Conventions used when writing programs can easily spill into everyday writing or speaking. If you someone sends you an email with every line ending in a semicolon, s/he may very well be a developer.

Quotes"Writing emails with function calls." Shubhojit Chattopadhyay

 "iWriteInCamelCaseEveryNowAndThenItAnnoysMySister
WhoReadsMyEmail" 
Anonymous

"// before notes in regular documents." Lucas Azzola

"IF you have tea I'll have it ELSE I'll just take water" Vijay Kamath