Job Description:
You will be part of the team for designing & building the scalable firmware for our robot.
You will participate in translating the functional requirements into technical design and turn the design into reality.
Responsibilities:
System Architecture and Design:Designing software architecture for embedded systems, considering hardware constraints, real-time system requirements, and system specifications.Programming:Writing code for embedded systems using programming languages such as C, Python & Bash scripting.
Developing software that interfaces with hardware components.Debugging and Testing:Identifying and fixing software bugs, as well as conducting thorough testing to ensure the reliability and performance of embedded systems.Integration:Integrating software with hardware components and third-party software.
Collaborating with hardware engineers to ensure seamless interaction between software and hardware.Optimization:Optimizing code for performance, memory usage, and power consumption.
Implementing efficient algorithms and techniques to meet system requirements.Documentation:Creating and maintaining comprehensive documentation for software design, code, and testing procedures.
Ensuring that documentation is clear and accessible to other team members.Collaboration:Collaborating with cross-functional teams, including hardware engineers, firmware engineers, and product managers, to achieve overall project goals.Maintenance and Upgrades:Providing ongoing support and maintenance for embedded software.
Implementing software upgrades and patches as needed.Requirements:
Proficiency in utilizing debugging tools for troubleshooting and optimization purposes.
Demonstrated mastery of Microcontroller (MCU) and Microprocessor (MPU) architectures, showcasing the ability to analyze, optimize, and implement effective software solutions tailored to hardware specifications.Proven track record of successfully implementing Real-Time Operating Systems (RTOS) concepts and adeptness in employing advanced thread synchronization techniques to ensure deterministic behavior and system reliability.Proficiency in configuring and utilizing communication peripherals including Serial Peripheral Interface (SPI), Controller Area Network (CAN), Universal Asynchronous Receiver-Transmitter (UART), and Inter-Integrated Circuit (I2C), demonstrating the capability to establish robust data exchange mechanisms in embedded systems.Advanced understanding of thread synchronization principles, enabling the creation of efficient and scalable software architectures in embedded environments.Expertise in the C programming language and comprehensive code management practices, ensuring the development of high-quality, maintainable codebases for embedded systems.Proficiency in Git version control for collaborative software development, encompassing adeptness in branching strategies, code reviews, and continuous integration practices to uphold code integrity and project traceability.Experience with Software Development Kits (SDKs) manipulation and customization, exemplified by proficiency in platforms such as Zephyr and FreeRTOS, facilitating tailored software solutions aligned with project requirements.Exceptional communication skills, enabling effective collaboration and exchange of ideas with multidisciplinary team members, including hardware engineers, firmware engineers, and product managers.Demonstrated capability in conducting thorough code reviews, fostering a culture of quality assurance and continuous improvement within the development team.Bonus:
Knowledge of electrical and electronics, including schematic circuits and PCB design.Experience in motion control systems and configuring sensor devices.Strong background in physics and mathematics.Proficiency in additional programming languages such as C++, Python, Bash.Experience with wireless communication protocols, e.g.
Zigbee/WiFi/cellular.Summary of role requirements:
Looking for candidates available to work:
Monday: Morning, Afternoon
Tuesday: Morning, Afternoon
Wednesday: Morning, Afternoon
Thursday: Morning, Afternoon
Friday: Morning, Afternoon
2-3 years of relevant work experience required for this role.
Working rights required for this role.
Expected start date for role: 03 February 2025.
Expected salary: RM5,000 - RM7,000 per month.#J-18808-Ljbffr