Python · Java · React · Fintech data integrity

Neeraj Sharma

Software Engineer II, Serrala — Alevate AR & CashApp

I ship features end to end where the numbers have to be right — ingestion pipelines, relational schema, REST contracts, and the React grids those APIs serve.

  • 6 yrsbuilding production backends
  • 4+ GB/dayof log spam eliminated
  • 40%lower API latency at peak
  • 30%faster enterprise Java apps
  • 25%query latency cut
  • 100K+active users served

Deduction ingestion

Alevate AR · Python · PostgreSQL · AWS S3 · multi-tenant

A financial record that imports twice is worse than one that fails to import.

I rebuilt the deduction CSV path end to end: stream the file straight from S3, key each row on a deterministic hash, normalize the hot fields out of the key-value store into indexed columns, and record every field change — so an import is auditable from upload to grid.

The CSV streams from S3 through boto3 rather than the web tier's FileStorage, so an import outlives the HTTP request that started it and the uploaded file is retained for audit. Each row is keyed on a deterministic hash of (Reference, Class, Cheque, Date), which stops the same deduction landing twice across re-uploads. Class and Account Manager were promoted out of the polymorphic custom-fields store into dedicated indexed PostgreSQL columns — API and UI contracts unchanged — so filtering happens in the database instead of in memory. Every modified field emits an old/new audit row, including on the bulk-update path the ORM lifecycle hooks never see.

Known limit, stated plainly: legitimate line items can still collide on those four fields. I found the collision, specified a CSV row-number extension to the key, and it is not built yet — so this path is deduplicated, not yet collision-free.

What I own

Two stacks and the surface they serve. Python on the accounts-receivable application, Java/Spring on the cash-application microservices, React on the grids in front of both.

Build & deploy hygiene The unglamorous half of owning two repos in two languages — 27 Lombok constant-case compilation failures fixed, formatting and lint made non-negotiable at commit time, dead CI migrated, and a service's memory limits actually sized.

  • pre-commit gates
  • Black
  • Flake8
  • isort
  • Spotless Palantir
  • Lombok constant-case
  • Maven
  • OpenAPI codegen
  • GitHub Actions migration
  • ArgoCD
  • Kubernetes memory limits
  • Currency Service tuning
  • SonarQube
  • end-to-end regression suite
  • Loggly
  • incident response

Experience

  1. SSerralaSep 2025 — now

    Software Engineer II (SDE II), Alevate AR & CashApp — Toronto, ON. Across both stacks daily: a Python accounts-receivable application and a Java/Spring cash-application microservice suite. I own the deduction ingestion path, the deductions API and grid query layer, field-level audit history, and the module's regression suite — and I am the one who takes the production incidents escalated by named enterprise tenants.

  2. DDailzerNov 2022 — Sep 2025

    Software Engineer. Built Python microservices for automated expense categorization and spending recommendations, putting LLM models behind REST interfaces the core platform consumed. Led backend and AI integration for a GPT-powered expense tracker in Java and Spring Boot — the feature set behind a 30% increase in user engagement.

    Designed a microservices architecture decoupling ingestion from processing with Kafka and Docker, cutting API latency 40% under peak traffic, and secured the services with Spring Security and JWT. Applied CAP trade-offs across PostgreSQL and a NoSQL store on read-heavy paths to reduce query latency 25%. Automated deployments with Docker Compose and CI/CD, and mentored 2 junior engineers.

  3. L&TLarsen & Toubro Technology ServicesApr 2018 — Dec 2019

    Software Development Engineer. Delivered enterprise Java/Spring Boot applications supporting 100K+ active users, leading a team of 4 engineers. Improved performance 30% and cut latency 40% through multithreading, JVM garbage-collection tuning and query optimization; built the Jenkins CI/CD that enabled bi-weekly releases with zero rollbacks.

How I work

What the bullet points above look like from the inside.

  1. I own the module, not the ticket

    The deductions API and grid query layer are mine end to end — sorting, composite filters, range search, CSV export, negative-amount and source-date correctness — and so is the regression suite that keeps them honest. Owning the tests is what makes owning the module mean anything.

  2. I take the incident to the root cause

    A 4+ GB/day flood of Loggly errors was not a logging problem; it was a recursive role update, found by reading the traceback and fixed with a set-based identity comparison. The Aurora --read-only (1290) write failures are not a transient blip; they are pooled connections outliving a reader/writer failover. Both took tracing the symptom back to the mechanism before touching code.

  3. I say so when the fix is a spec change

    Deterministic hashing stopped duplicate deductions — and then I found real line items colliding on the same four fields. That is not a bug to patch quietly; it is a key that needs a row-number component. I wrote the collision up and specified the extension instead of letting "deduplicated" be read as "collision-free".

  4. I leave the schema better than the deadline required

    I extended the polymorphic custom-fields store when that was the fast path, and I promoted Class and Account Manager back out of it into indexed columns when filtering made the key-value model the wrong answer — without breaking a single API or UI contract. Knowing which direction to move is the job.

  5. I have led the people, not only the code

    A team of 4 engineers at L&T delivering to 100K+ active users, and 2 junior engineers mentored at Dailzer alongside the backend and AI integration work. Code review, design review and peak-load readiness are habits from there, not from a process document.

Stack

PythonJavaReactREST API designPostgreSQL FlaskFastAPISQLAlchemyAlembicPydanticboto3 Spring BootSpring SecurityHibernate/JPALombokMaven TypeScriptJavaScriptdata grids & list viewscomponent state debuggingTailwind OpenAPI/SwaggerJWTOAuth 2.0microservicesKafka MySQL/AuroraMongoDBindexingquery optimizationconnection pooling AWS S3RDS AuroraEC2Lambda DockerKubernetesArgoCDGitHub ActionsJenkinsCircleCI SQLC/C++Linux/Unix OpenAI / Gemini integrationAgile/Scrum

Education

Where I'm strongest

The work I would want to be judged on.