What are the responsibilities and job description for the Embedded Software Engineer for Fastwater Staffing position at HIKINEX?
We are seeking a skilled Embedded Software Engineer with expertise in Rust, C/C , and Python to develop high-performance firmware and embedded systems. You will work on cutting-edge projects involving real-time systems, low-level hardware interactions, and secure embedded applications. If you are passionate about writing efficient and safe code for resource-constrained environments, we’d love to hear from you!
Responsibilities
- Develop, test, and optimize embedded software in Rust, C, and C for microcontrollers, real-time systems, and SoCs.
- Write Python scripts for automation, testing, and hardware communication.
- Work with RTOS, bare-metal firmware, and device drivers to develop robust and efficient embedded solutions.
- Collaborate with hardware engineers to design software-hardware interfaces.
- Implement low-level peripheral drivers (SPI, I2C, UART, CAN, USB, etc.) and optimize system performance.
- Ensure memory safety and performance in embedded systems using Rust’s strong safety features.
- Develop and maintain unit tests, integration tests, and debugging tools.
- Work with version control systems (Git) and CI/CD pipelines to streamline development.
Required Qualifications
- Proficiency in Rust, C, and C for embedded development.
- Experience with Python for scripting, automation, and hardware testing.
- Strong understanding of embedded system architectures, real-time constraints, and low-level hardware interactions.
- Experience with microcontrollers (ARM Cortex-M, RISC-V, AVR, etc.) and embedded development tools.
- Familiarity with RTOS (e.g., FreeRTOS, Zephyr) or bare-metal programming.
- Experience working with debugging tools (GDB, JTAG, SWD) and logic analyzers.
- Solid knowledge of memory management, concurrency, and embedded security principles.
- Proficiency with Git, CI/CD pipelines, and software development best practices.
Preferred Qualifications
- Experience with Rust-based embedded frameworks like Embassy, RTIC, or TockOS.
- Knowledge of Linux kernel development, device drivers, or Yocto/Buildroot.
- Exposure to machine learning on edge devices or low-power IoT development.
- Familiarity with functional safety standards (ISO 26262, IEC 61508) and cybersecurity in embedded systems.
- Experience with wireless protocols (BLE, Zigbee, LoRa, Wi-Fi).