Career Timeline
A chronological journey through my roles, projects, and certifications. Demonstrating growth, impact, and a passion for engineering.
Modern Minesweeper
Personal Project
An android game which lets you play the classic Minesweeper game with a modern UI. This game also offers various game modes, multiple themes, and personal high score ranking game.
Software Development Engineer
CodeNicely
- Pioneered the development of tailored backend systems and REST APIs using Django Rest Framework(DRF)..
- Crafted web applications tailored to clients' demands, ensuring alignment with expectations.
- Led a team of four professionals, guiding the design and development of projects across diverse platforms.
- Personally managed client relationships, gathering feedback for continuous development and quality assurance.
- Mentored new Django developers, contributing to their professional growth within the company.
- Conducted interviews, shortlisting candidates aligned with company requirements.
- Managed cloud deployments on AWS EC2 instances and S3 buckets.
- Engineered Python scripts integrated with custom AWS IAM service roles to achieve automated EC2 scaling.
- Integrated Sentry for real-time error tracking and performance monitoring.
Healthpotli
Personal Project
An Amazon like application for Health-Care Products/Medicines. It has around 50k customers and 35k+ products. The project operates in more than 5 cities in India. This platform has all the features of Amazon, like wallets, referral bonus, promo codes etc.
Terraform GCP Modules
Personal Project
This is a code written in terraform language. You can find some modules in this repository which can be executed in GCP for the resources creation (mainly infrastructure management to be precise)
Data Engineer
SpringML
- Devoted expertise to the management of GCP resources.
- Developed REST APIs on Flask, deploying them seamlessly on GCP,establishing CI/CD pipelines utilizing Google Cloud Build and GitHub Actions.
- Leveraged Terraform for Infrastructure as Code to efficiently manage cloud resources.
- Implemented event-driven architecture using Google Cloud Pub/Sub for message delivery, integrating with Twilio Voice API to create a scalable, real-time call queue system.
- Utilized Google Kubernetes Engine (GKE) to deploy and manage containerized applications for multiple client projects and proof-of-concepts.
- Took advantage of various Google Cloud services, including Cloud Run, Cloud Functions, Cloud SQL, Secret Manager, Pub-Sub, Cloud Storage, Docker and Google Kubernetes Engine for multiple projects and proof of concepts.
Google Cloud Certified Professional Data Engineer
Google Cloud
- Demonstrates expertise in designing scalable data processing systems
- Covers data pipelines, ML, and reliability on GCP
- Industry-recognized professional certification
Telelanguage
SpringML
Telelanguage is committed to providing the customers with the highest quality language services with fast connections to certified interpreters. Interpretation over audio and video calls are the core features that it provides.
C-Out
Personal Project
This python package will help you to print out colored/formatted outputs in your terminal. So basically, this is just python print with steroids.
Know Your Exceptions
Personal Project
If you are having troubles in finding out which exception classes to use to handle the exceptions/errors in your code, this package will help you to just serve you the solution for the same.
CLIA
Personal Project
CLIA stands for Command Line Intelligent Assistant. This is an attempt to create a miniature version of smart assistant (like Siri, Alexa, Google Assistant) on the command line interface.
Engineer
Fractal
- Spearheaded the development and maintenance of backend APIs using Flask and Django for various projects.
- Designed and maintained responsive front-end components with ReactJS and Redux Toolkit.
- Created data transformations leveraging Pandas DataFrame to optimize data processing.
- Collaborated within a dynamic team to design, develop, and deploy scalable, robust microservices meeting client specifications.
- Contributed to code reviews, testing, debugging, and troubleshooting to ensure the delivery of high-quality solutions.
- Maintained comprehensive documentation and provided technical support to team members and clients when needed.
- Orchestrated microservices using Azure Kubernetes Service (AKS) for efficient deployment and horizontal scaling.
- Utilized PySpark in Azure Databricks for stream processing, fetching high-volume data from SAP databases to optimize data transformations.
ComCen
Fractal Analytics
This is an application delivered to the client Procter & Gamble, which manages their internal shipment deliveries from one warehouse to another. This project is scalable enough to operate in multiple cities and with multiple languages. Apart from all the calculations that it performs, it has a different admin panel for every city to configure various aspects of the dashboard.
SickDict
Personal Project
- Published an open-source IDE-friendly Python dictionary package on PyPI
- Implemented dot-accessible attributes with full auto-completion support
Body Measurement Tracker
Personal Project
As the name suggests, it is for the fitness-enthusiasts who wants to keep track of the measurements of various parts of their body. Here they have the ability to track multiple body parts, and the platform is capable enough to handle data of thousands of rows. Chart option is also available to graphically see the progress as well.
Manager - Decision Sciences
HSBC
- Independently validating and challenging financial models developed for Risk Management in the Retail domain.
- Ensuring the accuracy and reliability of financial models used in HSBC's Retail banking.
- Communicating complex information about models and risks to other departments in the company.
- Providing guidance and training to interns on Python programming and financial modeling concepts.
- Reviewing Python code for models, providing feedback and approvals for changes (Pull Requests).
Engineer 2
Hashicorp | An IBM company
- Engineer new modules and implement core bug fixes for HVD clusters using Go, including designing new Cadence workflows and modifying Protobuf files.
- Manage on-call escalations to troubleshoot and debug HVD clusters deployed across AWS/Azure environments.
- Develop Go/Bash scripts utilizing AWS IAM roles to automate the cleanup of excessive S3 storage and stale IAM resources, optimizing cloud costs.
- Automate operations and deploy proof-of-concept projects using Terraform and Kubernetes to reduce manual tasks.
- Monitor infrastructure health and incidents using Datadog; resolve issues promptly.
- Collaborate with engineering teams to plan and implement infra improvements.
- Handle customer support tickets; troubleshoot and resolve cluster issues.
- Conducted interviews (even for Project Managers), shortlisting candidates aligned with company requirements.
Python f-strings
Personal Project
Today, weβre diving into a new tutorial where weβll explore a fantastic feature in Python β F-Strings. ## What are f-strings? ----------------------- * F-Strings in Python provide a straightforward way to format strings. * Youβll need version 3.6 or higher to leverage this feature. ## Uses of f-strings ----------------- * Can be used for debugging, such as in print statements or logs. * Can be used for assigning formatted or transformed string value to a variable (Youβll understand what I mean by the end of the blog). How to create an f-string ------------------------- * Add letter βfβ before defining a string. Example: `f"Namaste World"` . * Use curly braces to embed a python code (or a variable) in f-strings. Below is an example of how to use it - ```python name = "Gautam" print("My name is " + name) # Without f-string print(f"My name is {name}") # With f-string # Output # My name is Gautam # My name is Gautam ``` Now that we have learnt how to define an f-string, letβs dive into some of the features of it. ## Debugging made easy ------------------- Letβs say you have multiple variables defined like this ```python name = "Gautam" place = "Bharat" age = 26 ``` You are planning to print all of the values. Your usual approach will be something like this - ```python print(f"name = {name}") print(f"place = {place}") print(f"age = {age}") # Output # name = Gautam # place = Bharat # age = 26 ``` But the similar result can be achieved in fstring using `=`operator ```python print(f"{name = }") print(f"{place = }") print(f"{age = }") # Output # name = 'Gautam' # place = 'Bharat' # age = 26 ``` Which gives us exactly same output but with much less effort. > So that means, just adding β=β after variable name inside curly braces will print the variable name with the value. ## Arithmetic and conversion operations 1. **Basic arithmetic operations β** ```python num1 = 80 num2 = 20 print(f"The sum is {num1 + num2}") # Output # The sum is 100 ``` Like addition, we can also perform subtraction, multiplication etc. 2. **Limiting decimal digits β** ```python pi = 22/7 print(f"{pi = }") print(f"pi with 2 decimals = {pi:.2f}") # .2f = only 2 decimal digits print(f"pi with 4 decimals = {pi:.4f}") # .4f = only 4 decimal digits # Output # pi = 3.142857142857143 # pi with 2 decimals = 3.14 # pi with 3 decimals = 3.1428 ``` As the example above shows, `.nf` will limit the number of decimals to βnβ digits. 3. **Conversion to binary** β ```python # Converting to binary age = 26 print(f"My age = {age}") print(f"My age in binary = {age:b}") # b = binary. similar can be done for octal and hexadecimal # Output # My age = 26 # My age in binary = 11010 ``` Now that you know how to convert a string to binary using f-strings, try finding out how to convert it to octal or hexadecimal by yourself. 4. **Comma separated integers β** A normal integer number can be converted into a comma separated integer by just using this nifty little technique here - ``` # Comma separated integer not_my_money = 123456789 print(f"{not_my_money = :0,}") # Output # not_my_money = 123,456,789 ``` So, are you seeing common pattern here? > `=` operator means name of the variable and the value must be displayed. > > `:` means an operation/transformation is to be performed on the value of the variable. ## Datetime to string using f-strings ``` from datetime import datetime now = datetime.now() # Conventional method formatted_date_1 = now.strftime("%Y-%b-%d %H:%M:%S") print(f"{formatted_date_1 = }") # Using f-strings formatted_date_2 = f"{now:%Y-%b-%d %H:%M:%S}" print(f"{formatted_date_2 = }") # Output # formatted_date_1 = '2023-Dec-12 01:06:34' # formatted_date_2 = '2023-Dec-12 01:06:34' ``` ## Speed comparison with other string formatting methods ``` import timeit string1 = "My name is {f_name}, I am {f_age}".format(f_name=name, f_age=age) # str.format() method string2 = "My name is %s, I am %d" % (name, age) # % method string3 = f"My name is {name}, I am {age}" # f-string print(f"{string1 = }") print(f"{string2 = }") print(f"{string3 = }") method1 = lambda: string1 method2 = lambda: string2 method3 = lambda: string3 # Calculating avg time taken for each method time1 = timeit.timeit(method1, number=100000) time2 = timeit.timeit(method2, number=100000) time3 = timeit.timeit(method3, number=100000) print(f"Avg time taken by str.format() = {time1}") print(f"Avg time taken by % operator = {time2}") print(f"Avg time taken by f-strings = {time3}") # Output # string1 = 'My name is Gautam, I am 26' # string2 = 'My name is Gautam, I am 26' # string3 = 'My name is Gautam, I am 26' # Avg time taken by str.format() = 0.006625500041991472 # Avg time taken by % operator = 0.00526219978928566 # Avg time taken by f-strings = 0.004289500182494521 ``` So, as we can see in the output of the above code snippet, f-strings not only enhance code readability but also offer better performance compared to other formatting methods compared to other string formatting methods. Donβt hesitate to explore and implement them in your Python projects for a more concise and efficient syntax. Happy coding! **Other important links** - * **_Github:_** [_https://github.com/singhgautam7/tutorials/blob/main/Python/Videos/fstrings.py_](https://github.com/singhgautam7/tutorials/blob/main/Python/Videos/fstrings.py) * **_Youtube:_** [_https://www.youtube.com/watch?v=pvc5_Dm-LnU_](https://www.youtube.com/watch?v=pvc5_Dm-LnU)
AI Book Reader β Deep Case Study
Case Study
- AI Book Reader is a privacy-first, browser-based application that converts PDFs, EPUBs, and web articles into immersive audiobooks
- It uses multiple AI text-to-speech providers β without uploading files to any server
AI Reader
Personal Project
- Built a Next.js web application that converts EPUBs, PDFs, and URLs into audio experiences using AI narration
- Implemented natural-sounding Web Speech API with bookmarking and a distraction-free UI
Now
Work: Currently Senior Software Engineer at Hashicorp (IBM), focused on creating high-availability infrastructure deployments scaling globally.
Building: Experimenting with generative AI interactions, edge computing systems, and modern full-stack architectures for personal projects.
Learning: Deep diving into local, high-performance RAG pipelines and understanding memory paradigms for intelligent agents in autonomous workflows.
Reading: Exploring "Designing Data-Intensive Applications" (again) and recently finished "Staff Engineer: Leadership beyond the management track".
Interested in my resume?
Download Full Resume