Software Engineer

10 Nov 2024

Vacancy expired!

Metis is seeking a part time Software Engineer with additional skills in configuration management and database management to work on a NASA program at the Wallops Island Facility. This position has the potential to move to a full time position in 2022. Applicant must live within commuting distance from Wallops Island, VA or be willing to move. Must be a U.S. Citizen

DUTIES

Perform overall design, development, and configuration management of Near Earth Network (NEN) applications and associated equipment, to include interconnected systems that constitute front end servers, web servers, and other applications. Serves as the programmer, system analyzer, and subject matter expert. Create, modify, and test the executables, dynamic link libraries (DLL), and scripts that allow computer applications to run, and linked system to interface and exchange data. Follow software development lifecycle (SDLC) processes and work from specifications drawn up by software developers or other individuals. Develop, update, and maintain software applications to handle specific jobs such as scheduling equipment use, storing or retrieving data, controlling other equipment, or providing status of equipment to end users.

Consult with operational, engineering, and technical users of applications to clarify program intent, identify, define, and work to resolve problems, and suggest changes.

Define and update formal requirements for new and existing applications based on feedback from users and high-level mission/customer requirements. Define and adhere to a schedule for development efforts.

Collaborate with equipment manufacturers and other programmers to develop interfaces between applications. Use documentation that describe input, output, and logical operations for external systems, and convert them into a series of instructions within an application that will interface with the corresponding equipment.

Design and develop new applications, or modify existing applications to adapt to or meet customer requirements. Design and development of user interfaces that meet end user and operator needs to ensure efficient operations and presentation of information. Develop and execute test plans to ensure software meets requirements, including trial runs of software applications to produce results that meet customer expectations.

Optimize algorithms and computer code to ensure they operate efficiently and are flexible to accommodate new mission and programs. Correct any software errors with development and design changes and retest as needed. Generate documentation for new and existing software, including developer’s guides, and any commenting within application source code necessary for other programmers to understand the implementation.

Perform configuration management for hardware and software to receive approval for deployment or updating to meet requirements.

Deploy new and revised applications to operational systems, including performing testing, ensuring not to impact operational schedules. Ensure that all operational systems are running licensed, release versions of applications that comply with all federal regulations.

Ensure that all proper security measured are being followed on operational systems, and work with system administrators to ensure software applications do not violate security policies.

Write or contribute to instructions or manuals to guide end users.

Participate in and conduct peer reviews of source code and scripts for software applications with other programmers. Correct software errors by making appropriate changes and rechecking the program to ensure that the desired results are produced.

Perform systems analysis to maintain resource usage of software applications on computer systems to acceptable levels for real-time operations. Perform troubleshooting activities of hardware and software using system and application logs and debug files to determine the cause of and solution to failures as reported by operations.

Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program.

DESIRED SKILLSSoftware Developer shall have the following skills:

Bachelor’s Degree in Computer Science, Computer Engineering, or equivalent programming experience,

5+ years of work experience, experience with Microsoft Visual Studio 2010 and later, fluent in C & C programing languages, familiar with MFC, familiar with multi-threaded application development, familiar with network protocol communications, experience with installation and configuration of Windows 10 and Linux systems (RHEL, Mint, CentOS) to the level of stand-alone offline operation including meeting detailed security requirements, experience in web development, knowledge and skill for programming web technologies (HTML, CSS, XML, JavaScript, PHP, jQuery, etc.), database management, knowledge and understanding for working with PostgreSQL, and familiar with Cloud technologies.

Other skills and qualifications include: analyzing information, requirement generation, software design, software development, software debugging, software documentation, software installation, software testing, software documentation, problem solving, teamwork, independent work, multi-tasking, strong attention to detail, adaptability, and the ability to react and adjust to changes in priorities as necessary. Some travel may be required.

EOE including Vets and Disability