Applications Engineer

Job Locations | MY-Penang
ID
2025-3227
Position Type
Full time

Lattice Overview

There is energy here…energy you can feel crackling at any of our international locations. It’s an energy generated by enthusiasm for our work, for our teams, for our results, and for our customers. Lattice is a worldwide community of engineers, designers, and manufacturing operations specialists in partnership with world-class sales, marketing, and support teams, who are developing programmable logic solutions that are changing the industry. Our focus is on R&D, product innovation, and customer service, and to that focus, we bring total commitment and a keenly sharp competitive personality.

Energy feeds on energy. If you flourish in a fast paced, results-oriented environment, if you want to achieve individual success within a “team first” organization, and if you believe you can contribute and succeed in a demanding yet collegial atmosphere, then Lattice may well be just what you’re looking for.

Responsibilities & Skills

We are seeking a talented Software Engineer (Embedded Engineering) to join our Solutions Engineering team, specializing in embedded software development for FPGA-based solutions in industrial and automotive applications.

This role focuses on integrating FPGA solutions to meet customer and marketing requirements, establishing firmware test and automation infrastructure, and developing tools to demonstrate FPGA capabilities. The ideal candidate will design and optimize RISC-V software stacks and drivers, collaborate with hardware teams on HW/SW integration, and drive process improvements to enhance solution reliability. You will lead small project features, propose innovative solutions, and influence team practices to deliver robust, customer-aligned embedded systems for industrial networking, motor control, IO aggregation, and protocol conversion.

Key Responsibilities

  • FPGA Solution Integration: Develop and integrate RISC-V software stacks and drivers for industrial and automotive FPGA solutions, ensuring alignment with customer specifications and marketing requirements for applications like industrial Ethernet and motor control.

  • Firmware Test & Automation Infrastructure: Design and implement automated firmware test frameworks for existing FPGA solutions, focusing on functionality, performance, power efficiency, and usability.

  • Tool Development: Create software tools (e.g., in Python or C) to demonstrate FPGA solution capabilities, supporting customer evaluations and marketing demonstrations.

  • CI/CD Implementation: Enable Continuous Integration/Continuous Deployment (CI/CD) pipelines for existing solutions, including build infrastructure, hardware flashing automation, and unit testing.

  • Software Optimization: Optimize embedded software for performance, power efficiency, and compatibility with FPGA hardware, adhering to industrial and automotive standards.

  • Collaboration: Work closely with hardware engineers to ensure seamless integration of software with RTL designs, particularly for protocols like Ethernet and USB.

  • Process Improvement: Propose and refine development and testing processes to improve efficiency, reliability, and scalability of FPGA solutions.

  • Documentation: Maintain detailed documentation for software designs, test frameworks, and tools to support team collaboration and customer deliverables.

Example Tasks

  • Develop an SPI driver for an industrial Ethernet FPGA solution, integrating with EtherCAT protocols and testing for low-latency performance.

  • Set up an automated test suite for a motor control solution kit, including unit tests for PWM drivers and scripts for hardware flashing.

  • Create a Python-based tool to demonstrate IO aggregation capabilities on an FPGA platform, tailored for customer demonstrations.

  • Implement a CI/CD pipeline for a Sentry mode demo, automating firmware builds, hardware setup, and security unit tests.

Business Impact

  • Accelerate delivery of customer-aligned FPGA solutions, enhancing competitiveness in industrial and automotive markets.

  • Improve development efficiency and solution quality through automated testing and CI/CD pipelines, reducing defects and time-to-market.

  • Drive customer engagement and adoption by delivering intuitive tools and demonstrations that highlight FPGA solution capabilities.

Required Skillsets

  • Technical Expertise: Proficiency in embedded C/C++ and RISC-V software development, with experience integrating software with FPGA hardware.

  • FPGA Solution Integration: Ability to develop and adapt RISC-V software stacks and drivers to meet customer and marketing requirements for industrial/automotive applications.

  • Test & Automation: Strong experience designing automated firmware test frameworks, including unit testing, performance testing, and hardware flashing automation.

  • Tool Development: Proficiency in developing software tools (e.g., Python, C) for FPGA solution demonstrations or customer evaluations.

  • System Integration: Knowledge of HW/SW co-design, particularly with FPGA-based systems and protocols.

  • Debugging: Expertise in debugging firmware and resolving integration issues.

  • Process Improvement: Ability to propose and implement refinements to development and testing workflows.

Bonus Skills (Good to Have)

  • RTOS Bare Metal Driver Development: Experience developing bare metal drivers for Real-Time Operating Systems (RTOS) in embedded systems.

  • FPGA Development Experience: Familiarity with FPGA development, including HDL (VHDL/Verilog) or FPGA toolchains.

  • Board Bring-Up & Debugging: Hands-on experience with board bring-up and debugging using tools like oscilloscopes, logic analyzers, or JTAG.

Communication & Influence Expectations

  • Technical Communication: Present design proposals, test results, and tool demonstrations to the team and stakeholders in clear, concise reports or meetings.

  • Customer Interfacing: Engage with customers to gather requirements, demonstrate FPGA solutions, and ensure alignment with their needs during evaluations.

  • Collaboration: Work effectively with hardware engineers, marketing teams, and project managers to align software development with system-level goals.

  • Influence: Propose improvements to development, testing, and CI/CD processes, influencing the scope and practices of small projects within the team.

  • Documentation: Produce high-quality documentation to facilitate knowledge sharing, support customer deliverables, and drive internal process improvements.

Qualifications

  • Education: Bachelor’s degree in Computer Engineering, Electronics Engineering, Computer Science, or a related field; Master’s degree preferred.

  • Experience: 4–7 years of embedded software engineering experience, with at least 2 years focused on test automation, and CI/CD pipeline development.

  • Preferred: Experience with industrial/automotive applications (e.g., EtherCAT, CAN, Modbus) and familiarity with advanced protocols (e.g., Ethernet, PCIe).

  • Certifications: Embedded systems, CI/CD, or automation-related certifications are a plus.

Options

Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
Share on your newsfeed