JD for Embedded Software Developer (Controller- Firmware / Software Designer – EGSE)
Job Location: Ahmedabad
Type: Full-time
Job Overview
We are currently looking for a motivated and skilled Firmware Engineer to join our firmware development team and be responsible for creating and implementing software for systems and applications.
Abilities Required
- Perform C/C++ embedded firmware development.
- Use requirements to analyze, design, and implement functional needs.
- Working as a part of a multi-disciplinary team to design, integrate, qualify and test application.
- Testing, debugging, verification, and validation of functional modules against requirements.
- Staying up to date with firmware development methodologies
- Write bash and python scripts.
- Coordinate with hardware engineers to develop requirements and test engineers to build and configure tests.
- Designing program architecture based on project requirements and hardware specifications.
- Writing software code, embedded programs, and system protocols.
- Conducting tests on the embedded software systems to ensure proper integration.
- Troubleshooting embedded systems and diagnosing errors, malfunctions, or inefficiencies.
- Implementing effective repairs, modifications, and upgrades to the embedded code.
- Generating diagnostic reports, technical manuals, and software development documentation.
Experience
- Minimum a degree in Computer Science, Electronics Engineering, or a related field.
- A prior experience in embedded firmware development C/C++, assembly languages, and code development processes with debugging emulation and simulation tools.
- At least 3 years’ experience with low level device drivers such as UART, I2C, SPI, CAN, ADC, DAC, etc.
- Must possess a good understanding of software development life cycles.
- Must have a knowledge of basic electronics hardware and its interfacing with software systems.
- Must be familiar with software configuration tools and concepts.
- Experience in firmware systems design is an added advantage.
- Strong knowledge of hardware architecture such as ARM, MIPS, and x86.