Firmware Engineer
2 months ago
Kannur, India
Schneider Electric
Full time
Key Responsibilities:
- Designing and developing embedded software solutions using the Linux operating system.
- Collaborating with hardware engineers to understand system requirements and specifications, especially in power electronics products.
- Design, develop and own product firmware for new product development.
- Work with other developers to ensure the development of best possible future proof products to meet the cost, time, quality, and business needs.
- Represent the team in technical discussions with other project stakeholders and other technical teams across the organization.
- Develop deep understanding of existing product architectures.
- Lead Cybersecurity topics for the development site.
- Responsible for resolution of field issues that need product expertise.
- Collaborate with internal and external teams to bring in best Engineering practices and processes.
- Customizing and optimizing Linux kernels and distributions for specific hardware platforms.
- Debugging and troubleshooting software and hardware issues in embedded systems.
- Participating in code reviews and ensuring adherence to coding standards and best practices.
- Developing and executing test plans to verify and validate embedded software functionality.
- Documenting software designs, specifications, and test plans for future reference.
Qualifications:
- Bachelor's or master’s degree in Electronics and Communication, Embedded system, Electrical /Electronic Engineering, or a related field.
- 7 to 12 years of experience in embedded systems firmware development, specifically with Linux-based platforms.
Required Skills:
1. Proficiency in programming languages - C++ and C.
2. Strong understanding and experience in Object-Oriented Design (OOD) principles for developing efficient and maintainable software.
- Working experience on embedded Linux development tools and toolchains.
- Solid understanding of data structures, algorithms, and data handling techniques.
- Experience developing data hub components, incorporating the MQTT protocol, and configuring/integrating MQTT brokers (specifically Mosquitto) for efficient messaging in embedded systems
- Experience in memory management and optimization techniques.
- Experience in working with Real-Time Operating Systems (RTOS) or similar frameworks for handling tasks, scheduling, and synchronization in real-time applications.
- Knowledge of hardware interfaces and protocols (e.g., I2C, SPI, UART, USB)
- Familiarity with board bring-up and bootloaders.
- Experience with version control systems, such as Git, in both Linux and Windows environments.
- Proficiency in scripting languages such as Python for automation and system-level tasks.
- Experience with Jenkins server framework for continuous integration and deployment automation.
Preferred Skills:
- Preferred working experience with power electronics products, UPS domain is preferred.
- Familiarity with ARM or other embedded processor architectures.
- Knowledge of networking protocols and TCP/IP stack.
- Understanding of software security principles and best practices.
Qualifications - External
- Bachelor's or master’s degree in Electronics and Communication, Embedded system, Electrical /Electronic Engineering, or a related field.
- 7 to 12 years of experience in embedded systems firmware development, specifically with Linux-based platforms.
- Understanding of the entire product and the ability to take ownership of the product's full firmware are key in this role. This likely involves a deep understanding of the product's features, functionality, and the firmware that drives its operation.