L

Lattice Semiconductor

Low-power FPGAs and design software

Member Technical Staff 2 - OpenBMC Development

Systems Software EngineeringUpdated on Nov 12
Full-timeChennai, Tamil Nadu, IndiaNo salary listedIn-person

About the Job

Requirements

  • A Bachelor of Engineering in ECE, CSE, EEE, or IT, or a Master of Computer Applications is required.
  • Hands-on experience with OpenBMC development and architecture is required.
  • Strong modern C++ programming and object-oriented design skills are required.
  • Experience in embedded systems development is required.
  • Strong knowledge of Linux internals, including system calls, inter-process communication (IPC), socket programming, and POSIX multithreading, is required.
  • Hands-on experience with systemd and D-Bus is required.
  • Experience with Linux build frameworks, particularly Yocto/BitBake and Makefiles, is required.
  • Strong analytical, debugging, and problem-solving skills are required.
  • The ability to work independently and collaborate effectively with cross-functional teams is required.

Responsibilities

  • Design, develop, and maintain OpenBMC services using modern C++ and object-oriented programming principles.
  • Contribute to OpenBMC architecture, integration, and platform customization.
  • Develop Linux applications using system calls, IPC, socket programming, and POSIX multithreading.
  • Implement and integrate services using systemd and D-Bus.
  • Build and maintain embedded Linux software using Yocto/BitBake and Makefiles.
  • Support embedded Linux startup, bootloader, device tree, driver, and board support package (BSP) bring-up activities.
  • Integrate and debug BMC hardware interfaces and platform-management protocols.
  • Collaborate with hardware, validation, and platform teams to diagnose system-level issues.
  • Use GDB and platform logs for debugging, Git for version control, and Jira for issue tracking.
  • Document software designs, interfaces, debugging findings, and technical solutions.

Desired Qualifications

  • Advanced C programming and Python or Bash scripting experience is preferred.
  • Experience with embedded Linux startup, bootloaders such as U-Boot, device tree, drivers, and BSP bring-up on BMC SoCs is preferred.
  • Knowledge of I2C/SMBus, USB, PCIe, GPIO, SPI, UART, eSPI, and JTAG interfaces is preferred.
  • Familiarity with IPMI, D-Bus, DMTF standards such as Redfish, PLDM, MCTP, and SPDM, and Open Compute Project specifications is preferred.
  • Experience with ARM-based BMC SoCs such as ASPEED AST2600 or Nuvoton Arbel, and x86/ARM server architectures, is preferred.
  • Hands-on experience with GDB, Git, and Jira is preferred.

About the Company

Lattice Semiconductor

Low-power FPGAs and design software

Lattice Semiconductor focuses on low-power FPGAs and the software tools that go with them. It provides hardware and software solutions to businesses in industrial, automotive, communications, and consumer electronics markets, selling FPGA devices, software licenses, and support services through a B2B model. Its products, such as MachXO, Lattice Avant, and Lattice Nexus, are programmable logic devices paired with a user-friendly toolchain that enables designers to implement and optimize digital circuits with minimal power consumption. The company differentiates itself by emphasizing low power operation, ease of use, and a complete ecosystem (training and support) designed to accelerate product development and time-to-market. Its goal is to help customers bring reliable, energy-efficient electronic systems to market quickly by providing integrated hardware, software, and services.

Company size
1,001-5,000
Company stage
IPO
Headquarters
Hillsboro, OR
Founded
1983

Recently Posted Jobs

Explore more opportunities at Lattice Semiconductor

See more jobs