Software Engineer, New Delhi

Vikas
Sharma

I build production software end to end: distributed systems, SDKs, data platforms, web apps, and the tools around them.

Three-plus years at a fintech firm shipping Python systems that handle ₹400 Cr (about $48M) a day across 150+ connected clients, a 150× performance rewrite, ETL pipelines over 8+ years of tick data, monitoring stacks and internal tools. Author of pyzdata on PyPI.

Vikas Sharma
Open to new roles New Delhi, UTC+05:30
Daily transaction volume, about $48M
₹400 Cr+
Connected client accounts on one platform
150+
Faster after my performance rewrite
150×
GitHub stars across public projects
64★

About

Three years shipping production systems at a fintech firm: platforms, pipelines, dashboards and tools.

I'm a software engineer at a proprietary fintech firm, where I've spent 3+ years designing and building the production systems behind a trading desk: a distributed transaction platform, a message-passing microservice architecture, high-volume data pipelines, web apps and dashboards, and the monitoring and tooling around them.

My work sits where Python performance engineering, distributed systems and data engineering meet, with web and tooling work alongside. I've built an SDK that integrates three third-party REST and WebSocket APIs with real-time validation and reconciliation; a ZeroMQ hub-spoke system with CSV-backed state machines for crash recovery, running autonomously on AWS EC2; a batch engine rewritten from about 150 hours to under 1 hour; and ETL pipelines that turn 8+ years of tick-level data into Parquet, served through a Polars and DuckDB layer and Streamlit dashboards.

Outside work I maintain pyzdata, an open-source Python library, CLI and web app on PyPI, along with an unofficial Zerodha Kite client adopted by the Indian retail trading community and a set of Windows productivity tools. Long-form reading tilts toward systems and markets: Designing Data-Intensive Applications, Options as a Strategic Investment, Atomic Habits.

Work

Intern to Software Engineer II at a proprietary fintech firm, since January 2022.

  1. to present

    Software Engineer II

    Pranjali Growcap, high-throughput transaction processing for Indian and US markets

    • Distributed transaction platform. Python SDK serving 150+ connected clients with ₹400+ Cr ($48M) in daily volume: real-time validation, reconciliation, P&L and audit trails across 3 third-party REST and WebSocket integrations (Zerodha, IBKR, XTS). Eliminated 100% of manual workflows.
    • Microservice architecture. ZeroMQ hub-spoke system: a central broker coordinating 5 independent worker processes by asynchronous message passing, CSV-backed state machines for crash recovery and idempotent restarts, fully autonomous on AWS EC2.
    • Performance engineering. Rebuilt a data-intensive batch engine with NumPy vectorization, O(log n) binary-search lookups and 16-way parallel orchestration over FileLock: about 150 hours to under 1 hour.
    • High-volume data pipelines. ETL over 8+ years of tick-level data into columnar Parquet, served through a Polars and DuckDB analytics layer and Streamlit dashboards; 50,000+ job combinations per cycle.
    • Fault tolerance. Crash-recovery subsystem with CSV state machines and file-backed idempotency tokens, so automated restarts never duplicate work or lose state downstream.
    • Python
    • NumPy
    • Polars
    • DuckDB
    • ZeroMQ
    • AsyncIO
    • AWS EC2
    • Docker
    • Streamlit
  2. to

    Software Engineer

    Pranjali Growcap, foundational platform work

    • Built v1 of the firm's platform SDK, integrating multiple third-party REST and WebSocket APIs with real-time streaming, session management and automated retry logic.
    • Developed a reproducible in-house data-analysis framework that replaced ad-hoc spreadsheet workflows across teams.
    • Shipped the monitoring and alerting stack (Streamlit and Telegram bots) for real-time dashboards, alerts and system-health checks, used daily.
    • Designed ETL pipelines for cleaning and structuring high-volume upstream data feeds.
    • Python
    • Pandas
    • REST APIs
    • WebSocket
    • Streamlit
    • Telegram API
  3. to

    Data Analyst Intern

    Pranjali Growcap

    • Built data-cleaning pipelines for NSE and BSE feeds and contributed pattern-recognition research that fed early strategies.

Projects

An open-source package on PyPI, three production systems, web apps and dashboards, a REST client library and developer tools.

Open source Live on PyPI Source

pyzdata

Historical financial-data downloader, shipped as a Python library, a CLI, and a Streamlit web app.

Download OHLCV and open-interest data for any NSE, BSE, NFO or MCX instrument at intervals from 1 minute to daily. Parallel downloads, disk caching, rate limiting, retries and a typed exception hierarchy. Package engineering: 90 unit tests, PEP 561 typing, semantic versioning, Python 3.10 to 3.13, and trusted publishing through GitHub Actions with Sigstore-signed releases.

  • Python
  • PyPI
  • CLI
  • Streamlit
  • Threading
  • Pandas
  • pytest
  • GitHub Actions
  • Sigstore
Version
1.0.6
Status
Production / Stable
Stars
32★
Forks
15
Tests
90 unit
License
MIT

Production systems

Interactive Brokers TWS orders, market data TWSMasterHub single upstream session ZeroMQ messages SRE BRE B120 SRE TP SRE SL state.csv state.csv state.csv state.csv state.csv
One upstream session shared by five worker processes over ZeroMQ. Each process journals its state to CSV, so a crash restarts idempotently where it stopped.

ZeroMQ microservice engine

Hub-spoke architecture: a central broker, TWSMasterHub, holds the single upstream session while five independent worker processes communicate by asynchronous message passing. CSV-backed state machines give crash recovery and idempotent restarts; smart request routing adds retries and stale-response detection. Runs autonomously on AWS EC2 with IBC-managed restarts, driving the firm's US options strategies end to end.

worker processes
5
autonomous
24/7
manual interventions
0
  • Python 3.12
  • ZeroMQ
  • ib_async
  • AWS EC2
  • IBC
Before rewrite ≈150 h After rewrite under 1 h
One full job sweep, drawn to the same scale: about 150 hours before the rewrite, under 1 hour after.

pgcbacktest, a 150× faster batch engine

Data-intensive batch processing engine rebuilt with NumPy vectorization, O(log n) binary-search lookups and a FileLock orchestrator that distributes jobs across 16 parallel workers over shared storage. A Polars and DuckDB aggregation layer feeds Streamlit dashboards and Excel exports via xlwings. The domain is options backtesting, with synthetic-ATM detection and a 37-level portfolio stop-loss.

speedup
150×
job combinations per cycle
50K+
parallel workers
16
  • NumPy
  • Polars
  • DuckDB
  • Parquet
  • FileLock
  • xlwings
Strategy signals Platform SDK order placement real-time risk checks reconciliation, P&L audit trails orders out, fills back Zerodha Kite IBKR XTS
Signals in, orders out, fills back: one SDK drives three third-party integrations and reconciles positions and P&L across every client account.

Multi-broker transaction platform

Python SDK automating the full transaction lifecycle across three third-party REST and WebSocket integrations (Zerodha, IBKR and XTS): signal intake, order placement, real-time risk checks, position reconciliation, P&L and end-to-end audit trails. Eliminated 100% of manual order flow.

daily volume
₹400 Cr+
client accounts
150+
integrations
3
  • Python
  • REST APIs
  • WebSocket
  • Multithreading
  • Zerodha Kite
  • IBKR
  • XTS

Libraries and tools

  • KiteWeb

    Source available, 28 stars, 9 forks

    Unofficial Python client for Zerodha Kite's web endpoints: authentication, session management, and order and market-data calls. Built for learning and personal automation, and adopted across the Indian retail algorithmic-trading community.

  • Developer productivity tools

    Open source, Windows shell integration

    A Jupyter context-menu launcher; PickleParquetReader, a file-association handler that opens .pkl and .parquet files in Excel; TerminalSequence, a multi-monitor terminal grid arranger; and Tele_Easy_Bot, a Telegram wrapper.

  • Monitoring and alerting stack

    Internal, Streamlit and Telegram bots

    Real-time operational dashboards, trade and P&L alerts and system-health checks, built with Streamlit and Telegram bots and used by the desk every day.

  • Strategy analysis dashboard

    Internal, Streamlit and Plotly

    Interactive optimizer with Plotly heatmaps, multi-dimensional filters and live performance metrics. Pushes formatted Excel heatmaps via xlwings for offline review.

Stack

Python first, across backend, distributed systems, data and cloud.

Languages
  • Python expert
  • C++
  • SQL
  • Bash
Backend and web
  • Django
  • Flask
  • FastAPI
  • Streamlit
  • REST API design
  • WebSocket
  • Pydantic
  • pytest
  • Selenium
Apps and interfaces
  • Streamlit apps
  • Plotly dashboards
  • Tkinter dialogs
  • Windows context menus
  • System-tray apps
  • File associations
  • Telegram bots
  • Static HTML pages
Distributed systems
  • ZeroMQ
  • Microservices
  • Message passing
  • State machines
  • AsyncIO
  • Multiprocessing
  • Multithreading
  • FileLock orchestration
Data engineering
  • NumPy
  • Polars
  • Pandas
  • DuckDB
  • Parquet
  • Numba
  • Dask
  • ETL pipelines
  • Plotly
Cloud and DevOps
  • AWS EC2
  • Docker
  • Linux
  • Git
  • GitHub Actions
  • CI/CD
  • PyPI publishing
  • Sigstore
Trading domain
  • Zerodha Kite
  • Interactive Brokers TWS
  • ib_async
  • XTS
  • IBC
  • NSE
  • BSE
  • NFO
  • MCX
  • CBOE
  • CME
Education
BSc Computer Science, Shaheed Sukhdev College of Business Studies, University of Delhi, 2020 to 2023
Competitive programming
  • CodeChef 2★, rating 1495, peak 1559, 252 problems, 10 rated contests
  • LeetCode 65 solved: 43 easy, 21 medium, 1 hard
  • HackerRank SQL Intermediate and 3 verified certificates

Contact

Open to software engineering roles: backend and Python development, distributed systems and data platforms, and quantitative development. Full-time or contract; open-source collaborations welcome.

Résumé, pick the version that fits the role, as PDF or Word