Duties and Responsibilities
- Supervise and manage a team of several Embedded System Engineers
- Understand the product requirements in terms of hardware, software and business purpose
- Develop Linux based firmwares for different products of different architectures (AVR, MIPS, ARM etc.)
- Develop cross-platform, modular applications and services using Vendor-provided SDK
- Strictly follow Test Driven Development approach while developing solutions
- Follow agile methodology while development
- Documenting and testing of every developed feature is a must
- Skillfully utilize 3rd Party and in-house API services
- Attend the weekly Scrum meeting as well as daily Stand-up meeting
- Cooperating with Software Engineers for the integration of the whole project/product
- During production life cycle, test and inspect the whole manufacturing process to ensure the quality of each feature
- Report the progress of the currently development status when needed (on-demand)
- Work with other teams and cooperate in all terms
- Maintain team to team synchronization and motivation
- Any other jobs as assigned by the management/technical director from time to time.
- Expertise in C and C
- Expertise in Linux OS (Ubuntu, Debian or similar)
- Expertise in IEC-60870 Standards is a huge plus
- Good understanding on networking concepts like IP, Ports, Protocols, Routing etc.
- Good understanding of Network Security, Firewall, Proxy, Filtering etc.
- Expertise in build automations (Make, CMake)
- Expertise in any scripted language, preferably Python
- Working experience with Virtualization (Docker)
- Working experience with CI (Jenkins)
- A good understanding of Abstraction and Design Pattern
- Working experience with any RDBMS and NoSQL is a plus
- B.Sc. in EEE/CSE from any reputed engineering university.