A scribbling of notes to differentiate the mature and immature developer.
| ||Mature Developer||Immature Developer|
|Languages||Analyzes the merits and the target domains of programming languages. Knows that a language is just another tool for the toolbox.||Criticizes any language other than the favorite. Common statements, "java sucks...", "ruby sucks..." Often thinks that the favorite language should be the only one used for everything.|
|Dev Environments||Learns to deal with the one at hand, and searches for better ones. If using older systems, this person's .vimrc and .emacsrc files read like a novel. Knows that new dev environments can/should be customized as well.||There can be only one This user promotes their favorite dev environment above all else. They tend to criticize everything else. Often involved in flame wars like VI vs EMACS or Eclipse vs NetBeans|
|Practices||Looks for the areas where a development prectice might be useful. Looks forward to trying out a new practice to conduct a proper evaluation.||Criticizes practices as crazy, cultish, or a waste of time. Doesn't bother to try them because the problems are obvious.|
|Bugs||Starts a binary search through the code to find the source of the problem.||Favorite quote: "I think I've found a bug in the compiler/language/runtime"|
|Builds||Knows how a build comes together. This user has spent time using tools without an IDE and can run the compiler/linker from the command line if required. Instantly knows what's wrong when a dev enviroment shows a build problem.||"My IDE must be broken"|
|Pragmatism||Is it useful?||Does it fit my world view?|