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: Выполнение задач под руководством старших коллег. Изучение кодовой базы, стандартов и процессов команды. Написание кода по спецификациям, исправление простых багов, написание тестов.
Key skills:
Middle
2-5 years
Responsibility: Самостоятельная разработка фич от декомпозиции до деплоя. Участие в code review. Оптимизация производительности. Менторинг junior-разработчиков. Участие в архитектурных обсуждениях.
Key skills:
Senior
5-8 years
Responsibility: Проектирование архитектуры компонентов и сервисов. Решение сложных технических проблем. Ведение технического долга. Code review как gatekeeper качества. Менторинг middle-разработчиков. Выбор технологий для новых задач.
Key skills:
Lead / Staff
7-12 years
Responsibility: Техническое лидерство команды или направления. Проектирование системной архитектуры. Координация с другими командами. Формирование стандартов и best practices. Участие в найме. Планирование технического roadmap.
Key skills:
Principal
10+ years
Responsibility: Техническая стратегия на уровне компании или домена. Кросс-организационное влияние. Решение системных проблем бизнеса через технологии. Менторинг lead-инженеров. Публичное представление компании.
Key skills:
Gap analysis: skills to develop
To reach the next level you'll need to develop:
Builds the 3D asset import pipeline for the project. Optimizes models: polygon reduction, LOD, atlas textures. Works with PBR materials and shaders. Configures lightmapping and baking for AR/VR.
Fluently applies linear algebra in AR/VR development: dot/cross product, projection matrices, rotation interpolation (slerp). Solves spatial geometry problems: ray-casting, intersection tests. Understands the difference between Euler angles and quaternions.
Develops visionOS applications using RealityKit and SwiftUI. Implements spatial windows and volumes. Uses ARKit on visionOS for hand/eye tracking. Works with PolySpatial for Unity projects on visionOS.
Develops interactive AR content with animations and interactions. Optimizes 3D models for AR (polycount, textures, LOD). Uses Reality Composer Pro and Scene Understanding. Creates AR filters and effects for social platforms.
Confidently works with ARKit and ARCore for creating AR applications. Uses image/object tracking, plane detection, and light estimation. Implements persisted anchors and AR collaboration sessions. Configures ARFoundation for cross-platform AR development.
Conducts code reviews of XR code: architecture, performance, best practices. Leaves constructive comments explaining XR-specific decisions.
Profiles CPU for VR/AR applications: deep profiling, marker-based profiling. Analyzes call stacks to find bottlenecks. Optimizes Update/FixedUpdate loops.
Implements IK systems for VR avatars (hand IK, body IK). Configures procedural animation for VR. Works with Animator Override Controllers for variety. Optimizes animations within the VR frame budget.
Implements spatial audio for VR/AR using FMOD / Wwise. Configures HRTF for realistic 3D sound. Works with ambisonics format. Optimizes audio consumption for mobile VR.
Profiles and optimizes VR/AR applications: CPU/GPU bottlenecks, memory. Uses RenderDoc for GPU analysis. Optimizes for mobile VR (Quest): LOD, occlusion culling, baked lighting. Monitors thermal throttling.
Configures physics for VR/AR: precise collisions, Physics.OverlapSphere, raycasting. Optimizes physics computations (broad/narrow phase). Uses joints and constraints for VR interactions.
Optimizes rendering for VR: single-pass instanced, foveated rendering, fixed foveated. Works with URP/HDRP for VR. Develops shaders for AR (occlusion, shadow receiver). Optimizes draw calls and overdraw.
Designs VR/AR interfaces considering ergonomics and comfort. Implements diegetic UI, head-locked and body-relative elements. Conducts usability testing of VR interfaces. Considers accessibility.
Uses Git strategies for XR projects: feature branches, rebasing, cherry-pick. Configures Git LFS for binary XR assets. Optimizes .gitignore for Unity/Unreal.
Optimizes end-to-end latency of VR/AR applications. Uses async time warp / reprojection. Minimizes input-to-render latency. Configures predictive tracking.
Implements world tracking with persistent anchors for stable AR positioning. Works with body tracking and hand tracking via ARKit/ARCore. Configures SLAM parameters for optimal tracking under various lighting conditions.
Performs detailed memory profiling of XR applications. Analyzes memory snapshots to find leaks. Optimizes texture and mesh memory for mobile VR.
Optimizes applications for mobile VR Quest (draw calls, overdraw, shader complexity). Uses Meta Interaction SDK for advanced interactions. Implements the Passthrough API for mixed reality. Works with Meta App Lab for distribution.
Works with the OpenXR API directly for cross-platform XR development. Uses OpenXR extensions (hand tracking, eye tracking). Configures action-based input through the OpenXR Input System. Debugs OpenXR runtime issues.
Implements spatial computing for AR/VR: mesh reconstruction, spatial mapping, occlusion. Works with persistent spatial anchors and cloud anchors. Uses scene understanding for integrating virtual content with the real world.
Writes tests for XR systems: interaction logic, state machines, event handlers. Uses mocking to isolate VR dependencies. Configures test coverage for the XR project.
Architects Unity project structure (MVC/ECS approaches). Works with Addressables for asset management. Configures URP/HDRP for rendering. Uses Unity Profiler for optimization. Develops Editor tools.
Develops on Unreal Engine using C++ and Blueprints. Works with Nanite and Lumen for visual quality. Configures VR rendering in UE5. Uses the Enhanced Input System.
Develops custom controller mappings for various VR devices. Implements advanced hand tracking with gesture recognition. Configures haptic feedback for controllers and hand tracking. Integrates Ultraleap for high-precision hand tracking.
Designs complex VR interfaces with haptic feedback. Implements physics-based interactions (kinematic and dynamic object manipulation). Creates custom interactors and interactables. Works with hand tracking for natural interaction.
Designs locomotion systems considering user comfort. Implements smooth locomotion with vignetting and other comfort mechanics. Configures roomscale tracking and guardian/boundary systems. Creates custom locomotion systems (climbing, swimming).
Applies optimal algorithms for XR tasks: spatial hashing, octree for collision detection. Optimizes algorithms for time and memory in real-time XR. Uses graph algorithms for navigation.
Architects asynchronous XR systems: scene loading, asset streaming, networking. Uses UniTask for performant asynchrony in Unity. Manages cancellation for VR transitions.
Conducts code reviews for XR code. Configures static analysis for C#/C++. Writes self-documenting code with clear naming. Refactors legacy XR code.
Works with multithreading for XR: Job System (Unity), TaskGraph (Unreal). Implements offloading heavy computations to worker threads. Understands thread safety and race conditions in the XR context.
Applies design patterns for XR: State Machine for VR states, Command for undo/redo, Object Pool for VR objects. Selects appropriate patterns for specific XR tasks.
Architects OOP systems for XR. Uses interface-based design for cross-platform compatibility. Applies composition over inheritance for XR components.
Applies specialized data structures for XR: spatial hash maps, priority queues for event systems. Selects optimal data structures for specific XR tasks.
Minimizes GC pressure in VR: object pooling, struct vs class, NativeArray. Profiles memory via Unity Memory Profiler. Manages AR/VR object lifecycle to prevent leaks.