The term “real programmer” is often used in the coding community to describe a particular kind of extremely proficient programmer. These people are generally old-school programmers with extensive knowledge of difficult programming techniques from the dawn of computing. Over time, programming has evolved so that many coders often work using comparatively simple methods, and there is sometimes much less necessary understanding of the underlying mechanisms behind the way a program works. When people talk about someone being a real programmer, it is often considered a compliment to their skills, and the term elevates them above other programmers with less proficiency. To some extent, the term also implies an insult to other programmers who only know how to do things the easy way.
Many coders no longer learn some of the old-fashioned coding languages that are designed to control the hardware directly, but there was a time when all programming required this kind of knowledge. The people who learned to write computer programs during this time developed a very in-depth skill set. As programming grew more simple over the years, the programmers who learned in the old-school environment were often actually more proficient than the newer programmers who only learned the latest methods. Eventually, these people came to be called real programmers, in contrast to the newer programmers who only understood the simpler approach.
Over the years, programming languages have been developed that allow much of the actual programming to be handled behind the scenes automatically. For example, the programmer may use a visual interface to drop in important elements, or rely on basic templates that set up common functions without having to do much custom coding. This is the kind of programming that a so-called real programmer would generally avoid. A real programmer would normally want to write all the underlying machine code himself for the most efficient results possible.
In some cases, programs created by real programmers can be very difficult for other coders to understand. For example, they may not add comments to their programs explaining what they’re doing, and they may write code that is so complex that newer-style programmers find it totally indecipherable. This can sometimes make it difficult to replace a real programmer when he or she retires. Finding people with the skill level of real programmers has generally become more difficult, but there is a movement in the programming community to preserve as much of that knowledge as possible.