Yeshnil Jainarain
Senior Software Development Engineer
Hire this person
Send a job offer directly to this candidate
About
I'm a hands-on software engineer with close to two decades of professional experience, primarily in backend and service-layer development. I take a lot of satisfaction in writing clear, well-structured software, with a particular interest in good abstraction, modular design, and choosing solutions that make systems easier to understand and change safely. Over my career I've worked extensively with C++ and C#, and more recently with Java and Kotlin, delivering customer-facing features, integrations, internal frameworks, and larger cross-system projects.
I've also spent a significant amount of time reviewing designs and code, mentoring other developers, and helping teams work through difficult technical problems. I enjoy collaborating with others, but I'm equally comfortable taking ownership of ambiguous problems and driving them through to a practical solution. I tend to be at my best on work that requires careful reasoning, strong engineering judgement, and a willingness to dig into unfamiliar areas when needed.
Experience
Senior Software Development Engineer (L6) at Amazon Web Services (AWS) (2022-01 – Present)
Work on the team responsible for core Amazon EC2 instance lifecycle APIs, including RunInstances, StartInstances, StopInstances, and TerminateInstances. My work spans customer-facing feature delivery, request validation, workflow coordination, production reliability, and technical design across system boundaries, primarily using Java and Kotlin.
- Delivered a broad range of customer-facing instance features, including Primary IPv6 support and support for new placement-group strategies, often owning projects from design through implementation and launch.
- Led end-to-end technical design for features spanning multiple internal systems, defining service contracts, dependency behaviour, and integration requirements across team boundaries.
- Improved change safety by extending internal feature-control tooling, reducing new-flag registration to a single-line change, and adding guardrails and code-level safeguards to reduce the risk of breaking behaviour.
- Regularly provide design and code-review guidance, mentor engineers, and help unblock complex technical work within the team and across the wider EC2 Cape Town organisation. I also serve as a Customer Experience Bar Raiser across EC2 APIs.
- Built an AI-assisted development agent that codifies team-specific engineering knowledge, codebase conventions, and safe task sequencing, cutting weeks from multi-week feature-delivery timelines and seeing adoption by other engineers on the team.
Senior Developer L2 — Poker Services / Balance Management System at Derivco (2018-10 – 2021-12)
Promoted to Senior Developer L2, initially continuing within Poker Services before transitioning to the Balance Management System team, with greater responsibility for system design, technical leadership, and independent project delivery.
- Worked with the Software Architect on the design of new systems and subsystems, translating architectural direction into implementable technical designs.
- Led projects with little or no oversight, turning business requirements into actionable specifications and coordinating developers involved in delivery.
- Designed and implemented the initial version of a system for updating balance data in real time at scale, rapidly ramping up on Apache Kafka and using it as the backbone of the solution.
Senior Developer L1 — Poker Services at Derivco (2011-11 – 2018-09)
Designed, implemented, and maintained services supporting online poker games and related functionality, primarily in C++ with some C#, while taking on increasing responsibility for system design, integrations, and mentoring.
- Integrated Poker services with external funding platforms and government regulatory systems in the United Kingdom, Bulgaria, and Croatia, working with persistent connections and SOAP/REST APIs.
- Helped design new Poker game formats, including Blaze Poker and Progressive Sit & Gos; designed interfaces between system layers and implemented the service-side functionality.
- Contributed to architecture and design across the wider Poker platform, including services, game clients, databases, and automation/CI tooling.
- Mentored developers across the Poker domain and reviewed changes across multiple layers of the platform.
- Received departmental annual awards for Best Team Player and Best Overall Performer.
Junior Developer — Poker Services at Derivco (2007-07 – 2011-11)
Developed and maintained C++ services supporting online poker games and related client functionality.
- Implemented an early WebSocket specification in C++ to support HTML5 game clients, creating a reusable implementation subsequently adopted by other service teams.
- Built development tooling to automate builds, unit tests, static analysis, and reporting.
- Received the departmental annual award for Best Rookie.
- Recognition across tenure: At the time of my departure, I was the only employee to have received all three departmental annual awards: Best Rookie, Best Team Player, and Best Overall Performer.
Contract Software Developer at Helen Lucre (2007-04 – 2007-07)
Placed at Derivco prior to conversion to permanent employment, with the contract bought out early.
Education
Honours in Computer Science – UNISA (2007)
Bachelor of Science (M Stream) in Computer Science (double major), with Economics – University of KwaZulu-Natal, Durban (2004)