Job Description
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.)
💡 Quick Summary
Seeking a career-building opportunity? The Senior Software Engineer - (C++ with Graphics) position is now open for candidates interested in the Software Developer Jobs sector. This role in Bangalore offers a professional environment and growth potential.
Requirement Snapshot: Candidates should possess basic communication skills, a proactive attitude, and the ability to work in a team. Experience in Software Developer Jobs is a plus.
