
Principal Engineer - Firmware
at Luxury ecommerce product company very well established
Role: Sr. Principle Engineer -Firmware
Experience: 8 to 10 Yrs.
Job description:
Primary skills:
- At least 8 years of working experience on embedded firmware development
- Experience in multithreaded programming, network programming (wired and wireless protocols), real-time programming, cross-platform and cross-language development
- Prior experience with overseeing board bring-up and validation
- Hands-on experience on driver development for various sensors,Flash,PMIC
- Working knowledge of communication protocols like UART, I2C, SPI, USB, Ethernet, etc
- Product development experience with range of microcontroller/microprocessor architectures, adoption of bare-metal, RTOS and Linux operating systems on new platforms
- Minimum 2+ years of experience doing hands-on software development in Bluetooth domain; application, framework, Bluetooth stack or drivers
- Working Experience In display driver development with MIPI/LVDS/QSPI will be a value addition
- Experience with hardware lab equipment such as digital scope, logic analyser and JTAG
- Understanding of embedded development constraints and system performance
- Hands-on Experience on System level integration
- Experience with programming in C/C++/python
- Experience in reading schematics
Secondary skills:
- Version Control System
- Working experience on BLE SoC like Nordic, Ambiq, Dailog
- Bug Tracking

Similar jobs

Responsibilities:
- Design and implement embedded software applications for IoT devices using C programming language.
- Develop and maintain firmware for Raspberry Pi-based systems, ensuring optimal performance and compatibility with various IoT sensors and peripherals.
- Collaborate with hardware engineers to define and document system requirements and specifications.
- Conduct thorough testing and debugging of embedded software to identify and resolve any issues or bugs.
- Optimize code and improve system performance to enhance the overall user experience.
- Stay updated with the latest industry trends and technologies in embedded systems and IoT development.
- Work closely with the product management team to translate customer requirements into technical specifications.
- Provide technical support and guidance to the team during the development and deployment phases.
- Participate in code reviews and contribute to the continuous improvement of software development processes.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- Strong proficiency in C programming language with a solid understanding of embedded systems.
- Experience developing software for Raspberry Pi or similar single-board computers.
- Knowledge of IoT protocols and technologies such as MQTT, CoAP, TCP/IP, and wireless communication (Wi-Fi, Bluetooth, etc.).
- Familiarity with various sensors, actuators, and electronic components commonly used in IoT devices.
- Solid understanding of software development methodologies and version control systems (e.g., Git).
- Strong problem-solving skills and the ability to debug complex issues in embedded systems.
- Excellent communication and teamwork skills to collaborate effectively with cross-functional teams.
- Prior experience in developing IoT applications or working on IoT projects is a plus.
-
Design and implement software of embedded devices and systems from requirements to production and commercial deployment.
-
Design, develop, code, test and debug system software Review code.
-
Support software QA and optimize I/O performance.
-
Interface with hardware design and development Assess third party and open source software.
-
hands-on development and troubleshooting on embedded targets Solid programming experience in C or C++.
-
Experience in programming Embedded C/C++ applications with strong background in C/C++ inheritance, templates and pointers.
-
Strong in OS concepts like efficient multi-threading and resource-sharing.
-
Experience in working with firmware, application and board support packages.
-
Expert knowledge on protocols like (RS485 SPI, I2C, ADCs, PWM, CAN).
-
Embedded development tools and methodologies. • Version Control Systems - Clear Case / RTC /GIT.
-
Strong development experience in embedded C and RTOS. • Should have detailed knowledge and experience on microcontrollers / microprocessors ( 16 bit/32-bit).
-
Experience in configuration management & defect tracking tools.
-
Strong debugging skills.
-
Must be a self-starter.
Responsibilities
- Design and implement software of embedded devices and systems from requirements to production and commercial deployment
- Design, develop, code, test and debug system software
- Review code and design
- Analyze and enhance efficiency, stability and scalability of system resources
- Integrate and validate new product designs
- Support software QA and optimize I/O performance
- Provide post production support
- Interface with hardware design and development
- Assess third party and open source software
Requirements
- Proven working experience in software engineering
- BS degree in Computer Science or Engineering
- Experience in hands-on development and troubleshooting on embedded targets
- Solid programming experience in C or C++
- Proven experience in embedded systems design with preemptive, multitasking real-time operating systems
- Familiarity with software configuration management tools, defect tracking tools, and peer review
- Excellent knowledge of OS coding techniques, IP protocols, interfaces and hardware subsystems
- Adequate knowledge of reading schematics and data sheets for components
- Strong documentation and writing skills
Job Description
Embedded Software/Firmware Design and Development on OS/Non-OS based platform
Necessary system architecture development and implementation
Device, sensor and gateway selection and integration based on industry use case.
Development on Image Analytics and Cloud/Platform integration
Development or integration of Cloud/Platform communication protocol
Technical Documentation and Testing of the developed system
Desired Skills, Knowledge& Experience
B. Tech/M. Tech/MCA with 8-10 years of industry experience
Strong programming skills in C/C++ and Python development in Linux
Experience in device or sensor communication interfaces (wired/wireless, short range/long range).
Experience of microcontroller and microprocessor.
Knowledge of IoT gateway firmware development, container, and OS hardening.
Experience in device communication protocol, Edge computing and processing
Competent in application development for Image processing, transmission, and storage
Good understanding and of programming primitives, data structures, multi-threading and memory management techniques
Strong command over complex sensor and hardware control logic to work seamlessly with edge devices or gateway
Proactive and Self motivated
Strong verbal and written communication skill
Job Description:
WLAN Linux Device Driver development (802.11ax preferred)
- WLAN Debugging
- WLAN Firmware development (802.11ac, 802.11n)
- Networking/Wireless Domain knowledge
- Hostapd, Supplicant
- Cross compiling/porting experience
- Performance optimization & Firmware enhancements
Must have Skills:
- 1-10 years of experience in Embedded Software Design, Implementation and testing
- Good knowledge of C or C++
- Basic knowledge in Scripting (Shell, Perl or Python)
- Proficiency in Problem Solving and Debugging skills
- Excellent team working skills
- Experience with version control e.g. GIT
- Basic experience of working in Linux OS
- Network Drivers
- WLAN Protocol Knowledge – 11n, 11ac
- WLAN Linux Device Drivers
- Hostpad, Supplicant
- WLAN Debugging
- Fluent in English
Desired Candidate Details:
- Design, development, and maintenance
- WLAN Stack development and debugging
- Feature Enhancements, Applications, Tools for SDKs
- Basic module level unit testing, System testing
- Providing support to technical documentation team and field application engineers
- Close collaboration with the Chipset Vendor on the Software Development
- Participations in the Product design and Software Design Documentation – High level / Module level / Low level design
- Troubleshooting software and architectural issues
We are looking for a seasoned Wireless LAN Software Engineer to join our Wireless & Networking team in Chennai, Pollachi, Kochi (Cochin), Gurugram, Manesar, Bengaluru (Bangalore). The candidate must be an experienced Engineer and a good team player, who will work on Wireless software solutions which will enable us to develop the products for our customers quickly with industry leading quality. Working with Embedded Software in agile development projects, you will be responsible for creating and maintaining software of Wireless Access Point and Router Products including Module design, Development, JIRA Updates and Unit testing of the Software that is meeting industry standards, creating demos of the solution and customer support.
DUTIES & RESPONSIBILITIES
- Own & lead full cycle development: design, implementation, testing & debugging for an automotive product.
- Create conceptual system designs, assess risks, conduct design trade studies, and develop a product that meets feature requirements for integrating sensor, processing and software systems.
- Lead innovative system development projects with responsibility for achievement of cost, schedule, and technical requirements, with an eye toward technology maturation, transition, and follow on work.
- Generate comprehensive engineering documentation.
- Responsible for end-to-end system firmware development to include power management, boot loaders, scheduling, RTOS and /or bare metal implementations.
- Troubleshoot and resolve complex software problems in embedded real-time systems.
- Source code development, review & maintenance (C/C++).
- Dive into & take ownership of critical design issues.
- Analyse & propose solutions for performance bottlenecks.
- Address all aspects of technology readiness, including manufacturability.
- Help build robust methodology and processes to deliver the technology to products.
REQUIRED SKILLS & EXPERIENCE
- Experience in embedded architecture, external interfaces, product constraints, along with ability to develop architectures / features that meet these constraints while providing new value for the platform.
- Experience in system architecture, operating system, device architecture, hardware design.
- Strong background in software methodology & full cycle development (Design, implementation, testing & debugging).
- Expertise in embedded microcontrollers’ architecture.
- Expertise in software designing and programming in C/C++ is a must.
- Algorithm modelling, benchmarking, implementation & digital signal processing.
- Understanding of hardware & software co-verification & emulation platforms
- Experience in understanding hardware, clock-level issues, bridges, delays, interrupts, clock gating, polling etc.
- Experience with lab instrumentation like oscilloscope, logic/ protocol for debugging embedded systems at HW level.
- Bachelors | Masters degree in Computer Science or Electronics & Communication engineering with 2-5 years of relevant experience is a must.

Job Description:
Looking for engineers with one of the below requirements:
- 2-5 years of embedded development experience in a Linux environment with C programming
- With Option1:
- EDK2 experience
- SCT experience
- knowledge of TPMs
- With Option2:
- worked on bootloaders or uboot




