Overview
Write the Code That FliesThis is not a role for a typical software developer. This is for an engineer who understands that every line of code is a matter of public trust. We are looking for a disciplined and highly skilled Software Engineer to write the flight-critical code for our aircraft's brain. You will be translating complex flight controls, navigation, and sensor logic into flawless, certifiable, and real-time C/C++ code. If you are passionate about embedded systems and want to build software that is held to the highest standard in the world, this is your opportunity.
About The EPlane Company
The ePlane Company is at the forefront of India's urban air mobility revolution. Incubated at IIT Madras, we are a deep-tech startup dedicated to designing and building the world's most compact electric flying taxi. Our mission is to make door-to-door flying a reality, drastically reducing commute times and decongesting our cities for a cleaner, greener future. We're a passionate team of engineers, designers, and visionaries working on cutting-edge technology, and we're looking for brilliant minds to help us take flight.
Roles And Responsibilities
As a Safety-Critical Software Engineer, you will be responsible for the hands-on implementation of our core flight software. You will:
- Author Low-Level Requirements: Translate high-level system and safety requirements into clear, verifiable, and testable low-level software requirements (LLRs).
- Develop Flight-Critical Code: Write, debug, and maintain high-integrity embedded C and C++ (C++14/17) code for our Flight Control Computer (FCC) and Mission Computers.
- Adhere to Strict Standards: Rigorously adhere to the MISRA C/C++ coding standards and our internal software development plans to ensure code is robust, readable, and certifiable.
- Develop Low-Level Software: Implement low-level drivers, Board Support Packages (BSPs), and interface logic to communicate with our custom hardware (e.g., FPGAs, sensors, memory).
- Write Unit Tests: Develop and maintain comprehensive unit tests for all software modules you create, ensuring they are testable and meet all requirements before handoff to the V&V team.
- Participate in Reviews: Actively participate in peer code reviews, providing and receiving constructive feedback to ensure quality and compliance.
- Integrate & Debug: Work closely with hardware and V&V engineers to bring-up new boards, integrate software components, and debug complex, real-time issues using hardware debuggers (e.g., JTAG) and logic analyzers.
- Experience: 3+ years of professional experience in developing safety-critical embedded software.
- Education: Bachelor’s or Master’s degree in Computer Science, Electrical/Electronics, Aerospace Engineering, or a related field.
- Critical Domain Experience: Must have experience in aerospace (DO-178C), automotive (ISO 26262), medical devices, or a similar high-stakes industry.
- C/C++ Expertise: Expert-level programming skills in Embedded C and C++.
- MISRA Standards: Non-negotiable, hands-on experience writing code that is compliant with MISRA C or MISRA C++.
- RTOS Experience: Proven experience developing for Real-Time Operating Systems (RTOS) such as VxWorks, QNX, LynxOS, Deos, or FreeRTOS.
- Embedded Hardware: Strong experience writing low-level drivers directly from processor/peripheral datasheets for embedded processors (e.g., ARM Cortex-R/M) and peripherals (e.g., SPI, I2C, CAN, DMA, memory-mapped I/O).
- Software Fundamentals: Strong understanding of data structures, algorithms, multithreading, and memory management (e.g., stack/heap analysis, memory maps) in an embedded context.
- Direct experience on a DO-178C Level A or B program.
- A portfolio of personal projects (e.g., via GitHub) demonstrating complex embedded C/C++ development, driver writing, or RTOS implementation.
- Familiarity with avionics protocols like ARINC 429, CAN, or AFDX/Ethernet.
- Experience with unit testing frameworks (e.g., GoogleTest, CppUnit) and V&V tools (e.g., LDRA, VectorCAST, Polyspace).
- Understanding of software partitioning principles (e.g., ARINC 653).
- Proficiency in Python for scripting, test automation, or tooling.
- Experience with modern build systems (e.g., CMake) and version control (Git).
- The opportunity to work on a groundbreaking product that will redefine urban transportation.
- A dynamic, fast-paced, and collaborative work environment with a brilliant and passionate team.
- Competitive salary and benefits.
- A culture of innovation where your ideas can directly impact the future of flight.