
Role: C++ Application DeveloperDuration: 12+ Months Contract Location: Fully Remote Client: SAP AmericaID: SAPXJP00063825
Job Description: EXPECTATIONS AND TASKS: A developer in the SCAL team is expected to: - Develop reliable and performant code in C++ for a critical Supply Chain algorithm library - Work in the SCAL team with other developers following a SCRUM methodology and standard Software Development practices (BDD, TDD) - Work with PO and SCRUM team on defining and estimating the backlog of the team - Work with Operation Research Scientists on prototyping Supply Chain algorithms and later doing the Engineering to productize them - Be able to read mathematical formulations provided by the Operation Research Scientists and convert that into a Copyright/Trademark software design and working code - Work with other members of the SCAL Scrum team on collaboratively doing high level designs - Write technical design documentation to facilitate technical discussions and collaboratively designs sessions as well as to support ramp up of other teammates as well as future maintenance - Provide and receive feedback from other members of the SCAL team during design reviews and code reviews - Work with other SCRUM teams on the adoption of new Supply Chain Algorithms as well as changes to existing Algorithms on the application layer - Focus on Quality of the numbers provided by the implemented Algorithms as well as the Quality and maintainability of the SCAL code - Improve the mathematical Algorithms implementation so they are numerically stable, CPU and Memory efficient, performant and scalable, taking advantage of multiple CPUs and distributed computing - Focus on automation of the development process including quality validation - Show initiative on identifying improvement areas - Drive topics to resolution in a high level of quality, speed, reliability and efficiency - Participate in the SCRUM process and provide feedback in retrospectives to drive improvement on the team development process - Work closely with other SCAL developers in the design, implementation and testing of the library - Write unit tests for developed code - Write automated tests for integration testing - Share acquired knowledge with other members of the team through impromptu presentations or planning workshops - Be detailed oriented and meticulous in their coding and documentation - Support Customers and other IBP teams when incidents are reported and contribute to their prompt resolution - Do detailed root cause analysis of incidents reported and defining resolutions to avoid the issue in the future EDUCATION AND QUALIFICATIONS / SKILLS AND COMPETENCIES Required: - Bachelor’s degree in computer science or related Engineering field - Strong experience designing and developing in C++ productive systems - Solid understanding of Object-Oriented Programming and its fundamental principles - Fluency in multi-threading concepts and distributed computing - Strong experience writing C++ Unit Test and designing for code testability - Understanding of TDD and BDD - Good verbal communication skills to present designs and code changes to the team - Good written communication skills and ability to write technical design documents to facilitate design discussions and peer reviews with the team. - Experience working in a SCRUM team and working well with other developers and Product Owners - Experience working on Linux - Experience compiling and debugging C++ programs with tools like gcc, cmake, gdb, etc - Experience using development tools like git, gerrit, - Experience debugging, diagnosing, and fixing issues in C++ programs - Process and detailed oriented - Analytical Thinking and Problem-Solving abilities expressing solutions in code - Be methodical and meticulous on her designs and coding as well as have great attention to details - Ability to read mathematical papers and translate them into working code - Self-motivated working attitude - Ability and desire to learn new technologies and skills, specifically SAP related technology like HANA and ABAP - Ability to communicate well within a diverse team and with other teams around the globe - Flexibility and ability to adapt quickly to changes The following skills will be considered a plus: - Experience managing a personal Linux system - Experience using a C++ Profiling tool like valgrind - Knowledge of asan (address sanitizer), ubsan (undefined behavior sanitiser), coverity or similar tools for C++ code analysis - Python scripting - Understanding of Supply Chain and OR concepts - Additional Mathematics or Statistics background - Knowledge on Machine Learning and AI algorithms and using ML/AI libraries in C++ WORK EXPERIENCE - 5+ years of working experience designing and developing Enterprise Applications in C++
Key Skills
Related Jobs

Security Engineer Ubuntu

Senior Software Engineer

Test Automation Engineer

Senior Android Engineer

Lead Software Engineer

Senior Frontend Engineer

Data Engineer

Production Engineer

Senior Back End Developer

Senior Frontend Engineer Platform

IT Engineer

Senior Software Engineer Cloud Images

Senior Product Designer

Hands On Engineering Manager

Full Stack Software Engineer

Senior Front End Developer

Customer Success Manager

Senior Software Engineer .NET Core

Front End TypeScript Developer
