JOB Overview
We are seeking a highly experienced and visionary Advanced Embedded Software Architect to join our innovative team. The ideal candidate will have a proven track record of designing and architecting complex embedded software systems, with expertise in wireless communication, IoT device development, Azure IoT Hub, and multiple MCU communication. This role involves shaping the software architecture, providing technical leadership, and collaborating with cross-functional teams to deliver cutting-edge embedded solutions. The candidate should also excel in system integration, design patterns, test-driven development, reusable software component development, and have a strong command of the embedded software development toolchain.
Responsibilities
Software Architecture
Lead the design and development of the software architecture for embedded systems.
Define and communicate architectural decisions, ensuring alignment with business goals and technical requirements.
Design and develop reusable software components to streamline development processes.
Ensure modular and extensible software architecture for easy integration of components.
Utilize and optimize the embedded software development toolchain for efficient software development.
Stay updated on the latest tools and technologies to enhance the development process.
Develop and maintain system interface specifications to facilitate collaboration between software and hardware teams.
Ensure clear and comprehensive documentation of system interfaces.
Security Architecture
Develop and implement secure software architecture for embedded systems.
Conduct security assessments and guide the team in addressing potential vulnerabilities.
Technical Leadership
Provide technical leadership to a team of embedded software engineers.
Mentor team members and foster a culture of continuous learning and improvement.
Apply and advocate for software design patterns to ensure scalable and maintainable code.
Contribute to the establishment of coding standards and best practices.
Promote and implement test-driven development practices in the software development lifecycle.
Develop comprehensive test plans and work with the team to ensure high-quality software.
Wireless Communication
Design and implement robust wireless communication protocols for efficient data exchange between embedded systems.
Ensure compatibility with industry standards and optimize for reliability and performance.
Oversee wireless system commissioning, operation, and diagnostic processes.
Implement and optimize diagnostic tools for proactive monitoring and troubleshooting.
IoT Device Development
Contribute to the end-to-end development of IoT devices, ensuring seamless integration of software and hardware components.
Work closely with cross-functional teams to define and implement IoT device features.
Architect and implement solutions for seamless integration with Azure IoT Hub.
Ensure secure and efficient communication between embedded devices and the Azure cloud.
Multiple MCU Communication
Design and implement communication protocols for efficient interaction between multiple MCUs within a system.
Optimize communication pathways for minimal latency and optimal system performance.
Innovation and Research
Stay abreast of emerging technologies and industry trends.
Lead research initiatives to explore new technologies and methodologies for embedded software development.
Documentation
Create and maintain comprehensive documentation for software architecture and design decisions.
Collaborate with technical writers to produce user manuals and system documentation.
Global Collaboration
Work collaboratively with global teams to ensure consistent and efficient development processes.
Participate in virtual meetings, providing technical expertise and support.
Qualifications
Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, or a related field.
5 years of experience in embedded software development.
Proven experience in architecting complex embedded software systems.
Proficient in C and C++ programming languages.
Experience with software design patterns.
Expertise in real-time operating systems (RTOS).
Experience with wireless communication protocols.
Experience in IoT device development.
Familiarity with Azure IoT Hub.
Understanding of cybersecurity principles in embedded systems.
Good English in both speaking and writing.
Leadership and mentoring experience.