RESPONSIBILITIES:
Participate in product definition, specification and requirements analysis working with cross-functional stakeholders
Collaboration on firmware architecture and development strategy with a particular focus on wired and wireless networks
Design, code, integrate, test, support and enhance software solutions for embedded
microprocessors used in wired and wireless communication devices, switching power supplies, sensors, and gateways
Clearly communicate design constraints and trade-offs to other team members and
management, playing an advisory role as a subject matter expert to ensure that optimal design decisions are made
Perform system integration and validation testing activities, including verification of interoperability within an overall solution
Assist with evaluating existing and emerging technologies to identify solutions that will
reliably operate in a wide range of installed environments
Architecting, developing, integrating and delivering embedded and PC software in a regulated product development process.
Participating in all project lifecycle phases – from design and code development through unit testing, documentation, and release.
REQUIREMENTS:
10-15 years of related work experience
Proficient in C programming
Must have experience in designing code frameworks (kernels, schedulers), drivers
and legacy codes for 8bit, 16bit, 32bit micro-controllers and DSPs (Microchip, TI, ST, Freescale, etc)
Must have experience with communication protocols such as I2C, SPI, RS-485, Ethernet, etc.
Must have experience interacting with software debugging in an embedded and electronics environment
Must have experience in PC Application programming such as Python, .NET, VBA is a plus
Must have experience in creating state machines, flow charts, etc.
Comfortable using oscilloscopes, multi-meters, power supplies, etc.
Capable of reading hardware schematics and data sheets
Experience with software development life cycles such as Agile, Scrum, and CMMI
Familiarity with version control systems (SVN), and release methodologies
Familiarity with MISRA or other coding standards is a plus
Disciplined and detail-oriented; experience delivering robust, readable code
Excellent communication skills, both verbal and written
Excellent analytical and problem-solving skills
Experience in recreating sporadic types of issues/failures using various debugging techniques
Experience working in a fast-paced, growing organization with the ability to balance
multiple priorities and objectives simultaneously