Software Developer
Job Summary
We are seeking talented software developers to create immersive training solutions using game engines like Unreal Engine and Unity. The role involves hardware-software integration, physics simulation, and Extended Reality development. You will collaborate with cross-disciplinary teams to deliver end-to-end simulation systems.
Responsibilities
- Design and develop simulation software
- Integrate hardware modules via communication protocols
- Develop and debug firmware for custom hardware
- Collaborate with cross-disciplinary teams
Required Skills
- C++/C# proficiency
- Unreal Engine or Unity experience
- Hardware interfacing & firmware development
- Extended Reality (AR/VR/MR) knowledge
- Agile/DevOps practices
Job Details
Responsibilities:
- Design, develop, and maintain simulation software using Unreal Engine/Unity/etc.
- Build and integrate software frameworks with hardware modules using standard communication protocols (e.g., UART, SPI, I2C, CAN).
- Develop and debug firmware for custom hardware (e.g., microcontrollers, sensors, joysticks, motion platforms).
- Create middleware or interface layers that connect physical systems with game engines in real-time.
- Design, implement, and test software training solutions to meet customer requirements.
- Collaborate with cross-disciplinary teams (mechanical, electrical, training content) for end-to-end system delivery.
- Communicate and coordinate with team members as well as other teams.
- Perform bug fixing, code reviews, optimization, & documentation as part of a mature development workflow.
- Improve the software products, framework, and processes.
- Maintain clean, readable, and modular codebase that follows coding conventions.
- Apply modern software engineering, DevOps, and Agile practices.
- Perform documentation whenever required.
- Stay current on technology trends in game development, firmware, and hardware integration.
Requirements:
- Bachelor’s degree in Computer Science, Game Development, or a related field, or equivalent experience.
- At least 2 years of experience as a software developer, software engineer, or game developer.
- Strong knowledge of serial communication protocols, microcontroller programming, & hardware interfacing.
- Proficiency in C++ or C#.
- Proficiency in Object Oriented Programming (OOP).
- Proficiency in game development with Unreal Engine or Unity.
- Proficiency with version control systems such as Git.
- Good problem-solving, debugging, and systems-thinking capabilities.
- Proficiency with Object Oriented Analysis and Design and modern software engineering practices.
- Familiarity with DBMS such as MySQL/MariaDB.
- Proficiency in Extended Reality (AR, VR, MR).
- Proficiency in mobile application development.
- Strong willingness to learn and fast self-learner.
- Self-driven and independent.
- Good team player with strong English communication skills.
- Strong interest in gaming, simulation, and Extended Reality.
- Proficiency in full stack development.
- Experience in DevOps.
- Experience with Agile and Scrum methodologies.
- Familiarity with 3D mathematics such as vector mathematics (Optional).
- Proficiency in Human-Computer Interaction (Optional).
- Proficiency in multiplayer game networking (Good to have).
- Familiarity with classical physics and engineering concepts (Good to have).