Skills And Tools:
Embedded Software Engineer needed Cairo & Alex
Main Job Duties:
- Design & Implement low and high level Firmware components of embedded devices and systems from requirements to production and commercial deployment.
- Develop, test and debug low and high level Firmware components.
- Writing code documentation for Firmware different components.
- Unit testing for Firmware different modules.
- Code review and design.
- Analyze and enhance efficiency, stability and scalability of system resources.
- Integrate and validate new product designs.
- Support Firmware QA and optimize I/O performance.
- Writing Integration, Validation and Component Testing Test Cases.
- Executing integration, Validation and Component Testing.
- Provide post production support.
- Bug tracing and fixing.
- Interface with hardware design and development.
The applied candidate should have skills below
- C and C++ programming
- Microcontrollers, or MCUs
- Linux operating system ( preferred )
- Software optimizations skills at the System on a Chip (SoC) level
- Real-time Operating Systems (RTOS)
- Device drivers
- Understanding of design patterns and embedded system design patterns
- Debugging skills
- Ability to work with existing codebases
- Interrupt-driven design
- Assembly programming language
- Hardware test equipment: oscilloscope, logic analyzer
- Experience in or ability to learn communication protocols. Relevant protocols to have at least an understanding of include I2C, Serial Peripheral Interface (SPI), USB, General-purpose input/output (GPIOs), Controller Area Network (CAN bus), Recommended Standard 232 (RS232), one-wire, Recommended Standard 485 (RS485)
- Ability to read a schematic
- Basic understanding of Internet of Things (IoT) and internet-based technologies
- Understanding of data structures
- Python programming language ( preferred)
- Software DeveloperConfidential Company - 6th of October, Giza7 days ago