Job DescriptionThe Electrical Solutions team is seeking a Senior Software Engineer to help develop a company-wide digital test procedure. Work with technical teams to develop the application end to end and help train the company on execution.
What You'll Do:- Be a key member of technical teams to design, develop, integrate, and certify digital test procedure application.
- Participate in the following activities: requirements definition, analysis and decomposition, support system level architecture definition, and design/implement software
- Create professional software applications and scripts primarily in Python and Ruby with other languages as needed.
- Communicate technical, cost, and schedule status to program management and negotiate scope and resources to meet program goals.
- Collaborate with other disciplines to ensure digital test procedure application meets the end needs of the program.
- Participate in department activities to improve methods and processes
- Work under formal software development methodologies.
- Maintain a regular and predictable work schedule.
- Establish and maintain effective working relationships within the department, the Strategic Business Units, Strategic Capabilities Units and the Company. Interact appropriately with others in order to maintain a positive and productive work environment.
- Perform other duties as necessary.
On-Site Work Environment: This position requires regular in-person engagement by working
on-site three or more days each normally scheduled week in the primary work location. Travel and local commute between company campuses and other possible non-company locations may be required.
Working Conditions: - Work is performed in an office, laboratory, production floor, or cleanroom, outdoors or remote research environment.
- May occasionally work in production work centers where use of protective equipment and gear is required.
- May access other facilities in various weather conditions.
Required Skills and Education- BS degree or higher in Engineering or a related technical field is required plus 4 or more years related experience.
- Each higher-level degree, i.e., Master's Degree or Ph.D., may substitute for two years of experience. Related technical experience may be considered in lieu of education. Degree must be from a university, college, or school which is accredited by an agency recognized by the US Secretary of Education, US Department of Education.
- Experience in full stack deployment/maintenance/operations of web/desktop apps.
- Experience in Back-end development, API design, and system architecture.
- Significant experience in front-end development and data modeling.
- Experience in CI/CD, shell scripting for regression, merge checks, tagging and release.
- Experience in SW testing unit/integration/end-to-end
- Experience working on full software lifecycle including ability to define requirements from an abstract system with minimal guidance.
- Demonstrated ability to work across engineering disciplines and cross-functional teams.
- Self-starter, good interpersonal and communication skills, ability to work independently and on a team.
- Working knowledge of software quality principles.
#LI-LB3A security clearance or access with Polygraph is not required to be eligible for this position. However, the applicant must be willing and eligible for submission, depending on program requirements, after an offer is accepted and must be able to maintain the applicable clearance/access.
Preferred Skills and Education- TS/SCI or current SSBI.
- Proficiency in web frameworks, components, and technologies desired. Examples include Ruby on Rails, Knockout, Vue, NodeJS, JavaScript, Keycloak, Redis, Traefix, and Minio.
- Experience working with OpenC3 COSMOS as a test executive and creating custom Ruby based OpenC3 components.
- Experience with a range of operating systems and scripting tools, including Linux, Windows, BASH, and PowerShell, with the ability to write simple scripts, automate tasks, and troubleshoot common issues.
- Experience with databases, both relational and NoSQL.
- Basic understanding of FPGA design and VHDL.
- Experience with the NI toolchain such as LabVIEW (including RT and FPGA) and Veristand.
- Experience using Python to integrate with hardware (COTS instrumentation, custom hardware, FPGA's, etc.) to test products under development.
- Experience configuring and interfacing to instrumentation across various protocols, including UART, GPIB, DAQmx, RIO, TCP-IP, USB, Spacewire, 1553, and other related technologies, desired.
- Experience with containerization technologies such as Docker or Podman, including developing software within containerized environments and creating/configuring containerized infrastructure.
- Hands-on experience with CI/CD pipeline development, including creating automated workflows, and integrating with version control systems.
- Experience with software security best practices. Examples include identifying/mitigating vulnerabilities through static code analysis, CVE analysis, implementing secure connections, and compliance with CMMC security principals.
This position will be posted for at least 5 calendar days. The posting will remain active until the position is filled, or a qualified pool of candidates is identified.
Multiple positions may be available on this opening.