Systems Engineer Job in Laurel, Maryland US

Systems Engineer

This job description summarizes the main duties of the job. It neither prescribes nor restricts the exact tasks that may be assigned to carry out these duties. This document should not be construed in any way to represent a contract of employment. Management reserves the right to review and revise this document at any time. POSITION SUMMARY: Under minimal direction, performs as a fully experienced Software Developer in design, development, coding, testing, and debugging new software or providing complex enhancements to existing software. Works with technical staff to understand and to develop resolution of software problems. Participates in the development of software user manuals. Assists in the training of less experienced software development staff and may act as a team leader on less complex projects. RESPONSIBILITIES: Writes code to create single-threaded or user interface event driven applications, either stand-alone or those which access servers or services. Develops code necessary to complete the assigned project(s) in the specified time frame according to departmental standards and guidelines. Writes, modifies, and debugs software for client applications. Identifies and reports problems in new and existing software. Recreates reported software problems to facilitate solutions. This includes validating the fix for the software problem. Resolves customer complaints with software and responds to suggestions for software modifications or enhancements. Assists in the preparation of internal software design documentation. Develops the critical components of the solution, including but not limited to, security, rules infrastructure, custom adapter implementation, and application interfaces. Uses source debuggers and visual development environments. Architects and codes multi-environment system solutions utilizing various programming languages. Profiles, analyzes and optimizes the software he/she is responsible for implementing. Employs best practices for design, development, unit testing and test plan development. Supports completed software throughout the Software Development Life Cycle and in production. Seeks to improve personal job related knowledge and departmental process by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities, and reading professional publications. Assists in the training of less experienced software development staff and may act as a team leader on less complex projects. EDUCATION EXPERIENCE: Four years of combined experience, possessing all of the following relevant experiences for the number of years indicated: Four years of experience in a technical program management team or as a system development team member. This experience shall be in customer programs with particular relevance in SIGINT, Communications Systems, and Information Technology. Four years of experience as a system engineer in programs that encompassed systems architecture, requirements analysis, design, production, integration, test and transition into operations. One year of experience in Java Programming, XML design and development. Two years of experience in message-oriented processing (creation, queuing, prioritization), SMTP, service-based design/implementation. Experience working with SIGINT serialized product, corresponding to current Combined SIGINT Operating Regulations (CSORs) is desired. Typically requires bachelor's degree and five to seven years of related experience. ADDITIONAL REQUIRED EXPERIENCE: Perl JavaScript HTML CSS LDAP SQL Unix/Linux Apache/Tomcat PHYSICAL DEMANDS: Normal demands associated with an office environment. Ability to work on computer for long periods, and communicate with individuals by telephone, email and face to face. Some travel may be required. CACI is an Equal Opportunity Employer M/F/D/V.