Hello World,
I am Siddharth!

About

Software Developer and Machine Learning enthusiast building tech products and solving research problems.

Welcome to my personal website! I am currently working as a Software Developer at the Bloomberg, London. This site will let you know who I am, my interests and the projects I've been working on.

My profession keeps me engaged in software development - a skill, I feel, capacitates me to build products that directly impacts people. I am also interested in Machine Learning and Deep Learning and pursue my interest by working on the related projects alongside.

I love to travel and explore different cultures. I'm open to discussion on topics related to technology, coding practices, travel and human psychology. I am also a fitness fanatic and play Harmonica in my leisure time.

Education

University of Delhi (2015-2019)

Netaji Subhas Institute of Technology (NSIT), Delhi, India

  • Bachelor of Engineering in Computer Engineering
  • GPA: 8.6 (78.19% Aggregate)
  • Awarded First-Class with Distinction
  • IEEE scholarship recipient for research in evolutionary computation
Project:
  • Title: Guided learning Approach for Generative Adversarial Networks

Relevant Coursework:
  • Discrete Mathematics and Design of Algorithms
  • Expert Systems
  • Engineering Mathematics
  • Artificial Intelligence
  • Theory of Automata
  • Computer Graphics

Experience

Senior Software Engineer

Asset and Investment Management

  • Solving software challenges that occur during the trade creation.
November 2022 - Present | London, United Kingdom
Software Development Engineer

Developing solutions for performing points transactions on the e-commerce platform.

  • Created the CICD pipelines to ensure continuous deployment of Expedia's points payment gateway service.
  • Built RESTful micro-services using web frameworks like Spring MVC, Spring Boot.
  • Coded Python scripts to fix the unsettled transactions with bank generating the revenue of ~ $500k.
  • Optimized the organization’s cost by migrating Microsoft SQL database to open-source PostgreSQL.
July 2019 - October 2022 | Gurugram, India
Co-creator and Tech Lead

Launched Quoko, a positive news app, managing end-to-end product development

  • Built an Android app to provide positive content/news cards during COVID-19 pandemic
  • Viewed by 250k+people across 39 countries with 1k+ app downloads.
June 2020 | Remote
Research Intern

Associated with the lab via remote research internship and working on evolutionary machine learning algorithms

Co-evolving genetic-programming (GP) trees with rules in Learning Classifier Systems (LCS)
  • Developed a ML algorithm in Python from scratch for imbedding GP-Trees in the ExSTraCS framework, a supervised LCS.
  • Enhanced the performance of GP tree operations in terms of execution speed and tree representation.
  • The solution was selected for presentation at:GECCO 2020.
GP Trees – Python Library
  • Created a python library for all the GP trees related operations that can be used directly for any GP application.

Supervisor:Dr. Ryan Urbanowicz, Assistant Professor, Perelman School of Medicine, University of Pennsylvania
December 2017 - Present | Remote Research
Software Development Intern

An Enterprise Service Bus architecture that enables the company to build an adaptor to communicate with banks for points transaction using UI facilities

  • Devised a framework to perform loyalty points transaction with banks using Enterprise Service Bus architecture.
  • Developed a UI replacing the method of coding in Java with drag & drop facility for making transactions.
  • Reduced time of on-boarding the adaptors from three months to three days.
  • Worked with Mulesoft, Java Spring, Tomcat, Maven and RESTful APIs.
  • Received a pre-placement offer for the profile of Software Development Engineer.
4 June 2018 - 28 July 2018 | Gurugram, India
Research Assistant

Conducted my undergraduate research on deep learning, reinforcement learning and evolutionary algorithms

Devised techniques to solve the training issues in Generative Adversarial Networks (GANs): Deep Learning
  • Improved the training of GANs and increased the quality and diversity of generated images.
  • Research article published at International Joint Conference on Neural Networks (IJCNN - 2020).
Evolution of game playing strategies in Othello using eXtended Classifier Systems (XCS)
  • Proposed an approach of playing game of Othello using XCS, a branch of LCS that evolves game-playing strategies.
  • Research article published in Congress of Evolutionary Computation (CEC) 2018.

Supervisor:Dr. Swati Aggarwal, Assistant Professor, Computer Engineering Department, NSIT
January 2017 - May 2018 | Delhi, India

Research

Highlights


  • Our work on "Evolving genetic programming trees in a rule-based learning framework" was presented and published in GECCO 2020.
  • The extended abstract of our work can be found here.
  • Created this poster explaining our approach (Presented in the conference):


  • Presented two research papers: "An Evolutionary Learning Approach to Play Othello Using XCS" and “Augmented Gene Expression Programming” at the conference.
  • Got a research paper titled: An Evolutionary Learning Approach to Play Othello Using XCS published in the Congress of Evolutionary Computation (CEC) conference proceedings.
  • Received an $800 travel-grant from IEEE as an undergraduate speaker and having the major contribution in the paper.

  • Attended the computer science and automation summer school to figure out my research interests.
  • Learnt about the cutting edge research work going on in artificial intelligence and some key areas of Computer Science.
  • The summer school contained lectures, demos, and hands-on sessions by the department faculty, research scholars and industry experts.
  • Relevant topics studied: Cryptography, machine learning, cognitive decision making agents in games (eg. Chess, Go), graph theory, linear algebra and probability, deep learning to play Atari games.

Publications

  • S. Verma et al. (2020), "Evolving Genetic Programming Trees in a Rule-Based Learning Framework". Genetic and Evolutionary Computation Conference Companion (GECCO ’20) Cancún, Mexico. ACM, New York, USA, pp. 1-2.
  • S. Nagpal, S. Verma, S. Gupta and S. Aggarwal (2020), "A Guided Learning Approach for GANs". International Joint Conference on Neural Networks, IJCNN 2020 Glasgow, UK, 2020. https://git.io/guided-gan. IEEE, pp. 1–8.
  • S. Jain, S. Verma, S. Kumar and S. Aggarwal (2018), "An Evolutionary Learning Approach to Play Othello Using XCS" IEEE Congress on Evolutionary Computation (CEC), Rio de Janeiro, Brazil, 2018, pp. 1-8.

Projects

ExSTraCS Logo
ExSTraCS-GP Hybrid

Integrated genetic programming to evolve syntax trees in rule-based Learning Classifier System

Accomplishments
  • Built a framework evolving GP trees in rule-based ML system
  • Replaced the DEAP library to perform GP operations
  • Improved the execution speed of ExSTraCS-GP hybrid by 45%
GAN
Guided GAN

A Guided Learning Approach to Generative Adversarial Networks

Accomplishments
  • Proposed a novel approach to train GANs
  • The new model generate better quality and diverse images than the state-of-art GAN models
Quoko
Quoko - A positive News app

An app for mental wellness

Accomplishments
  • Launched a positive content product during the COVID-19 pandemic for people's mental wellbeing.
  • 1k+ Downloads, 20+ countries, 20k+ Post views.
Yolo-Object Detector
Object Detector - Web App

A Web App that accepts an image and detects if a cat or dog is present using YOLO algorithm

Accomplishments
  • The algorithm detects whether a cat or dog is present in the image or not.
  • The web app is created in Flask and the algorithm is implemented in Tensorflow.
XCS_Othello
Othello - XCS

An Evolutionary Learning Approach to Play Othello Using XCS

Accomplishments
  • Built the game GUI of Othello in Java
  • Evolved the playing strategies using rules in eXtended Classifier System (XCS)
  • Outperformed other minimax agents designed to solve the game.
  • Research article published in IEEE-CEC 2018.
Genetic Programming library
Genetic Programming Library

A Python library containing the Genetic Programming (GP) implementation.

Accomplishments
  • Can be used as an independent Python module
  • Contains all the GP operations such as tree crossover, mutation, selection.
  • Can choose/define different fitness metrics.
android logo
Cashculator

An android application to manage and divide all your expenses.

Accomplishments
  • Keeps track of the amount to be splitted in a group
  • Individual contributor can be added from phonebook
Casino Simulation
Casino Simulation

Four famous Casino games were simulated: Pot, Baccarat, Roulette, Sicbo

Accomplishments
  • The game logic was written in Microsoft Excel and Visual Basic

Skills

Programming Languages

Java
Python
Julia
C++
SQL

Libraries

TensorFlow
Pytorch
Spring
Numpy
Pandas
Deap

Other

AWS
LaTeX
Github
Jupyter
Eclipse
PyCharm

Hobbies

Harmonica Player

I have been playing one of my favorite musical instruments, Harmonica (also known as mouth organ or French Harp), to de-stress myself. Mostly, I like to play the old-era Hindi songs on the instrument. You can listen to my recent recordings of the two famous Bollywood songs here:

Hai apna dil to Aawara (Solva Saal 1958)
Mere Sapno Ki Rani (Aradhana 1969)

Numismatist

One interest I've picked up from my childhood is to collect currency notes and coins of different countries. All the coinage and paper-money have been organised in a currency album. Currently my collection contains 30 paper-notes from 22 countries and 85 coins from 50 countries.

Contact