Duties and Responsibilities include the following. Other duties may be assigned.
Manage and lead the software/firmware engineering team
Mentoring younger engineers
Review product specifications and designs
Involved in design and code reviews
Promotes secure software development lifecycle (SSDL)
Participate and contribute in planning events, workshops, and system demonstrations
Drive and support continuous improvement and other agile practices
Interface with partners/customers to understand their needs and requirements
Interface with manufacturers on issues relating to manufacturing, testing, and production
Work closely with other engineering and quality teams
Education and/or Experience
Must possess a degree in computer science, computer engineering or equivalent combination of education and experience.
Must possess a minimum of 3+ years engineering experience, preferably engineering in electronics industry with experience managing a team.
Experience managing remote individuals that may be located in different timezones and/or countries
Embedded development experience, with a focus on ARM Linux operating systems
Programming experience in C/C++, C#, Rust
Web development (HTTP, HTML, CSS, JavaScript, RESTful, JSON, XML, MQTT)
Experience developing and deploying applications under Linux and Windows
Experience with TCP/IP networking, transport layer protocols including TCP and UDP, and application layer protocols including HTTPS
Experience with Agile methodologies. Knowledge of Scaled Agile Framework (SAFe) desired
Experience with Jira highly desired
Good knowledge of version control strategies (git flow, git trunk)
Experience with secure coding practices as well as cyber security
Understanding on how to make code maintainable
Knowledge of digital certificates
Experience with project management