There’s an evolution happening in Avon, CT. iDevices, the preeminent consumer tech brand in the connected home industry, is growing a line of smart home products available at the largest retailers worldwide. We are creating “The Silicon Valley in the Farmington Valley” – so if you thrive at the intersection of Technology and Engagement then we want you to join our evolution.
We’re seeking an Embedded Software Engineer with at least 3 years of relevant experience who has a firm grasp of object oriented programming methodologies and real-time issues like multi-threading and concurrency. Additionally, we are looking for someone with experience implementing and debugging network communications over a variety of transport mediums. Here at iDevices, we build our products to work with smartphones and tablets. Any experience with iOS and Android is a plus. Also, experience in writing device drivers for peripherals over several low-level bus technologies is desirable.
This position is responsible for developing firmware for low power embedded sensor and application interface electronics, and software tools for supporting development and test. This role requires working closely with product management and our Electrical Engineering team to define strategy and requirements. The position involves regular communication with management on status, risks and product strategy. Excellent listening and writing skills and very strong technical competencies are essential.
- Perform all aspects of software development. This includes, but is not limited to, requirements and specifications, design and development, coding and debugging, unit testing and integration of embedded devices and systems. The result is intended for production and commercial deployment and must meet quality objectives, engineering methodologies and company guidelines
- Develop scripts to aid in automated unit, regression and integration tests to meet quality expectations. Understand appropriate verification practices and tools
- Interpret, understand and provide feedback on software requirements for active projects
- Work and interface with cross-functional design teams
- Analyze and enhance efficiency, stability and scalability of system resources
- Develop code that is consistently well documented and maintainable
- Write device drivers for various sensors and other small peripherals
- Support hardware/software integration and software validation
- Support software QA and provide post production support
- Evaluate and recommend tools, technologies and processes
- Implement custom protocols over TCP/IP, UDP
- Assess, utilize and integrate third party and open source software
- Review code and design