Job Description: Reporting to the Manager, Software Engineering, the Principal Engineer/Project Lead will have a hands-on role while leading a project team to develop and enhance software and firmware for our industry leading IoT Modules and Enterprise Solutions products. Our platforms are at the forefront of driving M2M connectivity with intelligent device services that enable our customers to access remote device data within the enterprise.
The Principal Engineer/Project Lead is responsible for development, integration and verification of software as well as for the maintenance and support of the software across multiple versions and platforms.
- Gather and finalize software requirements based on product requirements.
- Understand, analyze and modify existing subsystems and work with large bodies of software code.
- Produce high quality code that conforms to the design and functional requirements. Use command line tools and IDE for design and debugging.
- Develop validation plans and execute them to ensure that code is fully unit tested before submitting to Product Assurance Testing.
- Provide support to other Engineers, Field Application Engineers/Technical Support staff in areas of expertise and domain knowledge.
- Provides work estimates for development projects and reports status of projects to management.
- Improve and maintain new and existing functionality through the product lifecycle.
- Provide technical direction and some project management within a project team.
- Opportunity to provide technical leadership to a group of local and/or remote engineers.
Skills: A successful candidate for this position will have:
- BSEE/BSCS or equivalent, MSEE/MSCS a plus.
- 10+ years of practical experience in embedded product development for networking equipment (wired or wireless), M2M technology or equivalent.
- 3+ years of experience in providing technical leadership to lead a team of senior/principal engineers; Experience in ?leading? the development and release of embedded software products is highly desirable.
- Able to track and manage multiple projects; work with cross functional teams.
- Requires strong C/C++ programming experience and good understanding of algorithms and data structures.
- Demonstrated experience in TCP/IP protocols (Sockets, IPv4, IPv6, TCP, UDP, ICMP, QOS, etc.).
- Expertise in developing Wi-Fi enabled products with enterprise class security; experiencewith802.11ac/b/g/n protocol stack; Hands on experience working on supplicant, radio drivers and firmware;
- Advanced knowledge of multi-threaded embedded application software including but not limited to network protocol stacks and implementing communication systems from the ground up.
- Experiencewith at least one RTOS (ThreadX, eCos, VxWorks, FreeRTOS) and/or embedded linux.
- Experience in at least one embedded Linux distribution is needed (Commercial ? Monta Vista Linux, Wind River Linux, Timesys Linux or Open Source ? buildroot, OpenEmbedded, uClinux).
- Protocol Stack knowledge for one or more wireless technologies: 802.11, 802.15.4, Zigbee, Bluetooth, CDMA, GSM is desirable.
- ExperiencewithAgile development methodologies (Scrum, XP) a plus.
- Effective written and verbal communication skills.