Look Up Another Term

Definition: programmer


(1) See PROM programmer.

(2) A person who designs the logic for and writes the lines of codes of a computer program. Programming is the heart and soul of developing computer applications, and programmers are the most misunderstood people in the business. They are constantly being criticized for taking longer to write a program than they initially estimated.

Why Such Bad Estimators?
It is very difficult for people who have not spent any time programming to understand why programmers are often the world's worst estimators. Programming is very creative, and after a program is put into production, programmers derive a sense of completion that is very satisfying. Thus, the more programs programmers write, the more confidence they have. As a result, they take on what seems like an eternal optimism that the job can be done easily. As their confidence builds with experience, it often seems their estimates are even more absurd. It takes numerous hard knocks to wise up and then double, triple or even quadruple one's initial estimate in order to put reality into it.

Easy to Create a Hodgepodge
It is also very difficult for non-programmers to understand how easy it is to program oneself into a real predicament. Programmers love to code and are often in too much of a hurry to dive in rather than take the time to analyze their logic carefully on paper. There are dozens of logic solutions for every problem, and it is easy to pick one that seems to solve the hurdle for the moment, only to find out months later that the logic is inflexible for making future changes.

Even experienced programmers fall into the trap, which compounds over and over as more patches are made until the program becomes unwieldy and nobody can bring it back into stability. This is why projects take longer and why your favorite program too often becomes quirkier in its next version.

Novices or Masters?
It would seem that programming is a profession for bright, young whiz kids, and, in fact, there are tons of them creating and maintaining some of the most widely used software in the world. Any left-brained, intelligent person, for that matter, can program with just a little bit of practice. But, it takes years to become an expert at anything.

Masters in all professions have earned their stripes by making their mistakes over the course of 20, 30 and even 40 years. When you consider the average age of programmers in most software companies, it is understandable why software does not always work well. Too many novices create specifications that more novices have to implement. In addition, programming can be such tedious work that those who would eventually become the experts burn out and take other jobs. There is a constant influx of inexperienced souls to this field. See developer, Freedman's law, programming language, application programmer, systems programmer, job descriptions, 10x coder and salary survey. See also to the recruiter.