"6 types of computer guys" joke
The Software scientist.
This is a man who takes a mathematical algorithm, performs a series of transformations on it and ends up with a program in lambda-calculus. This program is correct, meaning it will do what it is supposed to. Now all he needs is a lambda-calculus interpreter, a stable operating system, a computer with a proven architecture and an uninterruptable power supply.
The Software engineer.
This is a man who thinks that if he divides the task up into small enough pieces, it will disappear and he can go back to reading news.
The Programmer.
The programmer will listen to your requirements, sit down and actually write you a program. Unfortunately, it doesn't do what you want it to, but what the programmer thinks you ought to want it to do. After you reject the program, he still doesn't give up, trying to improve some algorithm he used in it.
The Hacker.
The hacker will listen while you tell him what you want, say "that's easy", and type an amazingly long command line with about 30 pipes in it. Then he gets back to the "real" work.
The Hardware Buff.
This is the guy who tries to implement an awk interpreter in discrete logic. Problem is nobody thought of building a chip that knows what a backslash is.
The System Administrator.
While idly looking round to see what's going on, discovers a process with a suspicious-sounding name and kills it. The list of suspicious-sounding processes he has on the desk will eventually roll to the letter 'B', where 'bash', the login shell, is on top.
Not enough votes...