We have an outstanding career opportunity for an Advanced Staff Engineer - Embedded to join a leading Company located in the Grand Rapids, MI surrounding area.
**US Citizenship is required.** **Candidate must possess an Active Top Secret/SCI Security Clearance.**
As an Advanced Staff Engineer - Embedded you will play a vital role working with our customers designing, developing, and testing Embedded Software (Firmware), platforms and systems for our mission-critical technologies and products. You will work with a team of passionate and skilled engineers who share your vision of creating innovative and reliable embedded systems. To succeed in this position, you will need a background in embedded systems, a keen eye for detail, and a deep understanding of real-time systems and their constraints. You will also need to demonstrate your ability to take full ownership of your role and deliver high-quality software solutions.
Job 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.
Basic Hiring CriteriaBachelor'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
Desired 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.