L

Lattice Semiconductor

Low-power FPGAs and design software

Member of Technical Staff 1 - Linux C++ Development

Embedded 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.
  • Strong programming skills in C++ and a solid understanding of object-oriented programming are required.
  • Experience in embedded systems development is required.
  • Strong knowledge of Linux internals, including system calls, inter-process communication, 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 embedded firmware components using C++ and object-oriented programming principles.
  • Develop Linux applications using system calls, inter-process communication, socket programming, and POSIX multithreading.
  • Implement and integrate system services using systemd and D-Bus.
  • Build and maintain embedded Linux software using Yocto/BitBake and Makefiles.
  • Debug software and system issues using tools such as GDB and platform logs.
  • Contribute to BMC software integration, system startup, and platform bring-up activities.
  • Work with low-level hardware interfaces and platform components as required.
  • Collaborate with development, validation, and hardware teams to diagnose and resolve technical issues.
  • Use Git for version control and Jira for issue tracking and engineering workflow.
  • Document software design, implementation details, troubleshooting findings, and technical solutions.

Desired Qualifications

  • Advanced C programming skills and experience with Python or Bash scripting are preferred.
  • Knowledge of OpenBMC development and architecture 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