Gaurav Tyagi
Verified Expert in Engineering
Back-end Developer
London, United Kingdom
Toptal member since May 26, 2021
Gaurav is a polyglot back-end developer with 20+ years of hands-on experience; he's worked as a freelance developer for the past several years. He primarily works with Java and C and is also comfortable with Go being the primary project language or for infrastructure modules. Thanks to having built products in various industries—like finance, healthcare, media, retail, food, and travel—Gaurav has a range of tech and functional skills, which means he can hit the ground running on a project.
Portfolio
Experience
- Java - 20 years
- REST APIs - 11 years
- Amazon Web Services (AWS) - 6 years
- Apache Kafka - 5 years
- Apache Cassandra - 5 years
- Kubernetes - 4 years
- Spring Boot - 3 years
- Go - 2 years
Availability
Preferred Environment
MacOS, Linux, Cloud, Slack, IntelliJ IDEA, Java, Go, Integration, Jira, Low Latency
The most amazing...
...thing I've developed was a custom data migration strategy that migrated more than 200 million records from one database to another without any system downtime.
Work Experience
Senior Developer
Discovery UK
- Developed and maintained the functionality of determining user entitlements when users try to playback content from Discovery Channel's website. The app currently handles a peak traffic number of 80,000 requests per second.
- Managed five different microservices liable for playback, entitlements, capability determination, and global settings management.
- Oversaw and supported the deployment of applications across various environments, including development and production via Kubernetes pods.
Senior Java Developer
GrowthDay
- Developed modules for marketing and interface with different marketing partners like Kajabi, Mixpanel, AppsFlyer, and Facebook.
- Passed on data generated from user interactions on the UI to different marketing companies that could be used to understand user behavior and take appropriate actions.
- Deployed services across different environments, including development, user acceptance testing (UAT), and production.
Senior Developer
Tesco
- Developed an app that ensured the custom-built self-service check-out registers at Tesco were able to print receipts. These are Linux-based hosts that run multiple containers, each responsible for different functionality.
- Constructed printer drivers for any new printers that are onboarded for the till's software.
- Used Splunk to collect, manage, and monitor alerts, dashboards, and other parameters.
Senior Developer
Sky UK
- Developed and maintained an application that helps customers buy passes on the NOW TV website. This involved integrating 13 different downstream systems that use REST APIs and four microservices developed using Spring Boot and Dropwizard.
- Maintained the application infrastructure in non-prod and prod environments using Kubernetes. The routines used to manage them were built in Go; also supported the app in production and configured and tuned alerts in Prometheus.
- Built consumers and producers for receiving and publishing messages from and to Kafka and managed retries and rescheduling of unprocessed messages using custom-built solutions.
- Performed nonfunctional testing using Gatling to ensure that application endpoints responded within their service-level agreement (SLA). This sometimes involves profiling to ensure memory and CPU are utilized appropriately.
Senior Developer
Love Holidays
- Developed an app in Go to download emails from the external email server, process them, and store them into Google Cloud Storage. Used Google Cloud functions to transfer data into Bigtable for internal data analysis.
- Worked as part of the holiday booking team to maintain a Java app that helps customers book their hotel or combo holidays. This app links with a number of suppliers for hotel, airline, and taxi reservations.
- Used Kubernetes and Helm to deploy applications in non-production and production environments.
Senior Developer
Sky UK
- Worked in a pair-programming environment with BDD and TDD techniques to deliver a payments manager that orchestrates the payment workflow for NOW TV.
- Developed new microservices for integration with downstream systems using Java 8.
- Built and maintained application health rules for monitoring using Prometheus.
- Used Hystrix libraries to isolate calls downstream to enforce resilience in design.
- Utilized Kafka to publish and consume messages to and from disparate downstream systems. This was built using the Akka actor model and Akka persistence.
- Organized bi-weekly developer meetings across teams to discuss issues and improvements that would be useful for everyone.
Senior Developer
Expedia
- Developed an analytics dashboard for plotting time-series data and providing. different views of data to the user using Scala, Akka HTTP, and Elasticsearch.
- Composed CD pipeline scripts using Ansible that bake the application into an Amazon Machine Image (AMI) to achieve a near immutable infrastructure.
- Used AWS CloudFormation templates to create different application environments on AWS.
Development Engineer
Sky UK
- Worked in a pair-programming environment with BDD and TDD techniques to deliver over-the-top (OTT) video content over different devices. The app also used Netflix Hystrix as a circuit breaker to ensure the response times stay within SLAs.
- Built and maintained REST services using the Dropwizard framework.
- Developed and maintained application health rules for monitoring using AppDynamics.
- Composed CI pipeline scripts to work on AWS and Sky's private cloud.
Senior Developer
Wipro
- Worked on the MCCS program, which helps Prudential to let its customers register and access its policies online.
- Wrote Camel routes in Java to orchestrate services, which communicate with different legacy systems using Blueprint, which are exposed as SOAP and/or REST web services.
- Implemented caching using Camel Ehcache and developed interceptors for applying system-wide policies on different Camel routes.
Application Architect
Monitise
- Worked as an application architect and was involved with performance testing the platform and profiling using JProfiler to detect any bottlenecks and fix them.
- Led the development, as a teaching assistant (TA), of Common Platform registration, which is a common OSGi component used by all other accounts. Migrated REST implementation to Apache CXF, deployed in Fuse ESB with JPA entities backed by MySQL.
- Created low-level designs and ensured that the new components work similar to the old registration components; also developed adapters to communicate with external systems.
Analyst Programmer
BGC Partners
- Built components for integration between middle-office and back-office systems.
- Developed Mule-based components to process a stream of messages (file and queue-based) and send them out to third-party reconciliation systems.
- Constructed a jBPM-based framework that could schedule and process messages and manage data flow dynamically using Mule components.
Application Architect
DXC Technology
- Designed and developed a rules execution framework for executing rules on any third-party rule engine. It implemented JSR-94 and can be accessed locally within an app or remotely over a network.
- Developed a visual product modeling system, a portable, self-documenting software tool that helps health plan business experts roll out new products and quickly support business changes without programming.
- Created routes and mappings over an integration broker, the IBM strategic Enterprise Service Bus (ESB).
Java Developer
IBM
- Developed authentication modules for the WebSphere Application Server (WAS) versions 5.x and 6.x.
- Built a framework that automated testing of the application server over different systems using an AWS Batch scheduler.
- Created an interface for a custom-built communication server that could convert data over the Snarl network protocol (SNP) to the transmission control protocol (TCP).
IT Analyst
Tata Consultancy Services
- Developed a custodial solution to manage a customer's portfolio. Also, worked on a message transformation system that supported the transformation of custom messages.
- Worked for JPMorgan Chase to deploy the global straight-through processing association (GSTPA) application that supported T+1 settlement.
- Built a disaster recovery system using IBM MQSeries that could recover lost data by reverse-engineering the messages that have been processed.
Experience
Email Traffic Analysis to Check Email Reliability
The application runs on Kubernetes.
Cache for C-based Applications
Personal Website | JustForFunStuff
https://www.justforfunstuff.com/Education
Master's Degree in Computer Science
Indian Institute of Technology - Delhi, India
Bachelor's Degree in Computer Science
Mangalore University - Mangalore, India
Certifications
Functional Programming Principles in Scala
Coursera
Skills
Libraries/APIs
REST APIs, Hystrix, JAX-RS, Reactor, React
Tools
IntelliJ IDEA, Grafana, GitHub, Git, Slack, Gatling Load Testing, Splunk, Google Compute Engine (GCE), Helm, Amazon Elastic Container Service (ECS), Ansible, Terraform, Jira, AWS CloudFormation, ELK (Elastic Stack), AppDynamics, JProfiler, IBM MQ, MongoDB Atlas
Languages
Java, Go, XSL, XML, Scala, C, Java 8, Java 11, Java 16, Kotlin, Rust
Frameworks
JUnit, Spring Boot, Dropwizard, Micronaut, Akka, Apache Camel, OSGi, Vert.x, Spring WebFlux, gRPC
Paradigms
Microservices, Agile Software Development, Test-driven Development (TDD), Behavior-driven Development (BDD), DevOps, Functional Programming, Reactive Programming, Scrum, REST
Platforms
MacOS, Linux, Apache Kafka, Kubernetes, Amazon Web Services (AWS), Docker, Amazon EC2, AWS Lambda, AWS NLB, Mule ESB
Storage
XML Schema, Google Bigtable, Google Cloud Storage, Amazon S3 (AWS S3), Redis, Oracle9i, Elasticsearch, MySQL, JSON, PostgreSQL, MongoDB
Other
SOAP, Back-end, Distributed Systems, APIs, Back-end Development, Cloud, CI/CD Pipelines, Integration, Low-latency Software, Prometheus, Apache Cassandra, Low Latency, Algorithms, Code Review, Technical Hiring, Technical Design, Interviewing, Task Analysis, Architecture, Java 17, Printer Drivers, Google Cloud Functions, Amazon Route 53, Google BigQuery, WebSphere Application Server, Enterprise Service Bus (ESB), Akka HTTP, JBoss Fuse, Enterprise Java Beans (EJB), Trading, Web Application Firewall (WAF)
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring