WEB/Talk

Signs that you shouldn't be a programmer

시야 2014. 10. 25. 06:58

Signs that you shouldn't be a programmer


The following may not have any remedies if you still suffer from them after taking a programming course in school, so you will stand a better chance of advancing your career by choosing another profession.


1. Inability to determine the order of program execution


Symptoms


a = 5

b = 10

a = b


print a

You look at the code above and aren't sure what number gets printed out at the end

Alternative careers


Electrician

Plumber

Architect

Civil engineer

Artist

2. Insufficient ability to think abstractly


Symptoms


Difficulty comprehending the difference between objects and classes

Difficulty implementing design patterns for your program

Difficulty writing functions with low cohesion

Incompetence with Regular Expressions

Lisp is opaque to you

Cannot fathom the Church-Turing Thesis

Alternative careers


Contract negotiator

Method actor

3. Collyer Brothers syndrome


Symptoms


Unwilling to throw away anything, including garbage

Unwilling to delete anything, be it code or comments

The urge to build booby-traps for defense against trespassers

Unwilling to communicate with other people

Poor organization skills

Alternative careers


Antique dealer

Bag lady

4. Dysfunctional sense of causality


Symptoms


You seriously consider malice to be a reason why the compiler rejects your program

When called on to fix a bug in a deployed program, you try prayer

You take hidden variables for granted and don't think twice about blaming them for a program's misbehavior

You think the presence of code in a program will affect its runtime behavior, even if it is never invoked *

Your debugging repertoire includes rituals like shining your lucky golf ball, twisting your wedding ring, and tapping the nodding-dog toy on your monitor. And when the debugging doesn't work, you think it might be because you missed one or didn't do them in the right order

* - Memory constraints, shifted offsets, and compiler peculiarities notwithstanding. See discussion on Reddit. Judge accordingly.

Alternative careers


Playing the slot machines in Vegas

Contrapositives

What Makes a Good Programmer by Cam Riely

5. Indifference to outcomes


Programming could still be a hobby for you, but it would be in society's best interests to defend itself against your entry into the world of professional software development.


Symptoms


You aren't interested in fixing a bug that can be worked around by rebooting the computer

Your installation program silently deploys unsolicited third party programs that are unrelated to the function of yours *

You don't use any ergonomic model when designing user interfaces, nor do you have any interest in usability studies

Your program exhibits pretension and grandeur beyond its utility, eg: displaying splash screens over active programs while loading in the background, or placing multiple launch icons in premium desktop locations *

Your program produces output to be read by another (eg: a browser), or implements a network protocol, and relies on the other party's software to be significantly tolerant to spec violations

You write busy-wait loops even when the platform offers event-driven programming

You don't use managed languages and can't be bothered to do bounds checking or input validation

Your user interfaces do not make the difficulty of accidentally invoking a function proportionate to its destructiveness (eg: the "Delete Database" button is next to "Save", just as big, has no confirmation step and no undo)

You don't use whitespace, indentation or comments

* - These are actually imposed by management more often than by the programmer, who only implements them. We'd still group them together for the sake of this self-test, though, and at the most suggest that one seek employment at a better firm, while the other goes back to business school to learn less destructive ways of making a profit.


Alternative careers


Debt collection

Telemarketing