Lead Software Architect
Role details
Job location
Tech stack
Job description
As Lead Software Architect, you will contribute strongly to the definition of the software vision for Analog Devices' Datacenters & Energy business unit and develop product definitions and architectures to implement that vision. You'll lead the development of cutting-edge embedded systems that drive next-generation intelligent power management for Datacenters, ensuring they meet the highest standards for security, reliability, and real time performance., This is a hands-on role where you will work within and influence world-class engineering organizations while partnering with cross-functional stakeholders to architect software solutions that improve datacenter resilience and advance power management innovation. You will bring deep experience architecting real-time software from embedded firmware to cloud services, with a keen understanding of how to balance functional requirements with exceptional performance and efficiency., * Engage with customers and internal stakeholders to gather requirements for complex systems to manage and monitor power in datacenters.
- Focus on 'Big Picture' and long-term viability to create robust, extensible, scalable and enduring architectures to address the identified requirements.
- Choose platforms, frameworks and tools that optimally fit the system requirements.
- Architect high performance real-time systems spanning the embedded world through to cloud to balance ideal engineering with real world constraints.
- Perform trade-off analyses between simplicity vs scalability, cost vs speed of delivery, monolith vs microservices etc.
- Create all necessary documentation to support software architecture definition, including high-level block diagrams, data flow diagrams, logic diagrams etc.
- Clearly communicate architecture rationale to team members and stakeholders.
- Drive continuous improvement in software development process through adoption of the latest, best in class methods and tools including AI.
- Mentor team members from junior to senior and staff level.
Requirements
- Bachelor's degree or higher Computer Science, Engineering, or a related field .
- 15+ years of experience in the full lifecycle of software development from requirements gathering and analysis through design, development, and product release.
- 10+ years architecting and designing complex systems that span embedded software through to cloud applications.
- Ability to read and understand hardware schematics.
- Excellent verbal and written communication skills. The successful candidate must be able to communicate complex concepts to other team members, customers, and stakeholders.
- Experience developing software as part of a multi-developer Agile team using Git branching and merging.
- Experience designing signal processing chains in software and knowledge of the trade-offs between processing performance, latency etc.
Desirable additional skills and experience:
- Familiarity with electrical power control systems.
- Familiarity with embedded RTOS such as Zephyr.
- Familiarity with Azure and/or AWS cloud platforms.
- Experience with cloud and embedded security (data protection, secure boot, secure communications).
- Familiarity with machine learning concepts and model development.