backGo to search

Lead Software Engineer - (C++ with Graphics)

Office in Hyderabad, Bangalore, Pune, Gurgaon
bullets
C++
& others
bullets
hot

We are seeking a highly skilled and experienced Lead Software Engineer specializing in C++ and Graphics to join our team.

This role will focus on developing and optimizing 3D visualization solutions and include responsibilities spanning back-end computation, rendering, and front-end client-side integration. You will collaborate with a cross-functional team to deliver high-performance, scalable, and secure software systems tailored to complex visualization needs.

The role demands technical excellence, creativity, and a passion for solving complex visualization challenges, offering an opportunity to lead impactful projects in 3D software development.

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 to maintain and develop 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
  • 8-15 years of experience in software development
  • 5+ years of experience in C++ architecture and development, encompassing test methods, performance, scalability, usability, and security
  • At least 1 year of relevant leadership experience
  • Development experience on Linux, with familiarity with CMake and key tools/libraries enabling development, testing, and debugging
  • Deep knowledge of computer graphics, with experience in OpenGL, OpenInventor, nVidia NDX, Unity, or similar visualization frameworks
  • Strong background in developing, debugging, and optimizing C++ software for a 3D graphics engine
  • Competency in handling large-scale, hierarchical data formats such as HDF, with a focus on IO-bound performance and scaling
  • Skills in utilizing distributed computing, object-oriented programming, scalable parallel computing, C++, and graphics tools/frameworks
  • Familiarity with web technologies, including web sockets and streaming compressed video (H.264) between rendering servers and distributed web clients
  • Understanding of security testing tools such as CodeQL, SonarQube, Dependabot, Mend, or Inviciti
  • Proficiency in working in both Linux and Windows environments
  • Experience with Slurm and Singularity Container for distributed computing tasks