cv

Varun Sharma is an experienced technologist with experience building complex products in the domain of Finance, Healthcare, and Travel. He has spent time as a Research Engineer in the field of Distributed Computing. His current focus is on building enterprise AI platform that production ready and impact real KPIs for an enterprise.

Basics

Name Varun Sharma
Label Builder. Problem Solver.
Url https://sharmavarun.in
Summary I have worked on a diverse set of problems, tools and technologies in the last 2 decades. I enjoy working on complex problems that require a blend of technical and business acumen.

Work

  • 2023.11 - Present
    Head of Products
    AuxoAI
    • Artificial Intelligence
    • Product Management
    • Engineering Management
    • Machine Learning
    • Platform Development
  • 2021.02 - 2023.11
    Vice President, Data Science and Machine Learning
    Goldman Sachs
    • Natural Language Processing
    • Product Management
    • Engineering Management
    • Platform Development
  • 2017.09 - 2021.01
    Chief Technology Officer
    Onco.com
    • Engineering Management
    • Information Retrieval
  • 2013.11 - 2017.08
    Senior Research Engineer
    Xerox Research Center India
    • Distributed Computing
    • Engineering Management
    • Research Engineer
  • 2011.04 - 2013.10
    Engineering Manager
    Via.com
    • Online Travel
    • Engineering Management
    • Software Development
  • 2007.07 - 2012.06
    Senior Software Engineer
    Nomura and Lehman Brothers
    • Mortgage Analytics
    • FX Risk Analytics
    • Software Development

Education

  • 2003.08 - 2007.05

    Kanpur, India

    Bachelor of Technology
    Indian Institute of Technology, Kanpur
    Computer Science and Engineering

Publications

  • 2016
    SCoPe: A Decision System for Large Scale Container Provisioning Management
    2016 IEEE 9th International Conference on Cloud Computing (CLOUD)
    Operating system (OS) containers provide a process level virtualization in a multi-tenant Cloud environment. Such containers are becoming increasingly popular in developer community as they facilitate fast development and delivery of enterprise class Cloud services. Furthermore, these containers share a common OS and hence, they have a low resource foot-print leading to reduced provisioning time. In this paper, we investigate such promise of containers while provisioning large scale 3-tier applications. First, through benchmarking, we observe that at very large scale, several application scaling factors (e.g., number of containers of an application provisioned in parallel, application load) and system state parameters (e.g., number of applications and containers running on a system) introduce variability in application provisioning time because of resource bottleneck in general, and specifically due to the OS process overhead. To address such variability, we propose a provisioning decision management system SCoPe that provides an application partitioning and provisioning strategy where we determine the maximum number of containers of every application that can be provisioned in parallel across physical machines, while meeting the service level agreement (SLA) on provisioning time and Cloud provider specific objectives (e.g., maximize consolidation of applications, minimize operating cost). This joint partitioning and provisioning problem is NP-hard and we propose a greedy heuristic solution. Using real data set and through extensive experiments, we demonstrate the performance of SCoPe for large scale container based application provisioning. Compared to other well-known heuristics, SCoPe can reduce the partitioning by 5x or more, while meeting SLAs.
  • 2015
    Personalized Messaging Engine: The Next Step in Employee Engagement
    2015 IEEE International Conference on Service-Oriented Computing
    Employers today are struggling to engage positively with their employees to reduce attrition and improve productivity. There are solutions in the market which are trying to solve the problem but they suffer from two critical issues. Firstly, the scope of the existing solutions is too narrow to capture each and every interaction happening within the company. Secondly, their learning from the employee behaviour is either non-existent or minimal at best. Personalized Messaging Engine (PME) is an attempt to provide end-to-end system to organizations for effective employee engagement. PME uses SOA principles to connect to each and every system through which employees engage with their employers. It uses the data aggregated from multiple systems to provide a hyper-personalized and dynamic experience to each employee. With the help of APIs, multiple systems can push data to PME and it then processes the data to send relevant pre-configured messages to the employees in the domain of Health, Wealth and Career. Additionally, PME uses several factors to prioritize messages for each and every employee. It uses a state-of-the-art learning engine to combine Subject Matter Experts opinion, Client Strategy, User Experiences and behaviour to find the messages which are most effective for the employees.
  • 2015
    A Scalable Approach for Context Based Complex Service Discovery
    IEEE International Conference on Web Services (ICWS)
    Discovering and matching services is an area that has been extensively explored. In this paper we envision services that advertise not only their functional parameters, but also highlight the Quality of Service(QoS) guarantees (or non-functional parameters) they can provide. As a result users can also incorporate QoS requirements along with the service request. Given the vast pool of services available today, leading to complex ontologies, the search space becomes extremely large, increasing the complexity of the search. We construct an overlay reflecting the relationships between the services, which facilitates the pruning of the entire search space. Additionally our system takes into consideration the user context which provides information pertaining to the users preferences. (eg: A user could be performance-savvy or functionally-cautious etc) We propose an algorithm CCD (Context based Complex service Discovery), which utilizes the inputs provided by the users and determines the similarity quotient for the functional and QoS parameters. Our experiments show that CCD significantly improves the scalability of the search by aggressively pruning the search space, achieved by visiting only relevant nodes. CCD further uses the requester context to improve the recommendations provided to the requester. We also compare CCD with two baseline approaches based on the depth-first search algorithm on a travel ontology, which was created using real service definitions from the Open Travel Alliance (OTA).
  • 2007
    An Optimal Flow Assignment Framework for Heterogeneous Network Access
    IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks
    We consider a scenario where devices with multiple networking capabilities access networks with heterogeneous characteristics. In such a setting, we address the problem of efficient utilization of multiple access networks (wireless and/or wireline) by devices via optimal assignment of traffic flows with given utilities to different networks. We develop and analyze a device middleware functionality that monitors network characteristics and employs a Markov Decision Process (MDP) based control scheme that in conjunction with stochastic characterization of the available bit rate and delay of the networks generates an optimal policy for allocation of flows to different networks. The optimal policy maximizes, under available bit rate and delay constraints on the access networks, a discounted reward which is a function of the flow utilities. The flow assignment policy is periodically updated and is consulted by the flows to dynamically perform network selection during their lifetimes. We perform measurement tests to collect traces of available bit rate and delay characteristics on Ethernet and WLAN networks on a work day in a corporate work environment. We implement our flow assignment framework in ns-2 and simulate the system performance for a set of elastic video-like flows using the collected traces. We demonstrate that the MDP based flow assignment policy leads to significant enhancement in the QoS provisioning (lower packet delays and packet loss rates) for the flows, as compared to policies which do not perform dynamic flow assignment but statically allocate flows to different networks using heuristics like average available bit rate on the networks.

Patents

  • US 10,678,874 B2
    Method and system for recommendation of a succession of one or more services for a service workflow
    A method and a system for recommendation of a succession of one or more services for a service workflow are disclosed. In an embodiment, a query is received to retrieve one or more services from a repository of a plurality of services stored in a hierarchical structure. The hierarchical structure comprises a plurality of hierarchical levels, each hierarchical level in the plurality of hierarchical levels comprising a set of nodes. Each node in the set of nodes in each hierarchical level, stores a first semantic information and a second semantic information. Further, the query is compared with the first semantic information and the second semantic information associated with a first node. The first node or the second node is selected based on the comparison. Further, the first set of services or the combination of services, associated with the selected node is recommended, as the service workflow, to the user.
  • US 2018/0052675 A1
    Method and system for managing delivery of analytics assets to users of organizations using operating system containers
    A method and a system are provided to manage analytics assets associated with at least one computer accessible to an organization using operating system (OS) containers. The method comprising receiving a request to process of a task on the user computing device. The method further select a set of analytics assets from a first category, based on at least one of a role of the user in the organization and a historical usage of the one or more analytics assets or a second category that corresponds to the user and are included in the container image associated with the user. The method further update the container image of the user, based on at least the selection of the set of analytics assets from the first category. The method further render the selected set of analytics assets through the updated container image on the user computing device of the user.
  • US 10,051,064 B2
    Method and system for recommending services to requestors
    A method and a system for recommending services to a requestor over a communication network. A request comprising one or more keywords and one or more service level agreements (SLAs), is received from a requestor computing device over the communication network, to process one or more tasks. One or more first services from one or more available services are selected based on the request. For a first service from the one or more first services, a first score and a second score is determined. The one or more first services are ranked based on the first score and the second score. A recommendation of the one or more first services is transmitted to the requestor based on the ranking.

Skills

System Design
Technical Architect
Domain Driven Design
Cloud Computing
Machine Learning
Generative AI
Natural Language Processing
MLOps
Engineering Management
Product Development
Team Management
Cross region collaboration

Languages

Hindi
Native speaker
English
Fluent