01
Preserve behavior before changing surfaces
Most of my strongest work is modernization work: changing protocols, tooling, and runtime paths while keeping business behavior stable enough for production teams to trust.
Software Developer / Backend & Platform / Gurgaon, India
I work on the careful side of software: modernizing long-lived C/C++ systems, building parser-driven automation, and shaping Cursor-based AI workflows that help engineers move faster without losing production judgment.
ashutosh94g@gmail.com · Open to backend, platform, and developer-productivity roles · India / EU / Remote
01 / About
I am a software developer at Amdocs, working on backend systems where reliability, migration safety, and developer productivity matter more than novelty. Most of my work sits at the boundary between old and new: C / C++ services moving toward typed RPC, legacy reporting moving into Python, and AI workflows becoming useful enough for real engineering teams.
The thread through my projects is simple: I like turning repeated human work into checked, repeatable systems. That has meant Lex/Yacc compilers for migration and quality checks, shell and editor automation for day-to-day work, and Cursor knowledge bases that help agents respect the shape of a large codebase instead of guessing.
Since December 2025, I have also driven day-to-day technical execution for a 4–5 engineer team in an informal capacity: reviewing code, unblocking implementation details, and acting as the engineering manager’s primary technical interface. I am aiming for teams where that mix of careful backend work, automation, and practical AI tooling is useful.
02 / How I work
The projects below are the evidence. This is the pattern behind them: I like systems that are explicit, automatable, and understandable enough that the next engineer can safely keep moving.
01
Most of my strongest work is modernization work: changing protocols, tooling, and runtime paths while keeping business behavior stable enough for production teams to trust.
02
If a task repeats, I look for the structure underneath it. That is why parser-driven tools, generated code, build-time checks, and shell automation show up repeatedly in my work.
03
I care less about prompt tricks and more about context design: giving agents source-backed knowledge, workflow rules, and review loops so they compose with engineers on real code.
04
In team work, I naturally gravitate toward review, unblocking, and making decisions legible to peers and managers. Good engineering is easier when the state of the work is clear.
03 / Selected work
These are the projects I would talk through with another engineer: what was fragile, what I changed, how I reduced risk, and what the work taught me about building in large systems.
04 / Stack
05 / Experience
Designed and shipped a generic protocol shim translating Tuxedo’s flattened buffers into strongly-typed Protobuf with zero changes to business code. Validated as a production-service POC and built for incremental rollout across long-lived telecom backends.
Drove technical execution for a 4–5 engineer team on a Tier-1 platform-modernization program since Dec 2025 — code review, unblocking, and the engineering manager’s primary technical interface in an informal capacity.
Replaced TIBCO WebFOCUS reporting with an in-house Python library plus a Lex/Yacc auto-converter for 500+ legacy scripts, reducing dependence on licensed reporting tooling.
Hardened a long-lived C/C++ codebase: guard-clause refactors reduced potential vulnerabilities by 30%, a build-time prototype generator catches 80% of would-be production defects, and 95% of legacy compile-time warnings were resolved.
Owned company-wide rollout of Cursor as the AI development platform — team knowledge base, agent skills, workflow rules, plus reusable Vim / VS Code snippets and shell automation. Cut team toolchain friction by 50%+.
06 / Contact
Open to backend, platform, and developer-productivity roles at teams that care about reliability and engineering leverage — India, EU, or remote. Best reached over email; LinkedIn works too.