Job Title:
Embedded Software Engineer

Company: Prodigy Resources

Location: Indianapolis, IN

Created: 2024-04-24

Job Type: Full Time

Job Description:

Senior Embedded Software EngineerHave you got what it takes to succeed The following information should be read carefully by all candidates.Location: Indianapolis, IN 46240Responsibilities:Support full life cycle development and coding of embedded software.Design and development of new software products throughout the product lifecycle. Use your skills and expertise to define, design, develop, test, certify and improve cutting-edge software productsDevelopment of software plans, processes, & guidelinesPerform or support software requirements decomposition, analysis, definition, and traceabilityPerform software design and development, performance, risk, safety, operation, and cost optimization trade studies, and lead / conduct design reviewsPerform coding, debugging, testing, and troubleshooting of systems and software throughout our development process.Develop and execute comprehensive tests at the Unit, Integrated, and Functional Test levels to ensure compliance with requirements and adherence to design.Integrate various flight software units, components, and data products to ensure a robust software system.Develop software documentation including but not limited to Software Requirements Specification, Software Design Descriptions, Software UML Models, Software User Guides, Software Test Plans, and Software Test Descriptions.Support Hardware-Software Integration Teams, Simulation Teams, and Flight Controllers through Joint Tests with military customers, Qualification of the Software, training of Flight Controllers, and potential support during missions.Requirements:Strong skillset and industry knowledge to develop solutions, with a minimum equivalent of 5 years experience.Demonstrated knowledge, capability, and understanding of how to apply technical principles within the field of expertise. Receives some technical direction or supports project development and implementation, with minimal direction.Bachelor of Science degree in Computer Science, Software Engineering, or other related disciplineMinimum of 5 years of embedded software development experience with one or more of the following: C/C++, model-based development tools (ie Matlab/Simulink and/or SCADE), Python, and JavaFull life cycle development experience that follows regulatory-driven processes and methods, preferably DO-178B/C, Mil Standards or equivalent regulatory standards.Ability to deal with ambiguity, adaptability to new assignments, collaboration across multi-discipline teams, and drive results through coaching, mentoring, and leading by example.Knowledge of software development methodologies such as Agile/Scrum, Waterfall, and SpiralAbility to work in a hybrid work environment and lead small teams, including virtual teamsSelf-motivated and highly organized contributor willing to help others be successful - as a key team member you will earn responsibility, accountability to the team, and enjoy job satisfaction.Highly interpersonal skills and the ability to be inquisitive and highly communicative are critical to your success in this role to enable team engagement, and team representation to customers and stakeholders (verbal and non-verbal forms of communication).Desired (Not Required):Prior experience with Ada or similar object-oriented high-level programmingPrior experience developing controls algorithms/logicExperience using SysML/UML to create Software Designs.Experience Testing and debugging on both Software in the Loop (SITL) and Hardware in the Loop (HITL, on target platform) environments.Familiarity with model-based development and/or systems engineering methods and tools (CAMEO or similar)Experience with Configuration Management platforms (GIT, SVN)Understanding of ARINC 653, Continuous Integration, and Automated Test.Ability to travel periodically