I feel that there are very large differences between particular types of roles in the Information Technology world. It’s often times confused and misrepresented, so I’d like to clear this particular comparison up a little bit.
There are many people in IT that perform what is called Application Support and many who are considered Software Engineers. Application Analysts / Programmers typically fall into the act of supporting already built applications, customizing, and adding to them. There is typically a lot of configuration, installation, and many times custom software development that is required for that application. Many times, the custom software development work gets to be so much, that the application can no longer support patches and system upgrades (this is bad). Software Engineers are developers who create applications full cycle. The creation and setup of the hardware, to the selection of technologies, to actually building out the architecture and infrastructure of the computational code.
These two roles tend to think quite differently. Software Engineers are not afraid to dive into encrypted databases and open up serialized file system objects. They understand the basic premises for applications, such that applications are just applications. And all applications out there follow the same basic principals of operation. Many times, Application Support, Analysts, and Programmers fall in-line with what their support crew say what can and can not be done. I’m here to tell you that you are not limited to just what they tell you what can be done.
I challenge people to be more creative and to think of more inventive ways to support your applications, make more custom applications, and grow the company that you are in.
I consider Application Programmers those who build out in Sharepoint, Drupal, Dynamics, and other like LMS, CMS, and CRM systems. If it’s an application built by a group of developers that you are using to integrate into your systems, I consider that role as an Application Analyst / Programmer in the developer perspective. Full end Software Engineers tend to develop using much more highly complex frameworks such as Rails, Swing, .NET, and dare I say it, Zend, CodeIgniter, and CakePHP.