8+ years of experience as a Software Engineer.
Experience in all phases of software development.
Experience in C/C++, Python, Golang and Java.
Experience with ASPICE, V-Model, Agile.
Experience in Microcontrollers, Bluetooth Low Energy, and Communication Protocols (UART, SPI, QSPI, I2C, USB...).
Experience in ARM Cortex based and FPGA.
Experience in using Electronics tools and equipment.
Good analyzing and problem-solving skills.
Good strategic planning skills.
Good critical thinking skills.
Languages: English, Vietnamese.
Project list
Develop Car Access Passive Entry (CAPE) ECU
The project aims to develop an integrated ECU for a Keyless Vehicle Access system that allows users to open doors and start their vehicles without using a physical key. The system will use RFID or Bluetooth technology to identify and connect to the user's mobile device.
- Develop firmware, integrate software modules and perform unit test.
- Bootloader integration.
- Perform software integration and maintenance (Basic software, authentication, CAN manager).
- Create Software Requirements from System Requirements.
- Requirement/Design/Code review.
- Write Detail Design documents, test cases and test reports
Technologies: C, C++, JUnit, Java, Python, Git
Firmware
- Design and implement firmware/software based on customers' requirements.
- Review hardware design and perform hardware/software testing.
- Consult customers on technical solutions.
- Incident manage, risk manage and report.
Technologies: C, C++, Python, Java
IoT team foundation
- Develop advanced training materials about Bluetooth Low Energy and Bluetooth Mesh.
- Evaluate the Nordic nRF5 SDK and Nordic nRF52 SDK for Mesh.
- Develop testing software for Ethernet and WiFi.
Technologies: C, C++, AWS
Excelpoint Systems
- Customer success: provide product training and technical support for the customers from L1 to L3.
- Develop drivers for peripherals: LTE, Bluetooth, GNSS, Sensors, Crypto, Display pipeline...
- Design hardware on FPGA using Verilog.
- Integrate Linux drivers for custom boards using NXP iMX.x, Xilinx ZYNQ or MCU.
- Developing testing scripts for peripherals: USB, Ethernet and Memories (SDRAM, Flash).
- Design hardware (schematic and PCB layout) for testing tools or reference purposes.
- Perform hardware and software tests.
- Follow project scheduling, tracking, issue management, risk management.
Incident manage and report.
The Body Worn Camera development project has applied many important technologies and techniques in embedded software development, from driver development to testing and system performance optimization.
- Develop software and kernel drivers for Body Worn Camera.
- Manage BSP repositories: develop, maintain, verify.
- Verifity hardware and software components.
- Handle power consumption: measure power consumption and optimize from firmware/software side.
- Develop automatic hardware testing systems: hardware design, firmware/software development, CI/CD integration.