Career

Full time job/on site Urgent

Software Engineer

Bengaluru, Karnataka

Job Context/Purpose

As a Software Engineer, your primary responsibility will be the design, development, and testing of drone software systems, such as autopilot systems, Backend Infrastructure, guidance systems and Data Acquisition Software. Additionally, you will collaborate with firmware developers to ensure seamless integration with your software. You will also collaborate with other cross-functional teams, including, avionics engineers, and product designers to create cutting-edge UAV technologies and solutions.

Team Responsibilities

Backend Infrastructure Development

  • Design and develop functional, reliable, efficient, and scalable backend services, APIs, and software solutions that support various UAV technologies.

Simulation

  • Design and develop high-fidelity simulations for a range of drone platforms and mission environments.

System Architecture Design

  • Contribute to the end-to-end design and development of new software architectures to ensure secure, efficient, reliable, scalable, and maintainable solutions.

Testing and Validation

  • Develop comprehensive test plans and perform rigorous engineering and field testing of software solutions.

  • Conduct performance, stress, and compliance testing to ensure reliability, safety, and adherence to quality standards.


Technical Documentation

  • Prepare high-quality technical documentation across design, analysis, and testing domains, including:

    • Design reports

    • Test matrices

    • Test analysis reports

    • Detailed system and architecture diagrams


Additional Functions

Collaboration & Communication

  • Collaborate effectively with multidisciplinary teams, including embedded systems engineers, avionics experts, flight mechanics specialists, and product designers.

  • Communicate project progress, challenges, and recommendations clearly and concisely to internal and external stakeholders.


Technical Competencies

  • Strong understanding of Object-Oriented Programming and fundamental CS principles.

  • Strong Operating Systems fundamentals.

  • Proficiency in C, C++, Python, and the ability to quickly adapt to new programming languages as needed.

  • Familiarity with drone autopilot architecture and UAV software stacks.

  • Proven expertise with robotics software frameworks such as the NAV2 stack and ROS2 middleware.

  • Experience implementing cryptographic techniques and secure programming practices to ensure data integrity, confidentiality, and system resilience.

  • Proficiency in creating and managing drone simulations on platforms such as Gazebo.

  • Strong networking and communication fundamentals.

  • Familiarity with embedded systems and serial communication protocols.

  • Experience developing on Linux systems.

  • Solid understanding of communication protocols (TCP, UDP) and interface standards.

  • Understanding of low-latency streaming protocols (WebSockets, MQTT, DDS).

  • Familiarity with UAV-specific protocols such as MAVLink and drone-CAN.

  • Experience with optimization techniques for performance in resource-constrained environments.

  • Strong knowledge of data structures and algorithms for solving practical engineering challenges.

  • Proficiency with Docker and Git for containerization and version control.


Behavioural Competencies

  • Strong analytical and problem-solving skills, with the ability to learn new technologies and complex systems rapidly.

  • High attention to detail and accuracy in software and avionics documentation.

  • Ability to collaborate effectively and provide technical support across teams when needed.

  • Adaptability and flexibility to thrive in a fast-paced, evolving environment.


Educational Qualifications

  • Bachelor’s or Master’s degree in Computer Engineering, Electronics Engineering, Electrical Engineering, or a related field.