Posted in

Senior Software Applications Engineer – Embedded Software Development

Senior Software Applications Engineer – Embedded Software Development

CompanyGE Aerospace
LocationGrand Rapids, MI, USA
Salary$Not Provided – $Not Provided
TypeFull-Time
DegreesBachelor’s, Master’s
Experience LevelSenior

Requirements

  • Bachelor’s degree in Software Engineering or related STEM field.
  • 8+ years of embedded software engineering experience or MS +5 years experience.
  • Proficiency in C, C++, or equivalent languages.
  • US Citizen & DoD Secret Clearance: This role requires use of technical data subject to U.S. Government contract restrictions and this posting is only for U.S. Citizens. GE will require proof of status prior to employment.
  • Ability to obtain or currently holds a security clearance.

Responsibilities

  • Design and/or program/develop a small module or a large component, feature, set of features, whole feature area or entire embedded software product.
  • Defines and formalizes system, hardware, software, and human integration requirements.
  • Define and execute engineering test, validation, and verification activities.
  • Follow established software development methodologies and principles and document your tasks and designs.
  • Validate and verify software designs in a diversity of system integration environments – from local desktop computer simulations to fully representative flight tests.
  • Implement protocols and algorithms for resource-constrained environments and collaborate with the hardware team to enable communication between modules and applications.
  • Ensure software robustness, resilience, and fail-safe operation for critical devices, and mitigate potential safety and security vulnerabilities.
  • Create detailed design and technical documentation, optimize existing applications, and implement new features.
  • Participate in task prioritization, execution, requirements, specifications, code and design reviews, and mentorship across the software development life cycle.
  • Apply best practices for software engineering and understand the key business drivers and product roadmap.
  • Deliver your work to support project scope, cost, and schedule targets, and interface effectively with all levels of the organization and customers.
  • Propose novel solutions to technical challenges, generate cost and time estimates for future bids and programs, and utilize hardware/software to demonstrate capability against customer expectations.

Preferred Qualifications

  • Master’s degree in engineering or computer science with extensive experience in C/C++ for embedded software design, development, and testing.
  • Knowledge of scripting languages (Python, Perl, Tcl, etc.) and code management tools (Git, CVS, SVN, Perforce, etc.)
  • Proficiency in Ada language experience.
  • Experience with RTOS (Linux, FreeRTOS, QNX, VxWorks, etc.) and device drivers for complex systems using parallel processing, multi-threading, distributed processing, multi-core, SoM, signal processing, board support package (BSP), device drivers development, and / or application program interface (API) design.
  • Experience in integrating custom logic blocks into FPGA designs, including interfacing with various peripherals and communication protocols.
  • Knowledge of digital design principles and techniques for implementing custom logic functions.
  • Ability to work closely with hardware engineers to define and implement custom logic requirements.
  • Experience with embedded software testing, debugging, and integration on hardware using debuggers (gdb, lldb, etc.), test equipment (scopes, analyzers, multi-meters, etc.), and UARTs, JTAGs and oscilloscopes.
  • Experience working in mission-critical industries (aerospace, automotive, defense, first responder, medical devices, etc.) and turning CONOPS, Specifications or Requirements into software design, code, test plans and execution.
  • Innovative, critical thinking and troubleshooting skills and proficiency with IDEs, version control tools, defect tracking tools and scripting tools.
  • Experience with bare metal software design and optimization for cycles and memory and fundamental facility with compilers, build and source code control tools.
  • Experience with model-based engineering on Cameo.
  • Outstanding written and verbal communication skills.