Select your current position
Pick a role and level — we'll show the growth path, skills and gap analysis.
Development path
Junior
0-2 years
Responsibility: Completing tasks under the guidance of senior colleagues. Learning the codebase, standards, and team processes. Writing code to spec, fixing simple bugs, writing tests.
Key skills:
Middle
2-5 years
Responsibility: Independently developing features from decomposition to deployment. Participating in code review. Optimizing performance. Mentoring junior developers. Taking part in architecture discussions.
Key skills:
Senior
5-8 years
Responsibility: Designing the architecture of components and services. Solving complex technical problems. Managing technical debt. Code review as a quality gatekeeper. Mentoring middle developers. Choosing technologies for new tasks.
Key skills:
Lead / Staff
7-12 years
Responsibility: Technical leadership of a team or area. Designing system architecture. Coordinating with other teams. Establishing standards and best practices. Participating in hiring. Planning the technical roadmap.
Key skills:
Principal
10+ years
Responsibility: Technical strategy at the company or domain level. Cross-organizational influence. Solving systemic business problems through technology. Mentoring lead engineers. Publicly representing the company.
Key skills:
Gap analysis: skills to develop
To reach the next level you'll need to develop:
Builds asset import pipeline in Unity. Optimizes models: LOD Groups, Mesh Compression, Texture streaming. Works with Addressables for dynamic XR asset loading. Creates AssetPostprocessor scripts.
Fluently applies linear algebra in Unity XR: dot/cross product for spatial queries, Matrix4x4 for transformations, Quaternion.Slerp for smooth rotations. Implements ray-plane intersection for AR placement.
Develops visionOS applications through Unity PolySpatial: volumes, immersive spaces. Configures shaders for RealityKit rendering compatibility. Adapts VR content for mixed reality on Vision Pro.
Develops interactive AR content in Unity with physics and animations. Optimizes 3D assets for mobile AR (LOD, texture atlasing, mesh simplification). Uses Shader Graph for AR-specific shaders.
Uses advanced ARKit/ARCore features through Unity: image tracking (ARTrackedImageManager), face tracking, environment probes. Configures AR Occlusion Manager for realistic occlusion. Implements persistent AR anchors.
Implements IK for VR avatars via Animation Rigging package. Creates procedural animation for VR hands. Optimizes skeletal animation for mobile VR. Works with Avatar Masks.
Implements multiplayer XR in Unity via Photon PUN/Fusion or Normcore. Synchronizes VR interactions: grab, physics, voice chat. Optimizes network bandwidth for mobile VR.
Profiles XR applications: CPU/GPU via Unity Profiler, Memory Profiler. Optimizes: batching, LOD, occlusion culling, texture compression. Uses OVR Metrics Tool for Quest.
Optimizes VR rendering in Unity: draw call batching, GPU Instancing, occlusion culling. Develops XR-specific shaders in Shader Graph. Configures foveated rendering. Optimizes overdraw.
Optimizes end-to-end latency: render pipeline, input processing, physics. Uses Application SpaceWarp on Quest. Minimizes input-to-render delay.
Implements advanced tracking in Unity: body tracking (ARHumanBodyManager), face mesh (ARFaceManager), environment mapping. Works with persistent world map for saving AR sessions. Configures scene reconstruction.
Optimizes Unity application for Quest: Fixed Foveated Rendering, Application SpaceWarp. Uses Meta Interaction SDK for hand tracking and Passthrough. Profiles via OVR Metrics Tool and Meta Quest Developer Hub.
Configures OpenXR extensions in Unity: hand tracking, eye tracking, composition layers. Works with OpenXR Interaction Profiles for various controllers. Debugs OpenXR runtime issues through Unity OpenXR Features.
Implements spatial computing in Unity: mesh reconstruction (ARMeshManager), spatial mapping, occlusion rendering. Works with cloud anchors for shared AR experiences. Uses Scene Understanding for virtual-real integration.
Designs Unity XR project architecture: Addressables, URP rendering, ScriptableObject-based architecture. Uses Unity Profiler for XR optimization. Develops custom Editor tools for XR.
Develops custom controller bindings through Input Action Assets. Implements finger tracking via Meta Hand Tracking SDK in Unity. Configures haptic patterns through XRController.SendHapticImpulse. Supports multiple controller types.
Designs complex VR interactions: physics-based grab with XR Interaction Toolkit, two-handed interactions, snap zones. Implements haptic feedback through XR Controller. Creates custom XRBaseInteractable.
Designs complex locomotion systems: continuous move with comfort vignette, climbing (ClimbProvider), flying. Implements dynamic comfort settings. Configures roomscale with Guardian/Boundary.
Minimizes GC in VR: object pooling, NativeArray, struct-based data. Profiles through Memory Profiler. Manages Addressables memory for XR assets.