Roles & Responsibilities of Embedded Software Engineer· Involve in business case & user requirement gathering and defining the system requirements to develop prototype and demonstrate it with POC.· Worked on Windows CE and Embedded Operating Systems. Develop architecture, design, code, and test case reviews.· Must have very good understanding on Windows Internals/ Core areas, network stack, driver stack and model etc.· Create supporting documents for targeted design related activities/objectives and present to customers and internal groups for successful results.· Strong ability to integrate various components from different vendors into a fully functional and coherent system.· Have deep understanding Device Driver, Kernel, Shell, IPC, RDP, Memory management, Threads, Graphics – GDI, Storage (USB, SD Drive and others), File System & Networking.· Interpret and report testing results, and be a vocal proponent for quality in every phase of the development process.· Ability to debug an issue starting from Application layer going deep all the way thru Kernel, Drivers and Memory level debugging to nail down an issue.· Ability to code/understand Assembly language required for debugging, and perform Crash Dump Analysis, remote debugging, etc. Education Qualification & Skill Required· Bachelor's or Graduate's Degree in computer science, engineering or computer engineering.· Proficiency in C/C++ and Java for embedded applications with 5 years of experience.· Familiarity with WinCE SDKs and Android development tools with command in scripting and debugging for embedded systems.· Knowledge of CAN Bus, RS232, RS485 and MQTT communication protocols.· Experience with Linux, Python, Agile, CMMI, GIT, HDMI, and FPGA software and systems is added advantage.· Experience with taxi meter or similar devices or vehicle-based embedded systems is additional advantage.