POSITION OVERVIEW
Lead Embedded Software Engineer is responsible for leading a team of embedded software engineers and writing and developing embedded software.
Location : This position requires on-site work at facilities. This role is not eligible for remote work.
WHAT YOU'LL DO - Lead the execution of full development lifecycle including Requirements Analysis, Software Architecture, Software Design, Algorithm Design, Unit Test Development, Integration Test Development, Embedded Software Development, Software Verification and Validation.
- Design and implement new features for our embedded platforms, including, but not limited to, bringing up new cameras, SoC's, sensors, chipsets and other driver development.
- Lead code reviews, estimation and planning meetings.
- Drive process improvement and software compliance activities.
- Provide technical leadership and influence in the execution of all primary responsibilities.
- Mentor and foster professional growth of engineers and encourage career progression.
- Stay current with industry trends and drive continuous improvement of process.
- Collaborate with cross-functional teams including Hardware, Mechanical, Product, Software Project Engineering and System Engineering to support execution of products into software, assure software/hardware integration and quality.
- Participate in Product Launch Teams as required.
- Other duties as assigned.
HOW YOU'LL DO IT - Technical expertise - Demonstrating depth of knowledge and skill in a technical area.
- Managing complexity - Making sense of complex, high quantity and sometimes contradictory information to effectively solve problems.
- Mentoring and coaching - Providing timely guidance and feedback (both positive and constructive) to help others recognize strengths and development opportunities. Inviting tough conversations.
- Optimizing work processes - Knowing the most effective and efficient processes to get things done, with a focus on continuous improvement.
- Situational adaptability - Demonstrating the flexibility to adapt to changing environments. Adjusting approach to adapt to shifting demands.
- Fostering teamwork - Building effective partnerships and working collaboratively with others to meet shared objectives.
- Maintaining a high level of honesty, integrity, and confidentiality with respect to company matters.
- Complying with all Company policies and procedures, safety regulations, company safety policies and safely perform all duties , including but not limited to, promoting a safe workplace.
REQUIREMENTS- Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or related discipline.
- 6+ years of technical experience in all phases of software development lifecycle.
- 2+ years of experience as a mentor or a leader.
- High proficiency in C, C++ languages, assembly languages, and real time operating systems.
- Detailed, ongoing, current knowledge of electronics components and systems.
- Broad technical skills and exemplary technical dependability in all product phases.
- In-depth knowledge of embedded systems.
- Requires a person who is highly motivated and demonstrates good communication and people skills.
- Must be able to balance multiple responsibilities and have strong multi-tasking skills.
- Proficiency in Microsoft Office Suite.
PREFERRED EXPERIENCE- Strong Linux Experience.
- Experience working on video, audio, signal processing and compression.
- Experience working on Camera development and Image Signal Processing.
- Experience working on Wi-Fi and BLE.
- Familiarity with tools like Git, Bitbucket, Jenkins, JIRA, Azure DevOps etc.
- Familiarity with Agile processes.
- Familiarity with static analysis tools, code coverage metrics and unit test generation.