Each developer is unique, with individual strengths and weaknesses, preferences and dislikes. Here are some characteristics that a pragmatic programmer will follow.
Early adopter/ fast adopter You are always open to learning new things and love to try things out. You can grasp it quickly and integrate it with the rest of your knowledge
Inquisitive You tend to ask questions. That’s neat—how did you do that? Did you have problems with that library? What’s this BeOS I’ve heard about? How are symbolic links implemented?
Critical thinker You rarely take things as given without first getting the facts. When colleagues say “because that’s the way it’s done,” or a vendor promises the solution to all your problems, you smell a challenge.
Realistic You try to understand the underlying nature of each problem you face. This realism gives you a good feel for how difficult things are, and how long things will take. Understanding for yourself that a process should be difficult or will take a while to complete gives you the stamina to keep at it
Jack of all trades You try hard to be familiar with a broad range of technologies and environments, and you work to keep abreast of new developments. Although your current job may require you to be a specialist, you will always be able to move on to new areas and new challenges.