abstraction, computer programmers, computer programming, software, software design, software development
Software development can be hard to describe or compare because it depends so much on the use of abstraction. One can visualize a continuum of professions based on how much abstraction they tend to require from their workers. Software tends to be on the far end of that spectrum. Not only do programmers deal almost entirely with abstraction, but often with multiple layers of abstraction!