Senior Firmware Engineer
Core Development Responsibilities:
- Design, implement, and test firmware according to specifications and established architecture
- Produce maintainable, reusable code that aligns with the larger architectural vision
- Create software solutions that are simple, expandable, and meet specific performance/size constraints
- Research external requirements (datasheets, specifications) and provide informed recommendations to architects for decision-making
- Hardware-Software Integration
- Support board bring-up activities and provide close collaboration between hardware and software teams
- Ensure groundwork software for hardware-software integration is delivered at defined integration points
- Maintain effective communication and transparency with cross-functional teams
- Quality & Delivery
- Deliver commitments on schedule
- Ensure the build pipeline remains operational and actively troubleshoot build failures
- Contribute to technical sustainability through code quality, technical debt management, and documentation improvements
- Actively identify and remove team impediments to maintain workflow efficiency
- Team Collaboration
- Participate in effective team synchronization with focus on impediment identification and resolution
- Contribute constructively to risk management and dependency identification across functions
Technical Leadership & Strategy
- Demonstrate in-depth technical and domain knowledge for assigned projects/components and their integration within the broader system design
- Provide technical guidance and mentorship to firmware engineers/developers
- Ensure consistency and drive improvements in technical sustainability and team working practices
- Planning & Program Support
- Contribute to TCR reviews, FAM (Function Area Meetings), and first-order estimates in alignment with the FW architect
- Provide transparency and regular status updates on firmware work and planning
- Risk & Dependency Management
- Identify and manage dependencies across firmware, software, and hardware functions
- Proactively surface blockers and issues, driving rapid resolution before they impact the timeline and integration points
- Contribute constructively to risk management and mitigation strategies
- Team Enablement & Efficiency
- Drive removal of focus issues and distractions that impact firmware engineer productivity
- Improve workflow efficiency and code quality across the team
- Foster a culture of continuous improvement and technical excellence
Core Development Responsibilities
- Available from 01-12-2026 till 30-11-2027 for 40 hours
- Hybrid set up (3 office 2 home)
- Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or a related field.
- 5-8 years of experience in embedded software development, with a strong focus on C .
- Deep expertise in modern C and solid understanding of object-oriented and generic programming.
- Strong experience with embedded systems, microcontrollers, and real-time constraints (RTOS or bare-metal).
- Good understanding in software architecture and designing complex embedded systems.
- Solid understanding of memory management, concurrency, and performance optimization in constrained environments.
- Exposure to hardware-software integration, including debugging with lab equipment (e.g., oscilloscopes, logic analyzers).
- Familiarity with embedded Linux is a plus.
- Experience with communication protocols (e.g., SPI, I2C, UART, CAN, Ethernet).
- Exposure to build systems (e.g., CMake), version control (Git), and CI/CD pipelines.
- Experience with unit testing frameworks and test-driven development in embedded environments is a plus.
- Strong problem-solving skills and ability to work independently on complex topics.
- Fluent in English, both written and spoken