Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+11 more
Job description
Develop and engineer a sophisticated, multi-platform 3D rendering software program for interior design applications, integrating real-time and photorealistic rendering pipelines, material processing, and cross-engine synchronization to deliver accurate, high-performance visualizations across multiple platforms. Design and optimize a hyper-realistic rendering software engine involving advanced texture workflows, ensuring consistent integration across different materials and rendering conditions (e.g., metallic edges) applying software engineering practices and methodologies. Implement custom GLSL/HLSL shaders for hyper realistic materials as part of a WebGL/OpenGL real time rendering pipeline. Engineer and maintain integrations with complementary software systems such as AutoCAD and 3ds Max SDKs to enable accurate CAD/BIM model ingestion into the company’s visualization software. Profile and optimize CPU/GPU frame time, identifying bottlenecks such as draw-call overhead, overdraw, state changes, and shader cost; apply batching/instancing and render-queue optimizations where appropriate. Leverage and optimize GPU resources for real-time rendering, including texture/mipmap strategies, memory budgeting (VRAM awareness), and asset optimization to maintain stable performance of our software program on target hardware. Architect and enhance next-generation 3D rendering pipelines using physically-based rendering (PBR) techniques and, where applicable, real-time ray tracing. Integrate and develop high-performance 3D rendering software solutions using Babylon.js, JOGL/OpenGL and JavaFX 3D. Enhance legacy Java-based 3D graphics software programs ensuring top-tier performance expected from modern graphics software. Implement concurrency and distributed rendering components using Java RMI and ObjectDB to support scalable workloads. Collaborate with cross-functional engineering teams and clients, effectively communicating technical solutions and ensuring alignment with product goals.
Requirements
ALL REQUIREMENTS: Bachelor’s degree or foreign equivalent in Computer Science, Engineering, Engineering Technology or related field. 4 years of Java experience in commercial software development. 4 years of experience with Java multi-threading and concurrency. 3 years of experience developing and optimizing 3D rendering software. 3 years of experience with graphics APIs or frameworks such as Babylon.js, JOGL, OpenGL, WebGL. 3 years of experience with GPU rendering concepts, including pipeline stages, depth/blending, draw calls, overdraw, and GPU resource usage. 2 years of experience with GLSL, HLSL, or equivalent shader programming. 2 years of experience with PBR materials and rendering workflows. 2 years of experience with rendering performance profiling and debugging. 1 year of experience with Java RMI and ObjectDB, or equivalent technologies.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Apply on jobs.mitalent.orgGood distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
How Much Does a Software Engineer Make? Realistic Software Engineering Salaries
What Jobs Can You Get with a Software Engineering Degree?
Where to Find Entry-Level Software Engineering Jobs
Best Countries for Software Engineers