Sahil Kamil

Software engineer working on backend, distributed systems and infrastructure.

I'm a Computer Science student at Ontario Tech University with a 4.0 GPA, building reliable backend systems and exploring the engineering challenges behind large-scale infrastructure.

Incoming
WealthsimpleBook of Record / Margin, January 2027
Now
DayforceSingle Global Person team
Before
Intact FinancialJava and Spring Boot services

Experience

  1. Current

    –present

    –

    Dayforce

    Software Engineering Intern

    Single Global Person (SGP), two work terms

    • C#
    • .NET
    • Kafka
    • React
    • TypeScript
    • Claude Code

    Shared audit-history framework

    Identified duplicated audit-reading logic across features and built a shared C#/.NET framework to replace it, converting raw snapshots into field-level change events. It has been adopted by multiple teams.

    Read the case study

    May 2026–present

    • Built an end-to-end admin workflow for employee data-sync policies, owning the database design, C#/.NET APIs and React/TypeScript UI with bulk actions and validation. It replaced hours of manual import-file configuration with a workflow that takes minutes.
    • Diagnosed and resolved a high-severity concurrency race in C#, replacing unsafe shared dictionary access with thread-safe caching and eliminating the failure.
    • Developed task-specialized AI agent workflows with Claude Code for codebase research, implementation, testing and review across a large C#/.NET production codebase, manually validating correctness and production safety.

    January–September 2025

    • Designed Kafka retry and acknowledgement handling with exponential backoff, bounded retries and failure-state recovery, so failed messages no longer block downstream processing. Case study
    • Implemented in-memory caching for C#/.NET APIs, cutting redundant network calls and improving latency across a distributed employee-data platform.
    • Reviewed C#/.NET services for CSRF, SSRF and SQL injection risks and implemented fixes for production-facing services.
  2. –

    Intact Financial

    Software Engineering Intern

    • Java
    • Spring Boot
    • AWS
    • Selenium
    • Designed and implemented backend features for a content and document management platform with Java, Spring Boot and AWS, improving data retrieval times by 18%
    • Modernized legacy services from Java 8 to Java 25 by refactoring deprecated APIs and resolving compatibility issues, reducing memory usage by 20%
    • Built an end-to-end Selenium regression suite with one-click execution, so non-developer testers could run automated cross-service tests, reducing manual QA effort by 40%

Technical skills

What I've worked with

Languages
  • C#
  • Java
  • Go
  • Python
  • C++
  • TypeScript / JavaScript
  • SQL
  • HTML
  • CSS
Frameworks and infrastructure
  • .NET
  • Spring Boot
  • React
  • Docker
  • Kafka
  • Redis
  • AWS (S3, EC2)
  • Azure
  • PostgreSQL
  • SQL Server
Developer tools and AI
  • Git / GitHub
  • GitHub Actions
  • Jenkins
  • Linux / UNIX
  • Selenium
  • Claude Code
  • GitHub Copilot
  • Codex
  • AI agent workflows

Where I'm going deeper

Areas I'm actively learning and want to build a career in.

  • Distributed systems
  • Low-latency systems
  • Infrastructure engineering
  • AI infrastructure
  • Distributed databases

Selected engineering work

Two internal projects from Dayforce, described at a high level since the code is proprietary, and one personal project.

Shared audit-history framework

Dayforce, internalC#, .NET

Feature code Audit frameworkshared C#/.NET library Raw snapshots Field-level changes Feature code Audit frameworkshared C#/.NET library Raw snapshots Field-level changes
Features ask one framework for history instead of each reading audit data its own way.
Problem
Several features each had their own logic for reading audit data, duplicating the same work in slightly different ways.
Solution
A shared C#/.NET framework that replaces that logic and converts raw audit snapshots into field-level change events, so callers get what changed rather than whole records.
Impact
One consistent way to read change history, less duplicated code, and adoption by multiple teams.

Kafka retry and acknowledgement handling

Dayforce, internalKafka, C#, .NET

Kafka topic Consumer Handler Acknowledge Retryexponential backoff Failure state success failure limit reached Kafka topic Consumer Handler Acknowledge Retrybackoff Failurestate success failure
Failed messages are retried with growing delays up to a limit, then set aside in a failure state so they stop blocking everything behind them.
  • Exponential backoff between attempts, so a struggling dependency gets room to recover
  • Bounded retries, so one bad message can't be retried forever
  • Failure-state recovery, so failed messages stop blocking downstream processing

Real-time collaborative text editor

Personal projectGo, CRDTs, WebSockets, AWS EC2, GitHub Actions

View on GitHub

A collaborative editor where several people can edit the same document at once. Concurrent edits are merged with the WOOT CRDT, using Go's concurrency for conflict resolution.

What I want to build

I'm particularly interested in the engineering challenges behind systems serving millions or billions of users: distributed storage, reliable transaction processing, low-latency services, and the infrastructure that makes large-scale applications possible.

I'm also interested in the systems powering modern AI, including model serving and inference infrastructure.