- Design and development of applications on Linux and Windows machines.
- Experience in programming in a multi-thread/multi-process environment.
- Experience in application development on 32 and 64 bit architectures.
- Robust understanding of application development with real time operating systems (Linux, VxWorks, QNX)
- Proficient in debugging tools and techniques.
- Debug and resolve firmware issues to ensure high quality, reliable code.
- Implement interrupt driven and event driven firmware architectures.
- Collaborate with cross-functional teams to gather and understand firmware/software requirements.
- Implement comprehensive testing strategies, including unit testing, integration testing and system testing.
- Exposure of working on network protocol such as Mavlink, DDS, Pub-Sub.
- Exposure of working on Serial communications such as UART, Serial/COM port, CAN, MODBUS etc.
- Exposure of application development for Autonomous Vehicle like UAVs, AUVs, USVs.
- Exposure of application development on Robotic Operating System (ROS) and similar platforms.
- Exposure of simulations platforms such as Gazebo, Webots, Unity Simulator, Unreal Engine etc.