Software Development Opportunity
The successful candidate will be responsible for designing, developing, and testing software solutions for embedded systems. This involves creating high-quality code to interface power electronics for LED lighting products, ensuring reliability, performance, testability, and long-term maintainability.
The ideal candidate should have a strong understanding of computer science first principles and the ability to work effectively in a Linux software development environment.
We are looking for someone with excellent analytical and problem-solving skills, as well as strong attention to detail and the ability to follow established procedures, policies, and processes.
Key Responsibilities:
* Design software architectures considering real-time constraints, processing throughput, execution context, electrical protocols, data coherence, and concurrency.
* Develop and debug software in a mixed Linux and Windows environment.
* Perform firmware bring-up on new electronics designs, ensuring proper initialization, configuration, and validation of the embedded system.
* Participate in collaborative peer review of code, designs, test strategies, and project plans.
* Write, maintain, and execute unit, integration, and end-to-end tests to ensure functional correctness and prevent regressions.
Requirements
* Bachelor's degree in Computer Science or related field of study, or equivalent years of work experience.
* 2-4 years of Embedded Linux and C programming experience.
Desirable Skills
* High proficiency in understanding software flow from computer science first principles across multiple layers of context in an embedded system.
* High proficiency in understanding the interaction between software and electronic components in an embedded system.
* Moderate proficiency programming in ANSI standard C.
* Moderate proficiency working in a Linux software development environment.