Engineering Manager - Raw Rendering & Retouching
Aftershoot
Software Engineering, Other Engineering
New Delhi, Delhi, India
At Aftershoot, we’re building a global community of photographers who spend less time behind their screens and more time behind the lens. Every feature we create, every update we ship, is designed to make post-processing easier, faster, and smarter for photographers around the world.
From culling to editing to retouching. Our AI tools do all the heavy lifting, so photographers can focus on what they do best: capturing moments, telling stories, and creating magic.
We’re a fast-growing, passionate team backed over 100K+ active users globally. Double-digit ARR in less than 4 years, amazing investors and team who truly believe in our mission.
Our mission is clear: Become the default companion for every photographer in the world.
If you care deeply about building meaningful products, working with curious and driven teammates, and being part of a team that genuinely loves what they do, we’d love to meet you.
Let’s create the future of AI in photography, together.
About the Role
We're looking for an Engineering Manager to lead the Raw Rendering & Retouching team - the engine room of our image platform. This is not a purely strategic role. You will be expected to remain technically sharp, roll up your sleeves when the team needs it, and navigate complex, first-principles engineering problems alongside your engineers.
The team works on some of the hardest problems in the product: offline image rendering pipelines, GPU-accelerated processing, local ML model inference, WASM/NAPI-based rendering, and Electron application architecture optimised for raw performance. You'll manage a team of 8-10 engineers across both greenfield product development and legacy tech-debt remediation - simultaneously.
Core Responsibilities
Lead and grow an 8-10 person engineering team across rendering, retouching, and platform reliability.
Be the technical and organisational anchor for a team dealing with significant ambiguity and evolving requirements.
Drive architecture and design decisions for offline-first, GPU-heavy, performance-critical systems built in Rust, React, and Electron.
Manage delivery of new product features in parallel with systematic resolution of accumulated technical debt.
Partner with product and design to translate open-ended problem statements into executable engineering roadmaps.
Build team practices that allow experimentation and stability to coexist - sprint rhythms, incident response, code review standards.
Hire, mentor, and retain strong engineers; grow ICs into senior contributors.
Own engineering quality - performance budgets, reliability targets, and observability in a local-compute environment.
Technical Landscape
You don't need to be an expert in every layer, but you must have enough depth to have meaningful technical conversations, review approaches critically, and contribute when needed.
Rust - core rendering engine, performance-critical pipelines, memory-safe systems code.
React - UI layer within the Electron shell; component architecture and rendering performance.
Electron - cross-platform desktop app architecture; IPC, native module integration, packaging.
WASM / NAPI - browser-native and Node-native image rendering and processing.
GPU compute - leveraging GPU for image processing and local model inference acceleration.
On-device ML - running inference locally without cloud dependency; model loading, memory management.
What we are looking for
Engineering Depth
5-7 years of software engineering with meaningful time in systems, desktop, or performance-critical applications.
Hands-on experience with compiled systems languages (Rust strongly preferred; C++ considered).
Track record of solving novel, open-ended problems where there's no playbook to follow.
Strong mental model of performance engineering: profiling, memory, concurrency, and GPU utilisation.
Engineering Leadership
2-3 years of active people management with a team of 5 or more.
Demonstrated ability to build and stabilise teams in high-ambiguity environments.
Experience managing in parallel: shipping new product while cleaning up old systems.
Clear, candid communicator - upward to stakeholders, downward to engineers, sideways across teams.
A manager who doesn't hide behind process when the team needs a technical decision made.
Mindset
Comfortable saying "I don't know yet" - and building a path to the answer.
Bias toward pragmatic decisions: knows when to prototype, when to design, and when to ship.
High ownership. You notice what's broken and fix it without waiting to be asked.
Able to context-switch between deep technical problem-solving and people management without dropping either.
What happens after you apply?
Step 1: If your profile aligns with our vibe and requirements for the role, our people team will reach out to you for a brief phone call.
Step 2: If everything aligns, your next chat will be with one of your future team members to better understand the role and your experience.
Step 3: You will then be given a task - this helps us evaluate your thought process and help you showcase your expertise.
Step 4: If everything goes well, you will meet the leadership for a quick bar-raiser round.
Step 5: If you do manage to clear all rounds, this is the point we make an offer, shake hands, and welcome you to the team.