Download PDF

I am currently working on the Platform for Identity Management Product at Vmware named Vmware Identity Manager. I contribute to areas related to performance, scalability and functional areas like API design, interaction with applications(web and mobile) both internal and external

In the past I have worked on the search infrastructure and components for the Oracle BI Platform. I concentrate on areas of crawl infrastructure and also parts of the search infrastructure. I am responsible for the entire architecture of the crawl backend and also portions of the search backend. I closely work with engineers on the User Interface aspects and also the Product Management team to deliver features end to end.

I have also worked on Content Management Platform and Infrastructure components around it. I concentrate on multiple areas of the Documentum platform like Documentum Foundation Classes (DFC) the only public entry point to the Documentum Platform and Distributed Content infrastructure of Documentum.

Apart from these, I also get involved in cross platform initiatives that cover multiple components of the Documentum Platform. I work with other engineering teams internally for efforts that span multiple products. I serve as the subject matter expert for Documentum Platform in cross BU initiatives in India CoE

I mentor junior engineers in the team, helping them come up to speed functionally.

I spent a brief while at Yahoo working on developing a new backend for managing Business Listings and making local more relevant to users

Most of my career I have concentrated on enterprise middleware product development. Technology has mostly been Java. I also have experience in designing and implementing various aspects of Content Management systems like distributed client server systems and heterogenous systems in a Content Management eco-system

Specialties: Java, JDBC, Enterprise middleware, Content Management

Work History

OCT 2015Nov 2016

Staff Engineer

Vmware Software India Private Ltd

I work on the Platform team of Vmware's Identity Management Product and its related components

Mar 2015OCT 2015

Consulting Member Technical Staff

Oracle India Private Ltd

I lead the BI Search team in India working on search and crawl infrastructure. I lead the design and development of search and crawl frameworks for BI components

May 2013Mar 2015

Principal Member Technical Staff

Oracle India Pvt. Ltd

I work for the BI Server Team concentrating on areas related to BI Search. I am responsible for the entire crawl infrastructure backend and also portions of the search backend. I concentrate on building crawler frameworks that allow administrators to initiate, manage and monitor crawls. I also work on managing lifecycle of search indexes.

I am looking at solving all the above problems for both on premise deployments and mutli-tenant cloud architectures.

I also concentrate on pieces of the search backend to make search better and more secure for the end users.

Apr 2012Apr 2013

Consultant Software Engineer

EMC Data Storage Systems India Pvt Ltd

I am working on Content Management Platform and Infrastructure components around it. I concentrate on multiple areas of the Documentum platform like Documentum Foundation Classes (DFC) the only public entry point to the Documentum Platform and Distributed Content infrastructure of Documentum.

I worked on enabling deployment of Documentum in a cloud environment. I designed and develop a framework to be able to do this. The result of this work is support in the Documentum platform to make components active or passive based on scalability needs. It will also form the basis for rolling upgrades of Documentum. I also worked with the Documentum Administrator team to provide an admin interface to do all this, by helping them design their integration with these features

I also designed and developed a metrics gathering framework for various components of the Documentum Platform. Some of the metrics that are gathered are, number of Remote Procedure Calls executed, number of transactions that are currently active, average RPC performance time, average transaction execution time, etc. This piece forms the basis for a broader metrics gathering effort for Documentum.

I designed and implemented major pieces for securing content URL's in the Documentum Platform. As a part of this project, I conceptualized and prototyped a URL security mechanism, where in a content URL can be used by one client and cannot be re-used by anyone else in the stack. This addresses the problem where content URL's generated for one client could be used by anyone. As a part of this I also evaluated two open source caching solutions ehcache and Apache JCS and recommended the usage of one of them.

I also conceptualized and designed certificate based SSL authentication for Documentum Platform. As a part of this project I worked with other engineers, to quickly prototype a solution and present it to the Security Architect. Once the proposal was accepted, went on to implement the entire solution in collaboration with other engineers on the team

Apart from these, I also get involved in cross platform initiatives that cover multiple components of the Documentum Platform. I work with other engineering teams internally for efforts that span multiple products. I serve as the subject matter expert for Documentum Platform in cross BU initiatives in India CoE

Jul 2011Apr 2012

Principal Engineer

EMC Data Storage Systems India Pvt. Ltd

Worked on the Content Management Platform and infrastructure around it. As a part of this role I worked with the Platform Architect to design and develop a new mechanism of making better use of connection resources on the client. As a part of this effort contributed to the following,

  • Designing and developing a more efficient resource management infrastructure
  • Developing new connection pooling infrastructure

As a result there were significant performance and scalability improvements which lead to a major decrease in the Total Cost of Ownership for the Platform

Nov 2010Jul 2011

Tech Lead

Yahoo! India

I worked as Tech Lead in the Yahoo! Local backend engineering team. I worked in the following areas during my stint there,

  • Modernization of backend for Yahoo! Local
  • Working on an orchestration framework for moving data across different components in the backend
  • Wrote components to move data in legacy systems to Yahoo's Grid
  • Worked on Geo Informatics component of Yahoo setting up systems to pull data from multiple sources and ingest them into in house systems. This piece was critical for many of Yahoo's backend systems like Ad and Targeting platforms
Jul 2006Nov 2010

Principal Software Engineer

EMC Data Storage Systems India Pvt Ltd

    a)    Documentum and ATMOS (EMC Cloud Infrastructure) Integration

  • Was part of the team that overhauled the Documentum Store Pugin infrastructure
  • Worked closely with architects for designing the new plugin interfaces for Documentum. This was essential for Cloud Integration
  • Implemented the new plugin infrastructure in Documentum and added framework support for content operations
  • Helped investigate the cloud infrastructure, its end points and hooks that is exposes for integration
  • Worked closely with the engineer to write the cloud plugin and facilitate its smooth integration with the Stack

b)  Documentum Platform Engineering - Documentum Foundation Classes (DFC)

   Documentum is a content management product. It has two major components that are      segregated as a server and a client. DFC is the client Java based API to access content    management services exposed by the server. DFC by itself provides some features but      heavily relies on the server to do most of the work.

Team Size: 4

Tools/Languages used: Java, ant (for build scripts and developer testing)

OS: Windows

-      In the role of a functional team lead

-Conceive, elaborate and implement complex engineering tasks by passing on simpler tasks to other team members

-    Working on initiatives for product improvements like fixing deadlock issues, memory leaks and performance issues.

-Worked with the product at a very low level (manipulation and playing around with the bytes that get sent over the wire) on the networking protocol it uses to talk to the server for pretty much everything.

-Also involved in customer interaction for resolution of critical issues in a time bound manner.

-Involved in working on small Proof of Concept (PoC) projects either for internal or customer purposes.

-Familiar with the content management domain and concepts in Content Management

c)  vCloud Director - VmWare, an EMC company

Worked in the vCloud Director team of  VmWare in Bangalore. Helped set the team up and bring them up to speed with both the technology and process perspective. During the process understood how the ESX - vSphere stack of VmWare works and how the vCloud Director interacts with these components

Nov 2003Jul 2006

Member Technical Staff

Sun Microsystems

a)JSR 114 ( Rowsets Implementation )

The Rowsets specification was designed for disconnected data access. All the while JDBC had just connected data access. The disconnected data access was crucial for the technology and RowSets defined that along with synchronization mechanisms for synchronizing the data back to the backend.

Team Size:2

Tools / Languages used:Java, ant ( for build scripts and developer testing)

OS: Linux, Solaris, Windows

-I was a part of the two member team that implementedthe entire RowSet specification. This specification was driven under the rules and stipulations laid out by the Java Community Process ( JCP ). The RowSets implementation was filed as JSR – 114 and driven by Jonathan Bruce, the then JDBC Specification Lead.

-As a part of my RowSet implementation I implemented a feature for paging data from memory and database, which got a lot of traction from developers both internally and externally.

-Along with the JDBC Specification Lead and the technical writer I co –authored a tutorial that developers who were new to RowSets could use to get a feeling for the technology and demonstrating scenarios where they could use RowSets.

b)JDBC 4.0 Implementation

JDBC 4.0 is being driven through the JCP as JSR 221. The main essence of JDBC 4.0 is Ease of Development. There are annotations that were released as a part ofJSR 175 and through the Java SE 5 release. This feature was leveraged by JDBC 4.0 to reduce the developer code that needed to be written to get things done.

Team Size:2

Tools / Languages used:Java, ant ( for build scripts and developer tests )

OS: Solaris, Linux, Windows

-I was responsible for the initialprototyping work that needed to be carried to figure thebest way to attack this Ease of Development. I did this all by myself.

-I was also responsible for the design of the Reference Implementation for the JSR 221 specification.

-I gave valuable inputs to the specification on the Ease of Development area and also participated in Expert group meetings.

-I was given the reponsibility of handling the integration of JDBC 4.0 into Java SE 6, this access is given to very few engineers world wide in Sun ( about 25 -30 engineers)

c)Open ESB Integration

OpenESB isSun's implementaion of the Java Business Integration specificiation which is JSR 208. Integrating this into the Application Server is crucial for the product as anything that was deployed earlier can be exposed as a Web Service.

Team Size: 2

Tools / Languages used: Java

OS: Linux, Solaris

-I had been given the charter to figure out the bottle necks in the exisiting code and improve performance on which I am currently working.

-I had to later own a module in this and drive it all by myslefgoing ahead.

Oct 2002Nov 2003

Assistant Systems Engineer

Tata Consultancy Services

a) GE AFS ( General Electric's Auto Finance Business )

Team Size:6

Tools / Languages used:COBOl, JCL

OS: MVS

üI was responsible for Production Support for the entire module that I was handling that inclueded on call support for customers as well.

üI was both designing and developing feature enahncements.

üI also micro lead a small internal project to completion and received client appreciations.

b) Phoenix Health Life Insurance( PHL )

Team Size:3

Tools / Languages used:COBOl, JCL

OS: MVS

üI was responsible for Production Support.

I was both designing and developing feature enhancements for inhouse customers.

Education

Aug 2005Aug 2008

Master in Business Administration

ICFAI University

Skills

Process Orientation

Have contributed to the organization, by setting up the following practices in the team for transparency, Use crucible for code reviews All checkins should have the code review tracking number Setup a CI for post commit builds to avoid build failures because of compilation Maintain all project information in wiki pages so that its easier to track and update

Mentoring

Have been mentoring junior engineers in the past couple of years. Most of the mentoring falls into the below categories, Domain knowledge around content management systems Functional knowledge of the Documentum Stack Coding best practices as learning from code reviews Backward compatibility scenario evaluation Refactoring exercises for better maintainability

Hadoop

During my time at Yahoo I used the Hadoop system and infrastructure on it to build some prototypes and pieces that could be used in production.   Some of the areas that I worked on as a part of this prototyping effort was submit processing, de-duplication, matching and merging of feeds

Spring

Spent time at Yahoo working on Spring, most of it for dependency injection. The other areas that I worked on were the WebContainter Integration and Hibernate integration part of Spring. This use was for an orchestration component, that controlled feed extraction and feeding the indexer with extracted data   Currently working on removing boilerplate JMX code in our current framework so that things work seamlessly across all deployment containers

Software Design

I started to exclusively design from last year. Spent sometime at Yahoo to re-design a legacy system. At EMC in the last one year, I have contributed to the Platform design both at the server level and the framework level. This has involved both designing from scratch and also extending existing functionality.     In the enterprise world, design is crucial as there can be multiple deployments that could be running different versions of the product. It involves careful consideration to not break existing deployments and be extensible for future work

JDBC

Was part of the JDBC Reference Implementation team at Sun

Java

Mostly expertise in core Java

Interest

  • Watching and playing soccer
  • Reading - fiction, non-fiction, management books
  • Listening to Music
  • Traveling

Paper and Patents

I have a couple of invention disclosures to my name based on the work I did for RowSets and the new JDBC features. I also have a research paper that has been published. I have co-published this paper with the JDBC Specification Lead and another Expert Group member from Sun on the JDBC 4.0 expert group.

1) The invention disclosures relate to RowSets implementation and JDBC 4.0 Implementation.

2)The paper publication is for automatic driver loading in JDBC 4.0

I am co-inventor for a couple of United States patents, the following are the details,

7,386,565  -  System and methods for aggregating data from multiple sources

7,797,709  -  Automatic connection and query management