Purpose :
As a Senior Application Software Engineer, you will be responsible for designing, developing, and maintaining the server-side logic of our software systems. The ideal candidate will have expertise in C++ and Python, and experience with Rust is a plus.
Required Experience :
– Design, develop, and maintain server-side software systems and APIs
– Write efficient, scalable, and maintainable code using C++, Python, and Rust (Optional)
– Extensive design and development skills in C++ 11. Knowing C++ 14/C++17 will be added advantage
– Thorough knowledge of the standard library, STL containers, and algorithms
– Solid understanding of complexity theory (big-O) of algorithms in general, and how the C++ containers fit in
– Understanding of performance tuning (w.r.t time/space) and how to do performance analysis and optimization
– Experience in Multi-threaded software development
– Excellent knowledge of Synchronization objects (Mutex, Semaphore, condition variables etc) including their appropriate use cases and distinctions
– Ability to pick up new software languages, interfaces, and software tools
– Collaborate with cross-functional teams to understand business requirements and develop technical solutions
– Optimize performance and scalability of backend systems
– Troubleshoot and debug production issues
– Keep up to date with industry trends and emerging technologies
– Ability to extrapolate, develop and refine detailed tasks given high-level goals
– Experience with developing code in Linux
– Knowledge of SQL and NoSQL databases
– Object-oriented software design experience
– Experience writing unit/integration tests and test procedures
– Experience with issue tracking software, Jira experience a plus
– Experience with revision control software, GitHub experience a plus
– Experience with Rust a plus
– Experience with QT a plus
– OpenCV, CUDA, PCL, and experience with Image processing / Computer Vision is a plus
– Experience with one or more of docker, Podman, and Kubernetes is a plus
– Experience with middleware such as MQTT, DDS, ROS, ROS2 is a plus
– Knowledge of containerization and container orchestration using tools like Docker and Kubernetes
Qualifications :
– Bachelor’s or master’s degree in Computer Science, Software Engineering, or a related field
– Software development experience in C++ with 5+ years of experience
– Proven experience designing and developing scalable and high-performance backend systems
– Experience with cloud computing platforms such as AWS, Google Cloud, or Azure a plus
– Experience with writing requirements, design documentation, and test cases
– Ability to read, understand, debug, and modify existing product code Language Skills
The employee must have :
– Excellent English communication skills, both written and verbal.
– The ability to read and interpret technical documentation, process standards, and safety standards written in English.
– The ability to write reports, business correspondence, and procedure manuals written in English.
– The ability to effectively present information in English and respond to questions in English.
Apply now