Responsibilities:
1. Engage in firmware/software development for communication systems, positioning systems, bioradar systems, and related products.
2. Engage in V-model development, which includes requirement analysis, high-level design, low-level design, implementation, unit testing, integration testing, and system testing.
Requirements (Firmware):
1. Bachelor’s degree or above, majoring in computer engineering, electronic engineering, communication, automation, applied mathematics, or other relevant fields.
2. Solid experience in C and C++ in the context of memory management and low-level driver development. Capabilities to build the toolchain with Python would be advantageous.
3. Experience with embedded operating systems such as RTOS would be appreciated. Knowledge of pre-emption, IRQ, and embedded communication protocols such as I2C, UART, and SPI is mandatory.
4. Experience with wireless communication technologies like UWB, BLE, WiFi, NFC, etc., is advantageous. Candidates with expertise in MAC and Link Layer will have an added advantage.
5. Preferred experience includes ARM Cortex-M series hosted microcontrollers. Candidates with solid experience in ESP32, Raspberry Pi, Arduino, STM32, or similar platforms will have an advantage.
6. Competency in using debugging equipment such as oscilloscopes, logic analysers, and FW debuggers is mandatory.
Requirements (Software):
1. Bachelor’s degree or above, majoring in computing, software engineering, computer science, applied mathematics, or other relevant fields.
2. Solid experience in C and C++ in the context of memory management (static, stack, heap) and GUI. Candidates with hands-on experience in creating Windows based application with IMGUI will have an advantage. Capabilities to build the toolchain with Python would be mandatory.
3. Candidates with experience in building applications that facilitate TCP/IP, UDP, etc., will have an added advantage. Knowledge and proficiency in data structures management are essential, including sorting algorithms, linked lists, stacks, queues, trees, and hash tables.
4. Knowledge or hands-on experience with multithreading concepts such as IPC, MUTEX, Time Slicing, and Pre-emption will provide a significant advantage.
5. Experience with wireless communication technologies like UWB, BLE, WiFi, NFC, etc., is advantageous. Candidates with expertise in MAC and Link Layer will have an added advantage.
6. Experience with software pipeline automation tools such as Jenkins is appreciated.