The Principal Edge Computer Software Engineer is responsible for leading the end-to-end software lifecycle for AI-enabled edge computing systems deployed on resource-constrained platforms at AI.DA, Strategic Technology Centre (STC)'s Next-gen Edge AI & Robotics Lab (NEAR).
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The role focuses on rapid prototyping and deployment of cutting-edge technologies, the Software Engineer is expected to
apply the V-cycle in a pragmatic manner
. The Software Engineer must
tailor or compress
processes where appropriate to accelerate delivery and approve waivers or exemptions while ensuring safety, quality, and engineering rigor are maintained. Appropriate level of process rigor to balance
Lead Edge computer software V-cycle for rapid prototypes Proof of Concepts.
Define software requirements from system functional requirements. Translate requirements into software architecture, class modules and functional components.
Receive AI model, review and understand the AI model software architecture, including data flow, interfaces, and runtime assumptions.
Identify integration risks related to CPU/ GPU utilization, memory, latency, and platform limitations, and determine mitigation strategies.
Adapt middleware-layer software libraries to support AI model execution on edge computers. Insert supplementary code needed to execute AI models, implement source code primarily with auto code generation supplemented with manual coding.
Integrate hardware abstraction layers, operating system interfaces, device drivers for sensors, GPU accelerators, CUDA, storage, and communication interfaces.
Ensure efficient resource utilization, robustness, and predictable runtime behavior. Drive performance optimization across CPU / GPU, memory, latency, and power.
Define and execute comprehensive verification and validation activities, ensuring reliable operation under nominal and degraded conditions.
Support System in the loop test and Field trials. Receive feedback on software performance, implement improvements, and release improvements through quick CI/CD cycles.
Release clear documentation stack to release software to business units.
Skill Sets
--------------
###
Programming Languages
Python:
AI model integration and inference scripting
Data preprocessing and postprocessing pipelines
Automation, tooling, and test harness development
C++:
High-performance and real-time software development
Middleware, platform services, and driver-level implementation
Integration with hardware accelerators and operating system services
###
Additional Software Skills
Embedded Linux development and debugging
Software architecture and interface design
Multithreading, concurrency, and memory management
Build systems and toolchains (e.g., CMake, cross-compilation)
Software integration and system debugging on resource-constrained platforms
Performance profiling and optimization
Familiarity with AI inference frameworks and runtimes is an advantage
Preferred Attributes
------------------------
Strong systems engineering mindset and attention to software quality.
Ability to bridge AI model development teams and embedded software teams.
Comfortable working across application, middleware, and low-level software layers.
* Effective technical communication and documentation skills.
Beware of fraud agents! do not pay money to get a job
MNCJobz.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.