The position involves designing, developing, troubleshooting, and analyzing software programs for computer-based systems. The role requires advising hardware engineers on machine characteristics that affect software systems, providing inputs for documentation, and utilizing object-oriented techniques and programming languages. Responsibilities include deployment, installation, maintenance, quality control monitoring, and implementation of software at specified locations. The candidate will maintain processes to log and track customer service requests and develop software products for various platforms. The position also involves using Configuration Management tools, coding in XML/W3C XML Schema to C++ Compiler, and applying middleware technologies. The candidate will design, develop, and document system and subsystem-level code, support system requirements, and conduct testing and regression tests. The role requires proficiency in Linux/UNIX, development experience in C++, JAVA, XML/XSD, and scripting languages, as well as experience in JAVA GUI development and web frameworks. The candidate will conduct investigations, evaluate vendor capabilities, and provide technical consultation to other organizations.