Ravi Sharma
Senior Software Developer, Paytm
Gurgaon, India
-
linkedin.com/in/ravisharma911993
-
www.cryptocost.in
Professional Experience
08/2020 – present
Gurgaon, India
Senior Software Developer 2B
Paytm
Managing Discovery service for the Paytm nearby stores which uses Elasticsearch
6+.
Coding Java based ES queries and custom ES query aggregation to search, filter,
list millions of stores, products in Elasticsearch.
Providing Spring Boot Restful Apis for autosuggestions of location, store, product
using Elasticsearch.
Creating, Designing, Updating Elasticsearch indices.
Writing Kafka consumers to process the messages smoothly and injecting
modified data into Elasticsearch indices.
Responsible for Continuous Integration (CI) and Continuous Delivery (CD) process
implementation using bamboo along with Shell scripts to automate routine jobs.
Writing MapReduce programs in Java to process large data sets using Map and
Reduce tasks.
Writing spark jobs using Scala in Zeppelin and deploying it on AWS EMR.
Uploading data from various sources into HBase, AWS S3 in Parquet, JSON, CSV
format.
Querying HBase using Apache Pheonix.
Developing technical designs for new application features.
Developing workflow charts, diagrams, and design documents.
Reviewing code of junior developers and other team members.
07/2018 – 07/2020
Gurgaon, India
Senior Software Developer
Nearbuy.com (Formerly Groupon India)
Managed search engine based on elastic search
Wrote multiple spark jobs using scala and Java.
Developed various services using Nodejs and Java for Merchant center app and
web.
Reactive programming using Spring Webflux.
Real-time analytics using Kafka as a messaging queue.
Wrote unit test cases for the services.
Designed database structure for the services. Using HBase, MongoDB, Bigquery,
and Postgres.
Integrated backend with Android, iOS, and Web application.
Deployed application on AWS and Ali cloud.
Managed sessions using Redis for the Nodejs application.
Managed Continuous Integration and Continuous Delivery process
implementation.
Reviewed the code of other team members and assisted them in their tasks.
Designed REST APIs using Swagger.
Created Low-Level design and flowcharts for the implementations.
10/2016 – 06/2018
Gurgaon, India
Senior Associate Technology
Nagarro Software Private limited
Developed high volume and low-latency applications for revenue management
systems and delivering high availability and performance.
Integrated applications by designing database architecture and server scripting.
Developed scalable application using Microservice architecture.
Documented Low-Level Design.
Developed new features using AngularJS and Angular4 and created interactive
graphs for the application using WebGL.
Integrated data from various back-end services and databases Identifying
bottlenecks and bugs, and devised solutions to these problems.
Reviewed code and help maintain code quality, organization, and automation.
Deployed backend and UI application.
Assisted other team members in their tasks.
Worked on complex data analyzing and statistical applications using R.
Built Proof of concept using Unreal engine and Blender.
08/2015 – 10/2016
Gurgaon, India
Associate Technology
Nagarro Software Private limited
Built microservices using Spring Boot, Spring Cloud, and Netflix OSS using the
Agile Software Development model.
Built services interacting through a combination of REST and RabbitMQ broker.
Developed UI using AngularJS.
Worked on Packaged management tools like NPM, Bower along with JavaScript
task runner Grunt.
Secured microservices using OAuth 2.0 and Spring security.
Implemented Request/Response model for marshalling/unmarshalling JSON
with Jackson and GSON libraries
Unit Tested application using Junit and Mockito.
Developed proof of concept using Unity3D and Blender
08/2014 – 08/2015
Gurgaon, India
Juniors Associate Technology
Nagarro Software Private limited,
Developed and automated data load process for various modules of Revenue
Management Web-enabled applications.
Developed objects in Java encapsulating database access and business logic.
Built reusable Java classes with JDK using Java API, specialized in Providing
Interactive User Interfaces.
Designed and Implemented databases for developed Java applications
employing Relational Data Modeling Methodology. Made heavy use of PL/SQL
Utilized JDBC and SQL for communication with the database.
Utilized JMS queues for coupling different stages of the business process.
Developed Front end using various web technologies
Developed HTML games using phaser.js
Languages
English
Punjabi
Hindi
Skills
Programming Languages
Java, C#, Scala, R(basics), JavaScript, Typescript
Search Engine
Elasticsearch
Databases
Oracle, MongoDb, Hbase, MySQL, SQL Server 2014
Frameworks
Spring Web flux, Spring Boot, Spring, Struts, OAuth
2.0, Spring Security, Spring MVC, Express.js
Middleware
Kafka, RabbitMQ, JMS
Web Development
Angular, AngularJS, HTML5, CSS3, Java Script,
Typescript, Bootstrap, AJAX, jQuery, JSON, YAML,
Vue.js
Serialization/Framework
Jackson, Kryo, GSON
Unit Testing tool
Junit, Mockito, Selenium, Jmeter
Netflix OSS
Zuul, Ribbon, Hysterix, Eureka, Feign
Design Methodlogy
Agile-Scrum, Test Driven Development
Other tools/ Framework
Unity, Blender, Webgl, SVG, d3.js, Jstree.js, Webix.js,
Phaser.js, Plotly.js
IDE
Webstorm, Spring Tool Suite Eclipse Kepler,
Brackets, Visual Studio, Net Beans, Intellij, Sublime,
Visual Studio Code, R Studio
SCM
Subversion, Git
Big Data Processing
Apache Spark
Java EE
Servlets, JSP and JSPX, JPA, JDBC, JMS
Education
2010 – 2014
Amritsar, India
B.Tech (Electronics and Communication Engineering)
Guru Nanak Dev University
CGPA - 8.92
2008 – 2010
Amritsar, India
XII
D.A.V Collegiate Senior Secondary School
2008
Goindwal Sahib, India
Xth
Guru Amar Dass Public School