
Overview
EPAM is a leading global provider of digital platform engineering and development services. We are committed to having a positive impact on our customers, our employees, and our communities. We embrace a dynamic and inclusive culture. Here you will collaborate with multi-national teams, contribute to a myriad of innovative projects that deliver the most creative and cutting-edge solutions, and have an opportunity to continuously learn and grow. No matter where you are located, you will join a dedicated, creative, and diverse community that will help you discover your fullest potential.
We are seeking a talented and experienced Senior Software Engineer with expertise in C++ and computer graphics to join our innovative team.
In this role, you will work on the design, development, and optimization of advanced 3D visualization and rendering technologies, pushing the boundaries of performance, scalability, and usability. If you thrive in a challenging and collaborative environment, we would love to hear from you!
Responsibilities
- Perform complex analysis, design, development, testing, and debugging of 3D visualization web applications
- Design, develop, and test full 'vertical' visualization features - back-end computation and rendering, data management and storage, and front-end client-side streaming
- Use expertise and tools, including distributed computing, object-oriented programming, scalable parallel computing, visualization, C++, graphics, and WebGL
- Understand, maintain, and extend C++ code that transforms a Finite Element Mesh into a read-optimized polygon rendering mesh
- Use 3rd party commercial APIs to compose a compressed H.264 video stream from the server-side render format
- Troubleshoot, debug, and test C++ engine code, C# Web API service code, and client-side JavaScript web pages that comprise the vertical visualization stack
- Develop a test strategy for validating the functionality of graphics rendering code
- Fix security vulnerabilities within the prescribed timelines
- Work as part of a team maintaining and developing new enhancements
- Perform periodic upgrades of the technology stack
- Perform technical design and reviews within the team
- Participate in various Scrum ceremonies and meetings
Requirements
- 5-9 years of experience in software development
- 4+ years of experience with C++ software development and architecture, including test methods, performance, scalability, usability, and security
- Development experience on the Linux operating system and familiarity with tools like CMake
- Deep knowledge of computer graphics with experience using OpenGL, OpenInventor, nVidia NDX, Unity, or similar visualization frameworks
- Background in distributed computing, scalable parallel computing, and object-oriented programming
- Proficiency in developing, debugging, and optimizing C++ software for 3D graphics engines
- Expertise in large-scale hierarchical data formats such as HDF, with a focus on IO-bound performance and scaling concerns
- Familiarity with Slurm and Singularity Container for distributed computing
- Experience with web sockets and streaming compressed video (H.264) between a rendering server and distributed web clients
- Understanding of security testing tools, including CodeQL, SonarQube, Dependabot, Mend, and Inviciti
- Flexibility to work in both Linux and Windows environments
- Ability to independently solve complex problems while collaborating as a team player
We offer
- Opportunity to work on technical challenges that may impact across geographies
- Vast opportunities for self-development: online university, knowledge sharing opportunities globally, learning opportunities through external certifications
- Opportunity to share your ideas on international platforms
- Sponsored Tech Talks & Hackathons
- Unlimited access to LinkedIn learning solutions
- Possibility to relocate to any EPAM office for short and long-term projects
- Focused individual development
- Benefit package:
- Health benefits
- Retirement benefits
- Paid time off
- Flexible benefits
- Forums to explore beyond work passion (CSR, photography, painting, sports, etc.)