Live opening · Posted 4 days ago

Algorithm Developer

Aiila Innovations · Bengaluru, Karnataka, India (On-site)
Linkedin No
JobBeeper subscribers received an alert for this role.

At a glance

The key details from the original listing.

Posted 4 days ago
CompanyAiila Innovations
LocationBengaluru, Karnataka, India (On-site)
Work modeNo
SkillsPython, C++
SourceLinkedin
ListedPosted 4 days ago

Your early-applicant advantage

Live timing from JobBeeper.

Live data
11 min from Linkedin publishing this role to us finding it
9 min median time from a role going live to a subscriber being told
6 hours subscribers had this role before this page existed
53,631 roles found in the last 24 hours — the newest are not on this site yet
Start your free trial →

About the role

Description supplied by the original job listing.

We’re hiring | Software Developer.
Positions: 7
Experience: 3+ years
Domain: Aerospace and defence, multi-sensor data fusion
Working hours: 9 am to 6pm. (No remote/ hybrid)
Location: Bangalore (client site)
Work environment: Secure client-site environment with restricted network access.
Selection Process: L1 Interview followed by a mandatory offline written technical assessment at the Bangalore location. Candidates willing to attend the assessment in person are encouraged to apply.
Apply: hr@aiila.com
Job Description: .
Key responsibilities
• Convert algorithms from MATLAB or Python into optimised, embedded-grade C/C++ code.
• Design and build the operational software framework: tasks, data flow, interfaces and error handling.
• Port and deploy the software on target hardware using VxWorks and its IDE.
• Develop and integrate Ethernet, MIL-STD-1553 and PCIe interfaces as defined in the interface specifications.
• Integrate with the existing system software on the target.
• Profile and optimise for real-time performance, and produce benchmark results.
• Re-run the algorithm test cases on the software modules and prove the outputs match the prototype.
• Support integration and hardware-in-the-loop (HIL) testing.
• Verify output data timing, size and duration against the acceptance criteria.
• Maintain commented, documented source code and provide design inputs for reviews.
Qualification
• B.E./B.Tech or M.E./M.Tech in CSE, ECE or EEE.
• Minimum 3 years of embedded software development in C and C++.
Must-have skills for every candidate
• C programming: Data types, pointers, arrays, structures and unions, bit manipulation, function pointers, memory layout, and static and dynamic memory
• Embedded C: Writing code for a target board: memory-mapped registers, interrupts, timers, volatile and const usage, fixed-size data structures, and code without dynamic memory allocation
• C++ programming: Classes, inheritance, templates, STL containers, and modern C++ (C++11/14) features that are suitable for embedded use
• RTOS, mainly VxWorks: Tasks and priorities, scheduling, semaphores and mutexes, message queues, timers, interrupt service routines, and priority inversion. Hands-on VxWorks application development with Wind River Workbench
• Ethernet interface: Socket programming with UDP and TCP, packing and unpacking binary messages, byte order handling, and network debugging
• MIL-STD-1553 interface: Bus controller, remote terminal and bus monitor roles, message formats, sub-addresses, and using a 1553 interface card and its driver API
• PCIe interface: Understanding of PCIe devices and drivers, device enumeration, memory-mapped I/O, and communicating with PCIe-based interface cards
• Embedded hardware: Hands-on work with edge devices or avionics single-board computers (SBCs): board bring-up support, boot flow, BSP usage, and cross-compilation
• Algorithm conversion: Convert MATLAB or Python algorithms to C/C++, including matrix operations and numerical code, and prove the output matches the original
• Multithreading: Design thread-safe code, and avoid race conditions and deadlocks
• Debugging and optimisation: Use debuggers and profilers on a target board, and find timing, memory and performance faults
• Code quality: Follow a coding standard such as MISRA C/C++, write unit tests, and use static analysis tools
• Ability to work independently in a secure, restricted-network development environment.
Tech stack
• Languages: C, Embedded C and C++.
• RTOS and IDE: VxWorks with Wind River Workbench. Other RTOS experience is also considered.
• Interfaces: Ethernet (UDP/TCP), MIL-STD-1553, PCIe and serial (RS-232/RS-422).
• Hardware: Avionics SBCs and edge devices, for example PowerPC, ARM or x86 based boards.
• Libraries: Eigen or another linear algebra library.
• Testing: GoogleTest or similar, gcov for coverage, and HIL test setups.
• Static analysis: Cppcheck, Coverity, PC-lint, LDRA or Polyspace.
• Build and version control: Git, Make/CMake, and cross-compilation toolchains.
Good to have
• Python or MATLAB knowledge, which is an added advantage for algorithm conversion and test scripting.
• Experience with MATLAB Coder or similar code generation tools.
• Basic understanding of Kalman filtering, tracking and matrix mathematics.
• Other avionics interfaces such as ARINC 429, CAN.
• Airborne or defence software experience and awareness of DO-178C.
• Device driver or BSP development experience.

Work arrangement
No

Get JobBeeper Mobile App

Never miss a job opening! Get instant job alerts on your phone.

Subscribers see fresh openings within minutes. Download the JobBeeper App on Google Play to get real-time push notifications and apply before anyone else.

⚡ Instant Push Alerts 🎯 Tailored Filters 🚀 Direct Employer Links
GET IT ON Google Play

More openings worth a look

Recently tracked roles with full details and direct application links.

6 roles
Good roles move before most people even see them. Tell JobBeeper what you want and get fresh matches delivered in minutes.
Start your free trial →
⚡ Get fresh job alerts 📱 Get App