24 Sep
|
Tao Digital
|
Bengaluru
24 Sep
Tao Digital
Bengaluru
About the Role
We are looking for a software engineer to join the 3D tools development team to work on a browser-based 3D map editing application used to view and edit geospatial features including road networks, buildings, lidar point clouds, and imagery. You will work on a rich, interactive application that combines real-time 3D rendering, complex data modeling, and precision editing tools.
Responsibilities
Develop and maintain features across the full application stack — from data loading and editing operations to 3D rendering and UI
Implement undoable editing operations for geospatial features with real-time validation
Build interactive tools for editing map features in a 3D viewport
Optimize rendering performance for large-scale geospatial datasets
Write unit tests and maintain code quality through code review
Collaborate with data engineers, cartographers, and product stakeholders
Required Skills
Experience : 2+years
JavaScript & Web Platform
Strong proficiency in modern JavaScript (ES modules, classes, iterators, async patterns)
Experience with browser APIs (DOM, Canvas, Web Workers, WebGL)
Familiarity with build tools such as Vite or Webpack
3D Graphics
Experience with Three.js or similar WebGL frameworks
Understanding of scene graphs, cameras, projections, and coordinate systems
Comfort with matrix/vector math and spatial transformations
Software Design
Experience with, and enthusiasm for designing and maintaining a moderately large JavaScript codebase without a framework (no React/Angular/Vue)
Familiarity with patterns such as pub/sub, undo/redo, and MVC
Ability to write clean, well-structured code with transparent module boundaries
Testing & Quality
Experience writing unit tests (we use Vitest)
Familiarity with type checking via JSDoc annotations and TypeScript tooling (checkJs)
Preferred Skills
Geospatial knowledge — coordinate reference systems (WGS84, Mercator), map projections, geographic data formats
Computational geometry — curves (NURBS, Bezier), triangulation, spatial indexing
C++/WASM — we use Emscripten to compile performance-critical C++ code to WebAssembly
Git — comfortable with branching workflows, rebasing, and merge conflict resolution
UI development — experience building custom UI components (we use Bootstrap 5, no component framework)
AI – comfort using AI coding assistants (Claude Code, GitHub Copilot, Kiro, etc.)
Experience with -- web security, authentication, package publishing, privacy, AWS / Cloudflare, performance optimization and browser based debugging
📌 3D editor (Bengaluru)
🏢 Tao Digital
📍 Bengaluru