Software Architect
Analog Devices
- Limerick
- Permanent
- Full-time
- Architectural Design: Lead the architectural design and development of embedded software systems focusing on Bluetooth and wireless protocols running on real-time operating systems (RTOS).
- Protocol Expertise: Serve as the subject matter expert in Bluetooth and wireless communication protocols, including Bluetooth Low Energy (BLE), and potentially Wi-Fi, LoRa, NFC, or other relevant wireless standards.
- RTOS Development: Design, implement, and optimize software components for real-time operating systems, ensuring efficient utilization of system resources and meeting stringent timing requirements.
- System Integration: Collaborate with hardware engineers and system designers to integrate embedded software with hardware components, ensuring seamless communication and interoperability.
- Performance Optimization: Analyze and optimize the performance of embedded software systems, identifying bottlenecks and implementing enhancements to achieve optimal efficiency and reliability.
- Security Implementation: Implement robust security measures within embedded software systems, including encryption, authentication, and secure communication protocols, to protect against potential security threats.
- RTOS Configuration: Configure and customize real-time operating systems to meet the specific requirements of embedded applications, such as task scheduling, memory management, and device drivers.
- Code Review and Quality Assurance: Conduct code reviews and enforce coding standards to ensure high-quality and maintainable embedded software codebases.
- Documentation: Prepare comprehensive documentation including design specifications, technical manuals, and test plans to facilitate understanding and maintenance of embedded software systems.
- Testing and Validation: Develop and execute test plans to verify the functionality, performance, and reliability of embedded software systems, including both unit testing and system-level testing.
- Cross-Functional Collaboration: Collaborate with cross-functional teams including firmware engineers, hardware engineers, QA engineers, standards groups like the Bluetooth SIG, and various open source working groups to ensure successful project execution, delivery and maintenance.
- Continuous Learning: Stay abreast of the latest advancements in embedded systems technology, Bluetooth standards, wireless protocols, and real-time operating systems, and apply this knowledge to enhance the design and development process.
- Troubleshooting and Debugging: Investigate and resolve complex technical issues related to embedded software functionality, performance, and compatibility, employing debugging tools and techniques as necessary.
- Project Management Support: Provide technical guidance and support to project managers, including resource estimation, risk assessment, and milestone planning, to ensure successful project outcomes.
- Customer Support: Provide technical support to customers, partners, and internal stakeholders, addressing inquiries and troubleshooting issues related to embedded software functionality and performance.
- Collaborate with development teams and product managers to ensure best in class BLE software support is being provided to customers, and internal developpers.
- Establish metrics and processes for monitoring software health, and allowing for continuous improvements.
- Disseminate your in-depth knowledge of wireless stacks, in particular BLE, within the company.
- Keeping up with the latest advancements in BLE and other relevant wireless stacks.
- Work with other software teams to ensure related development efforts have best-in-class BLE support, such as any mobile applications provided to customers or user internally.
- Work with multiple stakeholders from different locations (EMEA, US East and West) that includes flexing work hours based on time zones
- At least 10 years of software development experience, with the last 5 in wireless, ideally Bluetooth Low Energy, protocol stack enablement and development.
- Comprehensive knowledge of Bluetooth Low Energy. Clear understanding of GATT Services and Characteristics, with a deep understanding of GAP, GATT, bonding and BLE security, etc. A high-level understanding of everything below the HCI-barrier on the Controller side is also required.
- Demonstrable knowledge of Arm Cortex-M and RISC-V (RV32) ISAs and architectures.
- Significant experience with RTOS development (Zephyr, FreeRTOS)
- Excellent C development skills, with the ability to work with various versions of the C standard.
- Proven track record of integrating and maintaining complex protocol stacks, ideally in an open-source environment.
- Strong fundamentals in data structures and algorithms
- Comfortable with collaboration, open communication, and reaching across functional borders
- Excellent analytical skills.
- Excellent written and communication skills in English
- Good understanding of testing methodologies like unit testing, functional testing, performance testing and Integration testing
- Familiarity with best practices for the full software development process
- Demonstrated extensive experience with task and defect tracking tools (Jira, etc.)
- Very strong grasp of version control systems – Git, Github, etc.
- Experience with Static Analysis tools
- Detail and quality oriented. Customers expect technical excellence from us, and this extends from chip design all the way up to the tooling we provide them.
- Familiarity with Zephyr RTOS
- Experience with BLE Audio (BLE 5.2)
- Experience with audio codecs and audio processing