Java Developer in Amsterdam, Netherlands
Senior Developer | Team Lead2017 - PRESENTBooking.com
Technologies: Java, Perl, Hadoop, MySQL, Big Data, Hive, Spark, Oozie, Druid, Docker, Kubernetes, Junit, Git, JPA, SQL
- Led the general data protection regulation (GDPR) efforts for the customer service (CS) and tech/product departments.
- Identified challenges within the department and later worked with the product team in tackling them.
- Spearheaded data ownership and management within the department.
- Acted as the big data ambassador for the entire customer service department and coordinated the set up of a big data community within the customer service (CS) department.
- Supported and answered all data infrastructure related questions and topics.
- Guided different teams in the builds of reliable data pipelines.
- Evaluated possible solutions to replace Red Box recorders for voice tracks.
- Introduced Druid as a real-time OLAP engine to the department.
- Provided technical and commercial direction to team.
- Mentored team members in their craft and soft skills.
Development Team lead2013 - 2017Booking.com
Technologies: Perl, Hive, Hadoop, SQL
- Managed the rollout of 2.0 version of Ticketing, a system where agents logged in their work.
- Took over the role of product owner for a while and led to the project of Ticketing.
- Facilitated a close collaboration between the agent routing and the Ticketing teams.
- Built a bridge between the analyst community and the developer who generated data for the CS department.
- Restructured the process of doing regular one-on-one meetings with team members.
- Headed the agent's workshop around Ticketing's phase 2.0 in order to understand how they used new flows.
- Automated many simple procedures followed by CS executives to speed up the issue handling.
- Worked with the CS forecasting team to build better forecasting models.
- Created a real-time data ticketing pipeline in Kafka to be consumed by an analyst and a data scientist.
- Explored Druid as a platform for a real-time ad-hoc analysis of CS data.
- Introduced Druid technology for a machine-learning-scaling track.
- Granted access to the open source community a Perl plugin for Druid.
- Facilitated the Druid adoption in the company while working with a business reporting team to get them started with Druid.
- Developed a CS inbound driver insightsdashboard in Druid.
- Was awarded a "Bloody Helpful" award within the CS department for three consecutive quarters.
Back-end Developer2012 - 2013eBuddy.com (Amsterdam)
Technologies: Java, MySQL, Spring, Mockito, JUnit, Jenkins, Hibernate, Servlet
- Developed an eBuddy XMS internet scale mobile messaging platform.
- Worked as part of a cross-functional agile team, developing all aspects of the product.
- Researched upon various solution possibilities to a problem and then implemented it.
Senior Consultant2011 - 2012Xebia (Amsterdam)
Technologies: Java, Atlassian, Jira
- Conducted requirement gathering and interacted with the users.
- Developed custom Atlassian plugins in Jira/Confluence for team’s specific requirements.
- Consulted on Agile tool selection to help the product and operations teams get aligned with Scrum and Kanban.
- Advised and helped the sales and marketing teams to move their workflow management in Jira.
- Created and implemented upgrades and rollout plans for various Atlassian products.
- Evangelized various teams, in Gumtree (Australia), Kijiji (Italy), and Mobile.de (Germany), into using ECG’s Atlassian tool ecosystem.
Consultant | Scrum Master2009 - 2011Xebia (India)
Technologies: Java, Junit, Spring, Spring Integration, SQL, Hibernate, Git, Servlet
- Built the back-end, handling all of the data and enrichment processes.
- Designed and implemented user stories.
- Wrote unit and functional tests.
- Contributed to the planning, iteration kickoffs, and retrospectives.
- Coordinated the backlog creation and regular prioritization of stories in the backlog with the product owner.
Senior Developer2007 - 2009GlobalLogic
Technologies: Java, Seam, SQL, Junit, JPA, Tomcat
- Contributed to the creation of the entire Acteva application (three modules) on a J2EE stack which eventually replaced the old Acteva ColdFusion-based application.
- Developed a class module which included concepts such as instructor, training venue, and attachments.
- Built a report module for the generation of money-related event reports and the list of attendees.
- Created a refund module which handled the entire refund request made by the attendees of the event.
Developer2006 - 2007GlobalLogic
Technologies: Java, Seam, SQL, Junit, JPA, Tomcat
- Developed a reporting module for the transactional database of OpenAds.
- Built a generic report module for generating basic reports based on filters and parameters.
- Developed a forecasting module which included revenue and revenue forecasting of their campaigns.
- Created a module for generating unique user reports and CPM (cost per million) campaign tracker reports.
- Perl Client for Druid.io (Development)https://github.com/gauravkohli/Druid
At Booking.com, we heavily use Perl for development so I wrote this Perl client for Druid.io (a high-performance analytics data store for event-driven data). By using this, it becomes really easy to get data from the Druid store.
- Rules with Drools (Other amazing things)https://www.slideshare.net/falcondot/rules-with-drools-9995827
Here, you can see the slides I used when I presented Drools, a business rule management system at a conference called OSS Camps in 2009.
- Data Engineering on the Google Cloud Platform (Other amazing things)https://www.credential.net/4wt52jwt
This is an introduction to designing and building data processing systems on the Google Cloud Platform. Participants will learn how to design data processing systems, build end-to-end data pipelines, analyze data and carry out machine learning. The course covers structured, unstructured, and streaming data.
- Breaking with Relational DBMS and Dating with Hbase (Other amazing things)http://j10.indicthreads.com/117/breaking-with-relational-dbms-and-dating-with-hbase/
In 2010, I gave a presentation on a comparison between HBase and a relational DBMS (database management system) at the IndicThreads.com conference.
- Zero Downtime Jenkins Continuous Deployment with Terraform on AWS (Publication)When your app’s next iteration is ready to deploy, you have two choices: either stop the entire application and deploy the new version manually every time or build an automated zero downtime CI/CD deployment pipeline once. In this article, Toptal Freelance DevOps Engineer Gaurav Kohli demonstrates the latter using the Jenkins-powered continuous deployment pipeline of a three-tier web application built in Node.js, deployed on AWS Cloud, and using Terraform as an infrastructure orchestrator.
FrameworksSpring, Mockito, Spring Security, Spring Boot, Bootstrap, Angular, Hadoop, Spring Integration, JUnit, Apache Struts 2, JSON Web Tokens (JWT), Apache Spark, Hibernate, Seam
PlatformsDocker, Android, Kubernetes
StorageApache Hive, Druid.io, MySQL, Elasticsearch, SQL CE
ToolsGoogle Cloud Composer, Jenkins, Oozie, Apache Airflow, Cloud Dataflow, Google Cloud Dataproc, GitLab CI/CD, GitLab, GitHub, IntelliJ IDEA, Docker Hub, Git
ParadigmsTest-driven Development (TDD), Kanban, Continuous Integration (CI), REST, Continuous Delivery (CD), Unit Testing, Agile Software Development, Clean Code
OtherBig Data, Progressive Web Applications (PWA), Streaming Data, Ajax
- Bachelor's degree in Computer Engineering2002 - 2006Indian Institute of Information Technology - Allahabad, India
- DataStax Certified Cassandra DeveloperJANUARY 2013 - PRESENTDataStax