Job Description
You will be a Tech Lead responsible for the system design, development, code review, coding, integrating, and testing of software applications.
Responsibilities:
- Code, simulate, integrate and validate software, participate in software design reviews.
- Develop system level software architecture and create software design documents.
- Work closely with other team members to define, clarify and implement key software features
- Act as first point of escalation for team member regarding Kernel issues both within the team as well as with other teams, collaborate with key stakeholders
Requirements
- BSc or MSc in Electrical / Computer Science or a related field
- 5+ years’ of experience in real-time embedded Linux architecture development
- Experience participating in full software lifecycle development including defining and documenting requirements, object oriented software architecture and design, programming and testing
- Proficiency in Python, shell scripts, C and C++, object-oriented design, multi-threaded software
- Experience in software lifecycle development including defining and documenting requirements, object oriented software architecture and design, programming and testing
- Technical knowledge and experience with Embedded µARM (M0-M7) I2C, SPI, ADC, DAC, timers, IRQ, DMA
- Familiarity with iMX6 and Yocto
- Experience with data-parallel and/or accelerated computing (CUDA, OpenCL)
- Working knowledge of machine learning algorithms and software packages
- Familiarity with designing reusable platforms and hardware abstraction layers
- Proven ability to work with cross-functional teams including communicating and publishing plans, designs and visions, writing technical documentation
- Fluent English, excellent written and verbal communication skills