As Sr. Lead Firmware Engineer you will lead and manage firmware development activities for multiple projects. Taking projects from cradle to grave from scoping and budgeting through implementation, release and sustaining. While partly an individual contributor role, the Lead will enthusiastically manage a small team and guide each project to success.
Join in our growth and help us accelerate our new product introductions. Your experience and leadership are key to taking our development to the next level. Work with an experienced and capable technical team creating the next generation of irrigation devices and connected systems.
WHAT YOU WILL DO:
- Responsible for leading and managing multiple firmware projects
- Manage Firmware requirements in collaboration with stakeholders; update, and release requirements documents
- Develop project schedules and budgets based on prior project aggregated data and analysis of planned scope
- Report status, progress against the plan and activity to project stakeholders
- Collaborate directly and effectively with multiple other teams including Electronics design, DEVOPS, Cloud software, Product Marketing, Management stakeholders, Manufacturing, Quality Assurance and Test Automation to assure that product development priorities are completed to schedule and budget, while ensuring quality and product performance requirements are met
- Product development activities include design and development, rigorous design reviews, excellent documentation, incorporation of lessons learned from existing products, product verification, coordination with quality assurance, and field validation
- Responsible for keeping excellent, organized project records and documentation. Work with existing product development and release processes but contribute to process improvement through recommendations and experimentation
- In some cases lead Firmware heavy projects with some aspects in other disciplines such as Electronics design.
- In some cases lead Firmware projects with outside vendor contributions and be the point person for the external vendor and managing the external vendor (in collaboration with their team lead)
- Responsible for writing high-quality, well-documented, and robust code
- Participates in sustaining activities for existing products including diagnosis and resolution of defects
- Initiate and run Firmware project meetings (including regular sprint stand-ups, regular project meetings, design meetings, defect reviews, etc)
- Understand entire electronic product portfolio, product inter-relationships and maintain working knowledge of all internal codebases
- Review schematics and provide detailed feedback; contribute directly to schematic and system improvements. Drive component selection, particularly microprocessor
MINIMUM QUALIFICATIONS:
- BS in Electrical, Electronic, or Computer Science Engineering, related technical degree or equivalent extensive experience
- 10+ years of experience with embedded C, C++ programming using embedded processors such as ARM core, Atmel AVR, Microchip PIC, or similar processors
- Experience in use of advanced development/debugging tools; e.g. C/C++ compilers, ICE, JTAG, logic analyzers, oscilloscopes, etc.
- Experience with multi-tasking or multi-threading with and without RTOS implementations
- Evidence of strong firmware architecture design thinking and ability to clearly document designs
- Exposure to full product life cycle from concept to production release
- Track record of innovative and creative thinking used to create effective solutions for engineering and the customer
- Experience managing development using both waterfall and agile methodologies
- Track record of managing on time and on budget development projects, effectively tracking spend and progress and actively protecting scope, budget, schedule and quality, getting buy-in for solutions
- Ability to review and understand digital and analog schematics
- Excellent English communication (verbal and written) and ability to work both in teams and independently
- Experience managing 3 rd party engineering development vendors (any discipline)
DESIRED QUALIFICATIONS:
- Demonstrated vision and ability to create, design, document and communicate architectures and interoperable systems across device and team boundaries
- Knowledge of assembly language (to analyze compiler output and ISR critical timing)
- Prior experience with Design for Manufacturability and Design for Testability
- Experience with unit test frameworks such as CPPUNIT
- Experience using UML modelling techniques and tools
- Experience using JSON, FreeRTOS, ThreadX
- Experience integrating embedded products with IoT infrastructure (Amazon, proprietary or other)
- Direct experience designing and implementing digital and analog circuitry
- Experience in the irrigation industry, understanding of plant evapotranspiration and basics of the related math
- Experience using tools and toolchains including IAR, Jira, Jenkins, Perforce, git, CI/CD
- Substantial experience developing and integrating radio stacks in embedded products. Examples include BLE, LoRa, LoRaWAN, WiFi
- Demonstrable understanding of the basics of common Internet, IoT and M2M protocols and methods such TCP, UDP, HTTP, TLS, NAT, MQTT, CoAP
- Experience developing and deploying consumer products or highly reliable systems
- Working experience with battery operated devices
- Experience with board bring up, bootloader and OTA
Rain Bird Corporation is an Equal Opportunity Employer.