Embedded Software Engineer - Warren, United States - New Eagle

    Default job background
    Description

    New Eagle is a trusted engineering partner and supplier for electronic systems and control software across diverse sectors like automotive, transportation, defense, industrial, aviation, military, aerospace, and off-highway. Specializing in mechatronic controls, we assist engineering developers in managing project development, supply chain, costs, and outcomes, streamlining operations using custom software and off-the-shelf hardware control solutions. Our versatile engineering teams excel in creating electronic systems for the evolving electronic vehicle propulsion and autonomy markets, guiding projects from concept to production.

    Job Description:
    We are seeking a highly skilled Embedded Software Engineer with expertise in microcontroller configuration and embedded device drivers to join our dynamic team. As an Embedded Software Engineer, you will play a crucial role in designing, developing, and maintaining firmware for embedded systems, ensuring optimal performance and functionality.

    Important Details

    • This position is based on-site in Warren, MI and will, in part, support a long-term contract with the U.S. Military.
    • Ability to pass a stringent background check and drug test is required.
    • Hybrid Role: 3-4 days per week on-site in Warren, 1 day per month in Ann Arbor, MI
    • This position may be part-time or full-time, depending on the candidate's availability and interest.
    Key Responsibilities:
    1. Microcontroller Configuration: Configure and optimize microcontroller settings for efficient operation within embedded systems.
    2. Embedded Device Driver Development: Develop and maintain device drivers for various embedded peripherals, ensuring seamless integration with the overall system architecture.
    3. Firmware Development: Design, implement, and debug embedded firmware using C programming language, adhering to best practices and coding standards.
    4. Hardware Abstraction Layer (HAL) Development: Create and maintain HAL libraries to abstract hardware functionalities, facilitating portability and reusability across different platforms. (e.g. AUTOSAR, MCAL, etc.)
    5. Low-Level Hardware Interaction: Interface directly with hardware components such as sensors, actuators, and communication interfaces (SPI, I2C, UART, etc.), optimizing performance and resource utilization.
    6. Testing and Debugging: Conduct thorough testing of embedded firmware, employing various techniques such as unit testing, integration testing, and hardware-in-the-loop (HIL) testing. Debug and resolve issues promptly to ensure robustness and reliability.
    7. Documentation: Document software designs, implementation details, and configuration procedures comprehensively, maintaining clear and concise documentation throughout the development lifecycle.
    8. Collaboration: Collaborate with cross-functional teams to ensure cohesive system development and integration.
    9. Continuous Improvement: Stay abreast of emerging technologies, tools, and techniques in embedded software development. Continuously evaluate and enhance development processes to improve efficiency and quality.
    Qualifications:
    • Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field.
    • 2+ Years of experience in embedded software development with a focus on microcontroller configuration and device driver development.
    • Proficiency in C programming language with a strong understanding of embedded systems concepts and principles.
    • Hands-on experience with microcontroller architectures such as PowerPC and Aurix TriCore
    • Familiarity with embedded development tools and environments including IDEs, debuggers, emulators, and oscilloscopes.
    • Solid understanding of low-level hardware interactions, peripheral interfaces, and communication protocols (SPI, I2C, UART, etc.).
    • Experience with RTOS concepts and implementations (e.g. ETAS RTA-OS) is a plus.
    • Excellent problem-solving skills with a keen attention to detail and a proactive mindset.
    • Strong communication and collaboration skills, with the ability to work effectively in a team-oriented environment.