Roles and Responsibilities
System software development at Planys comprises development of applications for robotic solutions made by Planys for its clients. These robots are complex hardware products with a sophisticated software suite that allows us to control these robots. The software modules allow for provisioning and customization support for various modules e.g. process management, video streaming/processing, mission planner and control, configuration manager, artificial intelligence, support framework for backend web applications, user interfaces, supporting scripts and report generator etc. All the modules work in tandem to give the robotic platform its desired functionality.
Furthermore, development of software for robotic applications is a multi-disciplinary activity which involves close coordination with other departments. A typical day in this role should include the following jobresponsibilities -
Design, modify and maintain various components of our system software framework
Support in research and development initiatives
Conceptualize and implement features using robust software engineering principles
Write software to use/control/tweak embedded hardware platforms e.g. cameras, embedded micro controllers, input devices, wireless devices, analog/digital signal generating devices
Develop module specific system test-suite to ensure quality of deliverable
Conduct extensive testing of the ROV in controlled and real-world situations
Fix the issues observed during field trials and document those for future reference
Communicate and coordinate with various stakeholders while ensuring adoption of latest frameworks and tools within our software ecosystem
Hands on experience building complex multi-threaded applications using C/C+ Familiarity using command-line interfaces (CLI) on Linux based distributions
Good knowledge and hands on experience in data structures & algorithms
Strong understanding of operating system fundamentals
Familiarity with at least one scripting language (bash, python, Perl etc.)
Good to have knowledge on video compression using codecs like MPEG, H264/H265 and hands on experience with encoders like Ff Mpeg, G Streamer etc.
Good to have experience in image enhancement tools like Open CV, PIL, scikit-image
Excellent communication skills - both oral and written in English
Bonus points if you are an open-source contributor having an online portfolio
Skill Levels Required:
- Advance level (Needs Minimal Supervision) -C / C++, LINUX, Python, Data Structure, Operating System, Business Etiquette, Communication Skills.
- BeginnerLevel (Needs ContinuousSupervision) -Computer Networking, Version Controlling, Time Management.
B.Tech/M.Tech/M.Sc in Computer Science/Computer Engineering/ Electrical Engineering or any related fields