Deepankar Sharma
Senior Software Engineer
Over the past six years, I've honed my expertise in software development, problem-solving, and scaling applications for real-world challenges. My sweet spot lies in optimizing tech stacks, particularly when Python, cloud infrastructure, or serverless solutions come into play.
When I'm not solving complex engineering puzzles or scaling systems, you'll find me chasing new ideas, or hitting the court for a round of badminton, a swim, or playing table-tennis π. Being an introverted soul, I often find myself researching about random topics and ideas on the internet (curiosity killed the cat, but satisfaction brought it back π). These days, I am particularly interested in security and personal finance / investing.
Experience
Senior Software Engineer
Oct 2022 β presentAzuga (Bridgestone)
Skills: Python, Postgres, Serverless (AWS Lambda), Data Analytics, Django + DRF
Technologies: Python, Postgres, Serverless (AWS Lambda), Data Analytics, Django + DRF
Creating cutting-edge solutions for the fleet management industry using telematics, IoT, and data analytics.
Serverless Architecture: Orchestrated the seamless integration of third-party telematics service provider (TSP) APIs, enabling daily data ingestion via Celery tasks and AWS Lambda.
Multitenancy: Engineered a shift from a single-tenant to a multi-tenant architecture, cutting AWS expenses by ~50% and significantly improving system efficiency and resource utilization.
Database Optimization: Dramatically enhanced query performance by optimizing PostgreSQL for time-series data, achieving up to a 100-fold speed increase and significantly reducing front-end load times.
DevOps Automation: Enhanced developer efficiency by standardizing Python version and dependency management, by implementing open-source tools to automate mundane tasks, which minimized cognitive overhead and errors.
Full Stack Developer
May 2021 β Sep 2022Series Code
Skills: 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
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.
Senior Software Engineer
Dec 2019 β May 2021AppPerfect
Skills: 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)
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.
Freelance Python Developer
Nov 2017 β Apr 2019PeoplePerHour
Skills: Python, Data Analytics & Visualization, Web Scraping, Flask, Data Structures and Algorithms, Effective communication
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.
Machine Learning Intern
Aug 2018 β Oct 2018Tekolutions.ai
Skills: Python, Computer Vision, Machine Learning, OpenCV, Tensorflow
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
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
Course Contents: Design Patterns, Architectural Patterns, Conwayβs Law
Udacity
Course Contents: Data Modeling, API Development and Documentation, Identity Access Management, Server Deployment and Containerization, Flask, PostgreSQL, React, AWS EKS, CI/CD pipeline
Machine Learning by Andrew Ng
Jun 2018Stanford | Online
Course Contents: Artificial Neural Network, Logistic Regression, Linear Regression, MATLAB, Regularization to Avoid Overfitting, Supervised Learning, Decision Trees
Introduction to Computer Science and Programming Using Python
Sep 2016EdX | MIT
Course Contents: Python 3, Data structures, Basic Algorithms, Algorithmic Complexity, Testing and Debugging