Join the in-person Gurugram team building ARPM's visual programming language and next-generation development environment. You will own slices of a live C# / .NET product spanning a headless graph engine, a cross-platform editor, backend and session transport, plugins and host interop, and AI-assisted authoring - design, implement, test, and ship.
What you'll do
- Extend the execution model: components, ports, wires, events, validation, and error propagation.
- Improve the editor: canvas behaviour, responsiveness, and the line between local interaction and server sync.
- Keep a strict split between core computation, transport, and UI - the engine should run headless.
- Ship plugins and host-side runtimes so one graph can target Rhino, Revit, Unity, and similar applications.
- Write tests that exercise runtime behaviour - event ordering, cross-thread events, and data-plus-event graphs - not only isolated functions.
- Help design how agents propose graph edits, and how those edits are judged against explicit evaluations.
- Work across ASP.NET, gRPC, and related transports between the editor, compute workers, and host runtimes.
- Read existing architecture before adding surface area, then own the slice through to ship.
What we're looking for
- Skilled fluency in C# and .NET. This is a C# product - this is not a pick-up-C#-on-the-job role.
- Comfort with systems software, not only CRUD apps: graph data structures, execution order, concurrency, serialisation, plugin loading,
and clear module boundaries.
- Ability to work in a multi-process / client-server product (editor, backend, compute hosts) and decide what belongs on which side of the wire.
- Solid git hygiene, willingness to write unit and behavioural tests, and the habit of reading before rewriting.
- Clear written and spoken English, and the ability to discuss design trade-offs in person.
- Comfort working full-time on-site in Gurugram. This is not a remote or hybrid-by-default role; relocate to NCR if you are not already here.
- Demonstrated work. A computer-science degree is not required.
- Willingness to show skill through an open-ended assignment or a research/prototype proposal you suggest - we do not hire on timed algorithm drills.
Nice to have
- AEC technology: Grasshopper, RhinoCommon, Revit API, Dynamo, ShapeDiver, Speckle, or shipping plugins and configurators.
- AI agent loops: tool-calling agents, MCP servers or clients, eval harnesses, or spec-driven agentic products - not only using a chatbot.
- IDE / language tooling: editors, language servers, compilers, REPLs, debuggers, node canvases, or developer-tool UX.
- Visual / dataflow programming: node-wire environments, event-driven runtimes, or comparable graph UIs.
- Avalonia, WPF, canvas/Skia, WebAssembly, gRPC, Protocol Buffers, or ASP.NET Core.
- C , Unity, Python for embedding, or cooperative editing (CRDT or OT).
📌 Software Engineer (Gurugram)
🏢 ARPM
📍 Gurugram