Deepankar Sharma

Full-Stack Engineer

Through the last five years, I have built a solid knowledge and practical experience in programming, problem-solving, software development, and other aspects of Computer Science.

My skills are most utilized when Python or Typescript is involved in your tech stack, or when application-level scaling considerations are being optimized for. I have used my skills for a wide range of applications, from backend development to AI and responsive web apps. Furthermore, I have experience working with fast-paced startups as well as big enterprises. I use code not only to do my day-to-day job, but also to solve everyday problems I come across.

When I am not writing code, I try to learn something new, do casual gaming and play with my niece. Having an inquisitive mind, I often find myself researching about random topics and ideas on the internet (curiosity killed the cat, but satisfaction brought it back 🤓). Nowadays, I am particularly interested in security, investing and blockchain technology.

Experience

Series Code

Full Stack Developer

May 2021 — Sep 2022

Series Code

Technologies: Next.js, Hasura, Django REST Framework, Typescript, Python, Django, React, Kubernetes, GraphQL, Apollo Client, PostgreSQL (PostGIS), Google Cloud Platform, AWS, Cypress, CI/CD, SEO, Microservices, Serverless Computing, Stripe, Jenkins, Firebase

Series Code is a U.S. company that builds custom software for Fortune 500 companies and start-ups alike. As a full-stack developer, I have worked on multiple client projects in domains such as e-commerce, online dating, and natural language processing.

Our Town

Our Town is an e-commerce platform, like the ones we're familiar with, but Our Town enables both buyers and sellers to donate to their preferred non-profit organization when they're shopping or selling.

  • E-commerce Data Modeling: Performed requirement analysis and designed a scalable schema capable of handling complex business requirements, such as multiple sellers with physical or virtual store, shipment details, inventory, order management and fulfilment, etc.
  • API Design: Built GraphQL APIs with Hasura instant real-time engine. Defined relationships, views, functions and configured access-control policies (permissions) for different types of users (roles) in the system.
  • Shipping: Platform integration with USPS, UPS and FexEx carriers for shipping orders placed by users. This includes everything from shipping label generation, scheduling shipment pickup and updating order status when order is delivered/returned.
  • Authentication: Signup and login functionality for different types of users, which allows them to login via magic links or credentials. Implemented using JSON Web Tokens (JWTs) and serverless architecture.
  • Events & Notifications: Setup and configuration of service used for sending transactional emails, along with implementing event handlers for different events emitted by Hasura.
  • File Storage: Service which allows users to securely upload and save files in Amazon S3 via a presigned URL. Also worked on setup and configuration of S3 compatible storage in dev and staging environments.
  • Frontend: Designed reusable, responsive and user-friendly components in Next.js utilizing Tailwind CSS, Formik and Yup.
  • Performance: Optimized website and page performance using several techniques — Apollo client cache and fetch policies; analyzing webpack bundle size; Next.js specific features like next/link, next/image, edge middleware, SSR + SSG + CSR, dynamic imports, etc.
  • Testing: Introduced Cypress testing framework for end-to-end testing and configured services to run tests in a predictable environment.
  • Collaboration: Reviewed work done by other team members and provided constructive feedback on their pull requests. Maintained project documentation, reported bugs, and helped new team members get started.

Speak Meetings (Albi)

Albi is a smart AI assistant that transcribes meetings, listens and notes important parts of the discussion, and emails insights to your stakeholders.

  • API Design: Responsible for the design and implementation of RESTful APIs using Django Rest Framework.
  • Payments: Worked on payment gateway integration using Stripe API, so customers can purchase product subscription.
  • Hot Backups: Built a service to perform regular non-blocking backups of MySQL database, and deployed it as Kubernetes CronJob.
  • CI/CD: Set up CI/CD pipelines using git version control system and Jenkins, starting from the creation of images, rolling out the environments to pushing the application code changes/features to production.
  • Security: Enhance existing APIs security by updating permission and authentication classes, throttling policies and adding server-side pagination.
  • Cloud: Deployment and maintenance of microservices on Google Compute Engine and Google Kubernetes Engine.
  • Test Driven Development: Improved unit test coverage from 56% to 95+%.
  • Frontend: Worked closely with UI team and aided in the modification of front-end components and architecture in Angular.
AppPerfect

Senior Software Engineer

Dec 2019 — May 2021

AppPerfect

Technologies: Security, Linux, Zero Trust Architecture, SAML Authentication, ELK Stack, AWS, Docker, React.js, Python, Apache Tomcat, osquery, Ansible, Single Sign On, Role-based access control (RBAC)

Verizon Software Defined Perimeter

Verizon SDP authorizes users' access to network resources and isolates servers to defeat server exploitation of vulnerabilities and configuration errors. It integrates multifactor authentication to defeat credential theft, including pass-the-hash, and SDP builds mutual TLS tunnels to defeat man-in-the-middle attacks.

  • SSO: Used Shibboleth Single Sign-On architecture with OpenLDAP to implement SAML authentication with multiple identity providers (IdP).
  • Fleet Manager: Service for checking device security and calculating trust score. Supports live queries, streaming logs, and effective management across 100,000+ servers, workstations, and laptops.
  • Endpoint Visibility: Built a cross-platform endpoint visibility application to query relevant information from fleet managed devices, such as antivirus presence and status, certificate validity, insecure apps, etc.
  • Leadership: Worked closely with product managers to strategize product design and implementation; mentored junior developers, interviewed prospective employees, participated in code-reviews and feature estimation process.
  • Admin Dashboard: React.js frontend for configuring Verizon SDP services and organization specific settings.
  • Admin CLI: Python command line client to interact with 70+ REST APIs, supporting unique payload, query, and path parameters for each API.
  • mTLS: Implemented mutual TLS authentication using scapy for mocking client connections and running smoke tests.
  • Docker Security: Packaged apps into containers, ran automated security checks, and ensured they follow docker best practices.
  • Deployment: Creation and deployment of Debian packages on Amazon ECS cluster using Ansible.
PeoplePerHour

Freelance Python Developer

Nov 2017 — Apr 2019

PeoplePerHour

Technologies: Python, Data Analytics & Visualization, Web Scraping, Flask, Data Structures and Algorithms, Effective communication

As a freelance python developer, I worked on more than a dozen small-scale projects with clients from all over the world. Mainly took projects related to data analytics (pandas, numpy, matplotlib) and web scraping. I have a 100% job success score on the platform. Some of my notable projects are:

Movie Script Analyzer

The client had thousands of movie scripts, and they wanted a software which could analyse each document and pulls out key information from them:

  • Basic data – such as number of pages, the data on the cover page, etc.
  • More complex data – Such as the number of times a character speaks, the description used to define a character, etc.

Later, the project scope was expanded, and I worked on more advanced use-cases.

Search tool for compiling and organizing data

A software that can go through an eBook in any format (ePub, PDF, AZW) and pull out information based on specific keywords. The program should then compile the search results from multiple books into a single text file so that the entries can be sorted and evaluated. The project was delivered successfully and the client used it in their classroom for academic purpose.

Tekolutions.ai

Machine Learning Intern

Aug 2018 — Oct 2018

Tekolutions.ai

Technologies: Python, Computer Vision, Machine Learning, OpenCV, Tensorflow

Cheque processing system

Worked in a team of two to implement a real-time cheque processing system using Computer Vision algorithms. The objective of this system was to extract key information present in a cheque, such as:

  • Bank name and logo recognition.
  • Differentiation and recognition of machine printed text and handwritten text.
  • Detection of signature forgeries in cheques.

Education

I have a bachelor's degree in Information Technology, but I am mostly self-taught in the technologies and tools I use today. Here are some of the most relevant courses I have completed:

Udemy

Udemy

Course Contents: Next.js, Incremental Site Regeneration (ISR), Static Site Generation (SSG), Server Side Rendering (SSR), File Based Routing, Authentication (NextAuth.js), Optimization Techniques (SEO & Performance)

LinkedIn Learning

LinkedIn Learning

Course Contents: Design Patterns, Architectural Patterns, Conway’s Law

Udacity

Udacity

Course Contents: Data Modeling, API Development and Documentation, Identity Access Management, Server Deployment and Containerization, Flask, PostgreSQL, React, AWS EKS, CI/CD pipeline

Stanford | Online

Stanford | Online

Course Contents: Artificial Neural Network, Logistic Regression, Linear Regression, MATLAB, Regularization to Avoid Overfitting, Supervised Learning, Decision Trees

EdX | MIT

Introduction to Computer Science and Programming Using Python

Sep 2016

EdX | MIT

Course Contents: Python 3, Data structures, Basic Algorithms, Algorithmic Complexity, Testing and Debugging