BMC Firmware Engineer

Apply Now

Company: Foxconn Assembly LLC

Location: Houston, TX 77084

Description:

As a BCM (Baseboard Management Controller) Engineer, you will play a pivotal role in the design, specification, and development of firmware for innovative products and solutions. You will collaborate closely with cross-functional design teams throughout the planning, development, and validation stages of the program. In this position, you will leverage your expertise to address technical challenges and ensure the delivery of high-quality, functional, and reliable products. Your problem-solving skills will be crucial in resolving any technical issues, while your ability to work in a multi-disciplinary team environment will ensure that the final product meets the highest standards of performance and usability.

Key Responsibilities:
  • Collaborative Development:
    Work as a key team player with cross-functional teams, including Electrical Engineering (EE), BIOS, Platform Architecture (PA), and Firmware (FW), during the development phase to ensure product success.
    Contribute to brainstorming, design reviews, and technical discussions to address key challenges in firmware development.
  • Firmware Design & Development:
    Design, develop, code, and debug Baseboard Management Controller (BMC) firmware, applying your knowledge of server hardware architecture, system design, and embedded systems principles.
    Ensure that the firmware is optimized for functionality, performance, and reliability.
  • Issue Resolution & System Maintenance:
    Maintain existing BMC systems by diagnosing and resolving issues reported by customers or Field Application Engineers (FAEs).
    Provide timely solutions to any firmware and hardware issues affecting product performance, both pre- and post-release.
  • Reliability and Compatibility Planning:
    Study BMC firmware specifications and configuration requirements to ensure that the firmware meets reliability and compatibility standards across different hardware platforms and environments.
    Plan and execute testing and validation strategies to identify and fix potential issues early in the development process.
  • Testing & Quality Assurance:
    Conduct test/unit tests to ensure firmware quality, stability, and functionality, utilizing automated test environments where applicable.
    Collaborate with the quality assurance team to implement comprehensive testing procedures that validate the firmware's compatibility with server hardware and software systems.
  • Customer Support & Technical Assistance:
    Provide expert-level technical support for any reported issues related to BMC and hardware/firmware integration.
    Collaborate with customer support teams to resolve critical issues and help customers troubleshoot BMC-related problems.
  • Documentation & Communication:
    Document design processes, firmware specifications, and troubleshooting steps in a clear and organized manner.
    Present technical concepts and solutions to both technical and non-technical stakeholders in a logical, concise, and effective manner.

Required Qualifications:
  • Education:
    Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field. A higher degree is a plus.
  • Technical Expertise:
    Proficient in C and C++ programming languages, with a solid understanding of embedded systems and firmware development.
    Experience with embedded Linux systems is highly preferred.
  • Hardware Knowledge:
    Familiarity with SoC (System on Chip) architecture, particularly ARM-based systems and AST2x00 controllers, is a plus.
    Strong understanding of server hardware architecture, IPMI 2.0 (Intelligent Platform Management Interface), and related protocols.
  • Tools & Frameworks:
    Experience with AMI (American Megatrends Inc.) and Avocent SDK (Software Development Kit) is advantageous.
    Familiarity with IPMI, BMC interfaces, and server management tools is highly desirable.
  • Problem-Solving Skills:
    Excellent troubleshooting and analytical skills to quickly identify and resolve complex technical problems, both during development and after deployment.
    Ability to prioritize and manage multiple tasks effectively.
  • Communication Skills:
    Strong verbal and written communication skills, with the ability to present technical concepts clearly and concisely to both internal teams and customers.
    Able to write comprehensive technical documentation and reports.

Similar Jobs