Objective To develop high-quality software in a growing company that
strives to deliver exceptional customer value.
Primary Skills
. Over 11 years of extensive experience in the IT industry, Involved in
all Phases of Project life Cycle (SDLC) -Analysis, Design,
Development, Unit Testing, Documentation and Maintenance of
Applications with the extensive knowledge of project life cycle and
related process.
. Dev Methodology: Agile development and Scrum (7 years).
. Good experience in developing Windows & Web based application using
Microsoft technologies including C#, VC++ (MFC), C++, MVVM (WPF), MVC,
Silverlight, XAML, XML, WCF (SOAP and REST) and Web Services.
. Have experience working in MVVM pattern with WPF and MVC pattern.
. Experience with working on applications using Multi-Tiered
Architecture, Service Oriented Architecture (SOA).
. Experienced in using Visual Studio 2013/2012/2010/2008/2005/2003/6.0
Technologies.
. Worked in Design pattern like Dependency Injection, Unity Framework,
Factory Pattern and Singleton
. Experience in BigData initiatives on Splunk and MongoDB
. Experience in Caching using MemoryCache, Redis and AppFabric
. Experience in working with dtSearch indexing and searching.
. Experience in performance Profiling using ANTS memory Profiler and
DynaTrace.
. Created unit test cases and functional tests using NUnit, MSTest and
MOQ framework, Rhino Mock. Used Productivity and code refactoring,
code coverage plug-ins like ReSharper, DotCover and PostSharp for
Visual Studio.
. Created Functional tests and Integration tests for the modules I have
worked with.
. Voluntaries to take up POC and proto-typing during project proposals.
. Configuring Team City to perform daily builds and Auto builds.
. Implemented Aspect Oriented Programming using PostSharp and Log4Net.
Refactored multiple business components, eliminating logging details
and debugging details in almost every method to a separate Aspect
class common for the project. Also created aspects to log the
performance of each code blocks.
. DevOps: TFS (6 years), Maven (3 years), SVN.
. Third party tools: dtSearch (3 years), Oracle-Outside-In (2 years),
Equivio (1 year), Lead Tools.
. Excellent verbal and written communication skills.
. Having experience in leading onsite/offshore teams of maximum 15
members.
Achievements
. Initiated and performed POC on deduplication during indexing/Search to
increase the performance during search/indexing.
. As part of performance tuning team, worked in improving performance
using Parallel task library, Caching and avoiding the needless hubs in
SOA.
. Part of refactoring team to refactor multiple services to share the
code between them instead of using the business logic in different
places. Added Unit testing and covered more than 90%
. Introduced Aspect Oriented Programming and eliminated 95% of redundant
codes in logging information, Debug information and creating
Performance metrics using PostSharp and Splunk.
. Presented two Papers in International Conference on Digital Image
processing while working in IIT-Bombay.
. Worked on account level project proposals by working on POC's and
following estimation Models.
. Worked on major Customer issues with minimal turnaround time during my
tenure with Summation.
. Got client appreciations for bringing down project state of various
release from critical state to a stable state. And resolving critical
issues during my tenure with Summation client.
. Developed "Snake" game using various features of "C" such as Graphics,
Interrupts.
Assignments
ART.COM, Emeryville, CA Dec 2014 - Till
Date
Project: Consolidation of API and Re-writing Legacy services (asmx) to WCF
services
This project is to consolidate and rewriting the legacy services (asmx)
into WCF services exposing different bindings. These services are consumed
using appropriate bindings according by the client.
Role: Senior Service Consultant
. Centralizing the business logic and exposing as Service.
. Performed POC on WebAPI.
. Adding more logging to identify the Errors in SPLUNK.
. Exposed as RESTful & SOAP services, so that the client can call the
service using appropriate bindings.
. Added unit tests to the service and extended to maximum code coverage.
. Creating and Monitoring Error/Performance metrics using SPLUNK
Responsibilities:
. Analyse the impact on all consumers and creating impact analysis.
. Modifying the configurations to accommodate the service changes.
. Added Unit testing using Nunit. Added Rhino Mocks to mock different
object to avoid DB calls.
. Adding SPLUNK logging to the component changes.
Environment: C#, .Net framework 4.5, WCF, Web-API, ASP.net, SQL Server
2012, SPLUNK
ART.COM, Emeryville, CA July 2014 - Nov
2014
Project: Modifying Session Service to change the GeoIP logic and Visit
Logging logic.
Rewriting the business logic to consume the Geo-IP rules from Session
Service. The Geo-IP rule was written in different locations locally prior
to this change. Consolidated the logic into single component and it's been
consume in other services to reuse the logic.
Logging visit information to Mongo DB, instead of existing flow to log in
SQL-Server. All the consumers which store the Visit information are
modified to use the new logic instead of storing in SQL Server.
Role: Senior Service Consultant
. Identifying the components using the GeoIP logic. Either locally or
referring to different component.
. Implemented the GeoIP Classes and rules.
. Modified other consumers to use this logic instead of stand-alone
logic in different classes
. Creating Mongo DB wrapper which interact with services to log the
visit info to Mongo DB.
. Added unit tests to the service and extended to maximum code coverage.
. Creating and Monitoring Error/Performance metrics using SPLUNK
Responsibilities:
. Creating the impact analysis for the GeoIP changes and Visit details.
. Creating Technical documents and Change of flow documents.
. Creating the separate component for GeoIP rules and consumed in
Session Services
. Added Unit testing using Nunit. Added Rhino Mocks to mock different
object to avoid DB calls.
. Adding Splunk logging to the component changes.
Environment: C#, .Net framework 4.5, WCF (REST), Asp.Net, SQL Server 2012,
Mongo DB, Splunk
Xerox Litigation Services, Albany NY Feb 2014 -
June 2014
Project: Re-Writing Omni-X indexing and search engine using DtSearch Engine
Re-writing indexing and search sub-systems using dtSearch Engine API. The
indexing and Search sub-Systems interacts with other sub-systems without
affecting the existing work flow
Role: Senior .Net Consultant
. Proto-typing with dtSearch to verify and validate the search results
and performance.
. Implementing core business logic to complete the indexing and search
component by using existing subsystems and implementing new models and
logic classes as necessary using dtSearch Engine API
. Generating performance matrix to compare the search results with old
search and new search Engine.
. Design and Develop WPF applications to verify the dtSearch indexes and
perform the available dtSearch functionality using MVVM.
Responsibilities:
. Understanding the existing search mechanism with OmniX and re-
implementing the search using dtSearch Engine API
. Writing WCF services both SOAP and RESTful to implement Indexing and
Search using MVC pattern.
. Writing Unit test and performing code reviews using VS2013.
. Responsible for branching and merging using TFS 2013
. Writing Functional tests and do code coverage more than 90%.
Environment: MVC, MVVM with WPF, C#, Visual Studio 2013, .Net Framework
4.5, WCF, SQL Server.
Xerox Litigation Services, Albany NY Dec 2013 -
Feb 2014
Project: De-duplication of Omin-X documents
This project is to DE-duplicate the documents during loading. This
system identifies the duplicate documents, and updates the database schema
with the information about the master document and the duplicate documents.
This information will be used for indexing/Searching module which will
avoid indexing these duplicate documents. This process will increase the
performance of search.
Role: Senior .Net Consultant
. Implementing DeDuplication to filter the duplicate documents during
document load into the OmniX system. The Deduplication process is a
Windows service build on WCF Services on .Net 4.5. During the load,
DPS provides the documents and the docId associated with it to the
Deduplication process. The deduplication process generates SHA1 for
the each document and stores the SHA1 and docId as key-value pair.
Each batch before loading, send list of documents to deduplication
service to check any duplicates exist. If duplicates exist, the
process updates the database with the information about the duplicates
and its master document.
. Performed POC (Proto-typing) on various caching mechanism to store and
retrieve deduplication data quickly to the user. The size is more than
100 Million records. So, did analysis on various data retrieval and
caching mechanisms to make it faster during deduplication retrieval
process. Implemented proto-type code using MemoryCache, Redis and
AppFabric to compare the performances.
Responsibilities:
. Understanding the existing Data load to introduce Deduplication during
the data load.
. Reconfigure existing Node to go thru deduplication process.
. Writing WCF services to expose both SOAP and RESTful API's to
implement Deduplication
. Writing Unit test and performing code reviews using VS2013.
. Responsible for branching and merging using TFS 2013
. Writing Functional tests and do code coverage more than 90%.
Environment : MVC, C#, Visual Studio 2013, .Net Framework 4.5, WCF, SQL
Server, Memory Cache, Redis and AppFabric for caching
CT Summation, California CA Jan 2012 - Oct
2013
Project: Summation 4.0 - Summation 5.1. New feature development,
Enhancements, performance tuning and maintenance in Summation products.
Role: .Net Developer
. Developed Bulk printing Utility to summation which can convert
millions of documents and stream it in batches to the local printer
using MVVM (WPF), XAML and WCF. Application uses WCF service calls to
Perform Document Conversion (if necessary) and fetches the stream back
from server. The streams are sent to printer available to the local
machine. The utility monitors the printer pool and sends job based on
printer load. The utility provides live updates about the number of
pages/Documents printed and the status of each page as summary.
Creation of Unit test cases using nUnit with code coverage of 90%.
. Performance Improvement in Importing DII data to Summation Application
using C# .Net 4.0, Silverlight and WCF. Introduced Aspect Oriented
Programming (AOP) and eliminated redundant codes, logging (log4Net)
information and creating Performance metrics using PostSharp Aspects.
. Developed Utility to Migrate iBlaze into Summation using MVVM (WPF)
and C# .Net 4.0. iBlaze is build on SaturnDB. The tables in SaturnDB
will be accessed using Wrapper class build on unmanaged dll's in C++.
Summation Database layer uses ADO.Net which exposes API to Business
Service layer in Summation.
Responsibilities:
. Interacting with the Business to gather requirements related to the
project.
UI development for major features in WPF, C# using MVVM.
. Developed API, data contracts, service contracts to expose it as WCF
services in C#
. Developed Business logics using Interface based derived classes,
Entity framework and Dependency Injection.
. Helped technical support with their questions on application
architecture, deployment procedures, SQL Tables and worked together to
resolve or provide workaround to environmental issues in customer site
. Performed code reviews for WPF application and WCF services.
. Executed numerous production deployments, troubleshoot and resolved
deployment and environmental issues.
. Created continuous integration tests and unit tests to identify and
resolve issues before check-ins.
Environment : MVVM (WPF), C#, Entity Framework, XML, Visual Studio 2012,
.Net Framework 4.0, WCF, SQL Server 2008
Target Development, Minneapolis, USA Feb 2011 - Dec
2011
Project: Rewriting and Enhancing of Information Retrieval process for
Target Corp.
Role: .Net Developer
. Rewriting the Information Retrieval Process using MVVM (WPF).
Extending COM component which will interact with Unix DB for
transaction (Tandem DB). Did POC on third party toolkit to support
with IR (Sheridian toolkit, Farpoint Spread)
. Creating Automated User Interactions for C#.Net Forms using JAWS
scripting language. JAWS scripting language communicates with the user
via voice recognition.
Responsibilities:
. Understanding the requirements from Business
. Developing UI using MVVM (WPF).
. Rewriting IRP code and did POC on the impacts on third party
components
. Creating JAWS scripts to make the User interactions for C#.Net forms.
. Feasibility study of third party tools with IR
. Design, code review and enhancements
Environment: MVVM (WPF), C#, Visual Studio 2010, Visual Studio 6.0 (for
MFC).
CT Summation, California, USA Dec 2009 -
November 2010
Project: Duplicate Analysis using Near Dupes
Role: C# .Net Developer, VC++ (MFC) developer
. Performed POC on the incorporating Document compare functionalities
into Enterprise code.
. Document compares using Equivio (a third party component) which will
provide the similarities between the processing documents. The similar
set of documents are analysed by Equivio Processing to calculate the
percent similarities and the relationship between the documents. The
data are imported back to summation using import workflow, so that the
user can perform Near-Duping. The imported data are viewable in
separate viewer which is developed using Telerik Win Grid controls.
From the UI, the documents can be compared which will invoke WinDiff
tool to see the difference in similar documents.
Responsibilities:
. Managing and co-ordinating the team Activities
. Performed POC on DeDuping and application compatibility with Equivio,
Teleriks Win Grid Controls.
. Creating .Net WPF which uses Telerik Grid Control to show the
properties of related documents. The user can perform document compare
from the UI to compare the similar documents.
. Involved in Code review activities
. Responsible for Estimation, Development and maintenance.
Environment: .Net Framework 3.5 & 4.0, MFC, WPF, Visual Studio 2005, C#,
Telerik Win Grid Controls and Equivio processing Tool.
CT Summation, California, USA Jan 2008 -
November 2009
Project: Redaction Enhancement for images
Role: C#, VC++ (MFC) developer
. Performed POC on the LeadTools compatibility with iBlaze where the
annotations can be semi transparent
. The Redaction can have Redaction Reasons, Options to choose colour and
burn-ins. The redaction needs to be converted to fit the Zoom-in and
Zoom-Out and with different resolutions.
Responsibilities:
. Managing and co-ordinating the team Activities
. Performed POC on LeadTools compatibility with iBlaze.
. Including the LeadTools components in build process and repository
. Involved in Code review activities
. Responsible for Estimation, Development and maintenance.
Environment: MFC, Visual Studio 2005, C#, LeadTools.
CT Summation, California, USA November 2006 - December
2007
Project: Creating View specific toolbars and including Optional Case
Conversion functionality for iBlaze
Role: VC++ (MFC) developer
. Added Persistent View specific toolbar to different viewers in iBlaze
using MFC. Each options will have event handler to invoke specific
functionalities to that view using VC++ (MFC)
. Included the Optional Case Conversion functionality. The Optional Case
Conversion allows iBlaze user to open the older version of iBlaze case
into new iBlaze environment. The user is provided with option to
convert the case during case open. If use chose to convert the case,
the new schema and changes will be updated to the case. These changes
are included using VC++ (MFC).
. Created a wrapper class over the Unmanaged code for SaturnDB created
using C. Using the wrapper, increased the performance of iBlaze case.
. Worked on production Support for bug fixes.
Responsibilities:
. Involved in UI Design and development using MFC, C++.
. Implementing Optional Case Conversion using C++.
. Involved in Code review activities
. Responsible for Estimation, Development and Defect Fixing.
Environment: MFC, C++, Visual Studio 2005/6.0.
CSRE - IITB, Mumbai, India June 2004 -
October 2006
Project: Digital Image Processing for Spatial Images.
Role: VC++ (MFC), C++ developer
The main objective of the project is to develop an Image processing desktop
package for Spatial Data. Developed following image processing techniques
like
. Image Classification using Artificial Neural Networks (ANN).
. Image Conversion from Geo-Tiff to RAS and BMP. The image conversion
tool reads the header details and pixel values of Geo-Tiff, and
converts the pixel values to RAS and BMP with proper converted header
information accordingly.
. Knowledge extraction using PCT algorithm for spatial data.
Responsibilities:
. Designing the UI using VC++ (MFC), C++. Image tiling is implemented to
open the bigger images in the MFC Image viewer.
. Implemented Geo-Tiff to RAS image conversion.
. Responsible for Estimation, Development and bug fixes.
. Running performance matrix and samples datasets.
Environment: VC++ (MFC), C++, Visual Studio 2005/6.0, Image processing.
Education:
Bharathidasan University, Thiruchi, India (Jun 2001 - Apr 2004) - 74.48 %
Master of Computer Application (MCA)
Project Thesis: Spatial Image Classification using Artificial Neural
Network (Ann ) Algorithm, IIT-Bombay
Periyar University, Salem, India (May 1998 - Apr 2001) - 72 %
Bachelor of Computer Science (BSc)
Project Thesis: Snake game using C graphics and key interrupts.