Programming is not a profession in the strictest sense. A profession requires advancing through levels of skill and ability and has a legally agreed upon structure around it. Doctors, lawyers, and electricians come to mind as a good example of a profession in the strictest sense.

Conversely there are no barriers to entry for a programming job. There are many who are self-educated via books, videos, or the internet, and those who toy with programming in a language that they feel is suitable to them. These people can include programming on their resumes. Some of the self-educated programmers are very good -- even extraordinary sometimes. This is not often the case.

This is why we do not sell programming. We believe in knowing and practicing the craft of engineering software, and that is so much more than knowing how to program. Software engineering means knowing theories, logic, and mathematics. It means that those who perform the work are highly skilled in the arts of knowing algorithms and algorithm selection, thread management, libraries, and architecture. Software engineering artisans are fully versed in analysis, problem solving, testing, building, deployment, release, and configuration. Platforms and technologies are only a concern because of the constraints, requirements, hardware, and technologies that are demanded by the customer. Surely the lists could go on but that would only serve to bore (though that may have been already achieved).

Needless to say, we seek to engineer good software. We do it because we love good software and it is the only way to provide something that is important and useful to our customers. We do love creating a "work of art" with our software. We get profound satisfaction from seeing a smile when our software does the job reliably.