Shubham Singh, Developer in Mumbai, Maharashtra, India
Shubham is available for hire
Hire Shubham

Shubham Singh

Verified Expert  in Engineering

Software Developer

Location
Mumbai, Maharashtra, India
Toptal Member Since
November 14, 2019

Shubham is a software developer with hands-on experience in many different technologies. He has worked on various projects, going from coding a machine-level driver to developing web applications and writing a machine-learning model. Shubham excels in web app development and in writing utility software such as API wrappers and CLI.

Portfolio

Google Cloud
C++17, Bazel, Python 3, Protobuf, Java 9, JavaScript, Python
MarketPulse
Elixir, Go, C++, Python 3, Ruby on Rails 4, JavaScript, Python
BrowserStack
Elasticsearch, React, Node.js, Ruby on Rails (RoR), JavaScript, Python

Experience

Availability

Part-time

Preferred Environment

Ubuntu, Git, Visual Studio Code (VS Code), Sublime Text 3, OS X

The most amazing...

...project I've worked on automatically added color to a grey-scale image using generative adversarial neural nets (GANs).

Work Experience

Software Engineer III

2021 - PRESENT
Google Cloud
  • Implemented PostgreSQL-compatible data types like NUMERIC and JSONB in Cloud Spanner.
  • Added support for Cloud Spanner's Definer Right views.
  • Introduced a new subscription model called Committed Usage Discounts for Cloud Spanner.
Technologies: C++17, Bazel, Python 3, Protobuf, Java 9, JavaScript, Python

Senior Software Engineer

2020 - 2021
MarketPulse
  • Implemented, from scratch, a trading order delivery and management system for the organization's trading platform operating in NSE and BSE.
  • Automated the organization-wide systems infrastructure from Chef, in Ruby, to Ansible, in Python.
  • Optimized market data packet decompression by moving the decompression logic to Natively Implemented Functions (NIFs) in Elixir.
Technologies: Elixir, Go, C++, Python 3, Ruby on Rails 4, JavaScript, Python

Senior Software Engineer

2018 - 2020
BrowserStack
  • Worked on the highest revenue-generating project called Automate.
  • Created APIs for the efficient querying of historical data using Elasticsearch.
  • Supported the integration of various project management tools with the Automate product.
  • Contributed to the development of the new Automate dashboard.
  • Integrated new devices, Android and iOS, with the product.
  • Worked on Apache Kafka for real-time log streaming.
Technologies: Elasticsearch, React, Node.js, Ruby on Rails (RoR), JavaScript, Python

Feature Addition in PyGithub

https://github.com/PyGithub/PyGithub/pull/899
While working on an open-source project named PyGithub, I developed a feature from scratch except for one minor commit.

Machine Comprehension Model

I created a machine learning model that can answer the questions from a given context. For example, a user can feed an article to the model and then ask an item from the section. The model will be able to answer the question with the correct context.

Search By Topics Feature in PyGithub

https://github.com/PyGithub/PyGithub/pull/893
I added a search feature in the PyGithub API wrapper.

A Machine Comprehension Bot

I created an artificially intelligent bot to answer a question from a provided context. Under the hood of the application are Flask (a web framework in python) and Pytorch for calculating the answer to the specific question.

Since the application is hosted on free servers, sometimes a request might timeout which then exposes a worker-based API. Then a comprehension job can be queued and then the worker can be polled for the results once processing is complete.

Selenium Bug Fix

https://github.com/SeleniumHQ/selenium/pull/6983
I added support for Geckodriver proxy settings in Python Selenium client bindings.

Libraries/APIs

Node.js, React, React Redux, JDBC, Socket.IO, TensorFlow, PyTorch, Protobuf

Languages

Python 3, Java 8, JavaScript, Python, GraphQL, TypeScript, Elixir, Go, C++, C++17, Java 9

Frameworks

Ruby on Rails (RoR), Jakarta Server Pages (JSP), Express.js, Tailwind CSS, Django, Electron, Redux, Hibernate, Ruby on Rails 4

Tools

Servlet, Sublime Text 3, Blender, MATLAB, Git, Bazel

Paradigms

Agile Software Development, Functional Programming, Concurrent Programming, Microservices, Microservices Architecture, Continuous Deployment, Continuous Development (CD)

Storage

MySQL, Elasticsearch, MongoDB, RethinkDB, EventStore, Redis, Databases

Platforms

OS X, Ubuntu, Linux, Apache Kafka, Docker, Visual Studio Code (VS Code), Kubernetes

Other

Startups, Machine Learning, Apollo Server, TypeORM, Software Engineering, Data Structures, Algorithms, Operating Systems

2014 - 2018

Bachelor's Degree in Computer Science and Engineering

National Institute of Technology, Uttarakhand - Srinagar Garhwal, Uttarakhand, India

FEBRUARY 2018 - PRESENT

Mobile Web Scholarship India

Udacity, Google (Online)

JUNE 2016 - PRESENT

Java EE With Struts and Hibernate Frameworks

Hewlett Packard Enterprises (HP)

JANUARY 2016 - PRESENT

Java Training

IIT Bombay — Spoken Tutorial (Online)

JANUARY 2016 - PRESENT

Linux Training

IIT Bombay — Spoken Tutorials (Online)

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring