Job descriptionKnowledge of programming languages C, C++.Knowledge of Operating systems principles (Linux, VxWorks, QNX)Experience in programming in a multi-thread / multi-process environmentProficiency with Linux, Jira and Inter-process communicationDesign and implement tools to accelerate software system development and debug environmentsParticipate and support in fixing issues arising from customer sitesAnalyze system scalability, interworking issues and perform root cause analysis of system issuesDesign and implement built-in diagnostics and test codes to help reliability and supportabilityExperience of development of distributed architecture systems with intercommunication.Communication over various physical layer devices like Serial, Ethernet, 1553, CAN, NMEA, ModBus, etcKnowledge of IP protocols, VLANs and Ethernet switchingHands-on software development experience in large complex software systemsExcellent analytical, integration and debugging skills are necessaryVery Good oral and written communication and multitasking skills are expected