Job Description
Programmer Analyst
Full Time
Company Website:
www.srinsofttech.com; https://www.srinsoft.engineering/;
https://www.heliosz.ai
We are looking for a Software Engineer who possesses 4–6 years of experience in C# along with the following skill set.
Core Unity 3D
• Unity Editor proficiency: scenes, prefabs, serialization, asset workflow, project structure
• C# scripting: MonoBehaviours, ScriptableObjects, events/delegates, coroutines/async, SOLID basics
• Runtime systems: update loops, lifecycle, instantiation, object pooling, state management
• 3D fundamentals: transforms, coordinate spaces, quaternions, cameras, lighting, materials
• Physics basics (if relevant): colliders, raycasts, layers/masks, triggers vs collisions
UI Skillset (Unity UI / UI Toolkit)
• UGUI (Canvas) or UI Toolkit: building screens, panels, HUDs, menus
• Layout & responsiveness: anchors, pivots, layout groups, scaling for multiple resolutions/aspect ratios, safe areas
• Event handling: EventSystem, pointer/touch, navigation (keyboard/controller), Input System integration
Geometry / Mesh / Math (for “geometry” work)
• Math foundations: vectors, dot/cross products, planes, barycentric coordinates, interpolation, projections
• Spatial reasoning: coordinate transforms between local/world/view space; bounding volumes (AABB/OBB/spheres)
• Mesh fundamentals: vertices/indices, normals/tangents/UVs, mesh topology, submeshes
• Geometry algorithms (nice-to-have depending on task): ray/triangle intersection, closest point queries, mesh simplification basics
• Performance awareness: mesh batching, vertex count, overdraw, LODs, culling
Rendering (often needed alongside geometry/UI)
• Shaders (bonus): Shader Graph or HLSL basics; UI shaders/masking, SDF text familiarity helpful
• Optimization: profiling (Profiler/Frame Debugger), draw calls, GC allocations, GPU/CPU bottlenecks
Engineering Practices (expected in production)
• Version control: Git (branches, PRs, resolving merge conflicts)
• Debugging & profiling: logs, breakpoints, deep profiling, memory profiling
• Build & deployment: platform settings, addressables/resources, asset import settings
• Code quality: clean architecture in Unity context, testing mindset (editmode/playmode tests are a plus)
“C++ bonus”
• Interop: P/Invoke, marshalling, memory ownership, calling conventions