Gopinath Rangappa
Summary
·
14 years
of Software development experience with expertise in Solution Architecture,
Object Oriented design, extensible Framework development.
·
Experience of architecting 6 products developed
from scratch using different technologies Java, .NET, C/C++ and PHP.
Skills
Java
Technology
|
Java 6.0,
design patterns, development of server side framework, middle-tier reusable
components
|
Web
Technology
|
Object
Oriented UI component design using ExtJS,
SOAP, WSDL, REST,
OAuth, JSON, PHP 5.3
|
C/C++
Technology
|
Experience
in architecting C++ desktop application using Qt Platform,
Designed
application UI framework using plug-in approach (similar to OSGi) to allow
developing modules as plug-ins
|
Operation
Systems
|
Windows,
Solaris, Linux (Cent-OS, Ubuntu), EC2 on AWS
|
Build and
Release Management
|
|
SDLC
|
Iterative
Development, Waterfall model, V-model, Agile
|
Database
|
Oracle 10g
|
Project
Management
|
Effort
Estimation, Cost Estimation, Multi-Release Development Planning, Status
Tracking & Reporting, Client Communication
|
.NET
Technology
|
WinForm
Application design and development using C# on .NET (v 1.1)
Integration
with C/C++ libraries using C# unmanaged code
Plug-in
framework development using C# Reflection APIs, .NET Encryption
|
Education
Bachelor’s Degree (Computer Science) from Sir MVIT, Bangalore
University, INDIA (1994-1998)
Immigration Status
H1-B Status,
Green Card processing in progress ( I-140 completed).
Professional Experience
1. Employer: Trianz Inc (Jan 2003 – till date)
Designation: Solution Architect
Projects:
i. Sales Projection Engine (SPE)
Sales Projection Engine is used to
project the approximate service renewal booking in each of the forthcoming
quarters. It gets IB & Service
contract data from enterprise BI to find renewable assets. The service
projection is calculation for each asset by looking at historical discount,
term information. The service cost is
determined by looking at overall hardware, software and storage configuration
of the system and applying service % to find original service cost. SPE finds systems configuration by processing
Auto-Support data in Quoting tool and extracting configuration details.
This application is developed as
independent database application developed using PL/SQL.
Role: Architect / Lead Developer (NetApp, Sunnyvale,
California)
Duration: Feb 2013 -
till date
Job Responsibilities:
- Responsible for requirements analysis, design and implementation
- Interact with different IT technical and business teams to find the data required to calculate sales projection
Technologies Used:
- Oracle DB, PL/SQL (95% of the codebase), Java (around 5%), Git
ii. EPS (Engineering Product Support) Portal
EPS is a portal which provides view
of all core files that need to be analyzed by technical support engineers. Whenever there is a crash in NetApp storage
server at client site, it generates core dump file. This file is uploaded by client to NetApp
site against a SAP case. EPS receives
notification when upload is completed and it processes the core files using a
workflow and automatically analyzes the core file. If core file matches any of
the already resolved defects, the SAP case is resolved automatically by EPS
using Web Service call. Any core files
not resolved automatically are available in EPS portal dashboard. Users can
login to portal, look at details of core file, analyze offline and put analysis
details & close SAP case through EPS portal.
Role: Technical Architect / Onsite Lead Developer
(NetApp, Sunnyvale, California)
Duration: June 2012
– Jan 2013
Job Responsibilities:
- Responsible for requirements analysis, solution architecture and detailed design.
- Responsible for code review of all modules, streamline development process.
- Develop & Unit test core file processing module which was the most critical & complex module in entire application
- Implement build and deployment scripts and streamlined release management process and source code management process.
Technologies Used:
- Java 6, WebLogic 10.3.5, Spring framework 3.1, JMS, JNDI, JPA, XML, JSON, ExtJS 4.1 , Oracle, Perl, Unix shell scripting, Git (for code review)
iii. MyASUP
MyASUP is a JEE based web
application accessed by NetApp customers and partners to view health and auto
support information of their systems.
Role: Technical Architect / Onsite Lead Developer
(NetApp, Sunnyvale, CA)
Duration: March 2011
– May 2011
Job Responsibilities:
- Developed shell script based build/deployment automation scripts.
- Deployment automation reduced go-live shutdown from 4 hours to less than 30 minutes.
- Developed REST APIs required to retrieve data for mobile app development
- Lead development of HTML5 based mobile application which was packaged as native application for iOS & Android using PhoneGap (Apache Cordova)
Technologies Used:
- Java, Spring Framework, maven, shell script ing, PhoneGap, Sencha Touch, JSON
iv. Smartsolve
smartsolve is a web based PHP application
developed from scratch to be used by NetApp Technical Support Engineers and
Partners to troubleshoot support cases.
This portal integrates data from other NGS applications like ASUP DW3,
SAP CRM, LatX, SANView, TARA, NOW site applications. NTSTP integrates with these applications
using REST APIs and provides different views of data collected from NetApp
systems at customer site.
Role: Technical Architect / Onsite Lead Developer
(NetApp, Research Triangle Park, NC)
Duration: June 2010
– Feb 2011
Job Responsibilities:
- Responsible for requirements document, design documentation
- co-ordinate with technical team members of ASUP D3, SAP , TARA application to resolve integration issues and request for API enhancements if necessary.
- Team mentoring, code review of main and critical components of application, performance tuning
- Design, implement build & release management process including p4 branching strategy, build scripts development, deployment scripts, environment setups
Technologies Used:
PHP 5.3, Zend Framework, ExtJS 3.3,
JSON, Apache Web Server 2.2, Eclipse (PDT), p4, Apache Ant, QC, Cent-OS, Git
(for code review)
v. New Vs Renewal
This program aim was to streamline
both business & IT process to clearly identify services purchased by Cisco
customers is New Service or renewing existing Service. The project involved high level analysis of
impact to all IT applications in Opportunity Management, Order Management,
Sales Commission & Goaling Process, Commission Payment, and Reporting due
to New Vs Renewal Program.
Role: IT Analyst (Cisco, Santa Clara, CA)
Duration: March 2010
– May 2010
vi. SMART – Sales Management and Reporting Tool
SMART is a Sales Management JEE
based web application developed to help the NetApp sales organization to manage
their sales Hierarchy, Compensation Plans and Goal sheet of all sales
organization commissionable employees.
SMART integrates with PeopleSoft,
Enterprise Data Ware House & Truecomp
Role: Technical Architect (NetApp, Sunnyvale, CA)
Duration: Nov 2007– Nov
2009
Job Responsibilities:
- Responsible for the overall solution architecture and high level design of the application.
- Interact with Business team during requirements & design phase.
- Interact with client technical team to resolve SMART integration issue with EDW, TrueComp.
- Data Model of entire application using Erwin.
- Design and development of business layer framework using Spring which is used across all modules.
- Integrate with NetApp SSO using Spring Security Framework
- Design and development of Compensation and Participant module Business Layer
- Design & development of integration with TrueComp Application using PL/SQL.
- Responsible for design and code review of all modules in Application. The code review included both Java and PL/SQL.
- Responsible for multiple releases planning and co-ordinate perforce branching strategy to allow parallel development
Technologies Used:
- Java 5, Spring 2.5, Struts 2.0, ExtJS 2.0, JSON, Weblogic 9.2, Oracle 10g, PL/SQL, ActiveXLS, Apache FOP
- Maven 2.0, Eclipse 3.4, ERWin,
vii. HP Photosmart Essential
HP Photosmart Essential is the next
generation Digital Imaging application developed from scratch using Qt
Platform. It provides features to manage digital photos, edit, and print the
photos. User can also create an album of
photos and share with another user by sharing them through HP’s website hosted
at www.snapfish.com
Role: Technical Architect (HP, San Diego, CA)
Duration: Nov 2005–
Nov 2007
Job Responsibilities:
- Responsible for overall application architecture and high level design of all components
- Review design of all modules of the product and solve any critical technical issues.
- Design & development of critical modules of the product (Plug-in engine, UI Framework) which is C++ implementation based on Eclipse plug-in architecture. This allowed application to have loosely coupled pluggable modules. It also provided opportunity for HP to customize application and provide branded application for OEMs with different skin, look & feel and additional plug-ins.
- Responsible for design of Source Control Management of the Product, which included design of clear case branching strategy to ensure the development by 5 different groups is facilitated. Responsible for developing NAnt based build scripts which make nightly builds of components binaries, compile InstallShield merge modules and create application installer for QA team.
- Co-ordinate with HP Architects to resolve integration issues with components owned by other groups in HP.
- Co-ordinate with offshore development team and resolve any technical issues.
- Design & development of tools which were used in build scripts to enable pseudo-localization of Qt resource files and support the application to be localized for 21 languages.
Technologies Used: Qt 4.1.x,
VC++, Lead Tools, NAnt, Doxygen, InstallShield, Clear case
viii. HP Photosmart Premiere
HP Photosmart Premiere is a .NET
based digital imaging and print application used to manage the photos, edit and
print them. This application was
developed by HP development team. The product was transitioned to our team for
maintenance and enhancement of the application.
Role: Project Leader (HP, San Diego, CA)
Duration: Apr 2005–
Nov 2005
Job Responsibilities:
- Responsibilities included understanding the current product design and working with HP’s development team to ensure the product knowledge is transitioned. The responsibility also included defining the development and delivery process of the offshore development team.
- Responsible for requirement analysis, effort estimation, work breakdown and task allocation to development team.
- Responsible for Source Control Management which includes clear case branching, developing build & release scripts.
- Design, Development of the modules.
Technologies Used: C#, .NET 1.1
Win Forms, VC++ 6.0, COM, NAnt, clear case
ix. HP Copy & Picture Box
Copy application is provided to AiO
end users to copy the data using installed AiO device. It provides different options in UI to take
black/color copy of the existing print out.
The Copy project was aimed at back porting the .NET application to
VC++/MFC and also design the new application in such a way that, the
application is extensible to support new AiO devices and scanners also in same
application.
Role: Project Leader (HP, San Diego, CA)
Duration: Nov 2004–
Apr 2005
Job Responsibilities:
- Requirement analysis, effort estimation, work breakdown and task allocation to development team members.
- Responsible for Source Control Management of all HP projects, which includes cvs administration and developing build, release scripts.
- Design, Development of critical functionality in HP PictureBox and Copy application.
Technologies Used: C#, .NET 1.1
Win Forms, VC++ 6.0, COM, NAnt, cvs
x. ImageStore and ImageFlow (www.ttlsoftware.com )
ImageStore and ImageFlow are two
Image Management products based on common re-usable modules. These products are designed to help
professional photographers to increase their daily productivity. It allows the features like importing the
images (standard image formats like jpeg, tiff and RAW formats of Nikon, Kodak,
and Canon). It allows to do different
operations on the images imported into workspace like categorization, rotation,
export to Photoshop, backup the images, print, slideshow, contact sheet printing.
ImageStore and ImageFlow are based
on plug-in architecture where each features is implemented as plug-in. The plug-ins implemented are loaded from the
deployment directory and loaded by “plug-in platform” implemented using .NET
reflection APIs & XML. The
Application plug-in loading is controlled by digitally signed license file to
avoid illegal plug-ins loaded into Application.
The image modification is optimized by applying all modifications on the
image only when it has to be loaded fully, otherwise the operations are done on
small thumbnail image and the operations done on an image are stored in
database. Application supported processing RAW images from Kodak, Canon and
Nikon by integrating with their custom SDKs.
Role: Project Leader (Through The Lens Inc, Santa
Clara, CA)
Duration: Aug 2003–
Nov 2004
Job Responsibilities:
- Overall application architecture and design of product
- Responsible for work breakdown and task allocation to team members.
- Responsible for setting development quality process, code review and mentoring of junior members in the team.
- Design, Development of Core modules of the product which involve image modification, caching, XML Encryption based License module, Plug-in architecture base platform.
- Implemented online license key activation module using XML encryption
- refactored Image import module of the application in 1.0SP2 release to use multi-threaded, multi-queue approach, which increased the performance over 100%.
Technologies Used: .NET 1.1 (C# WinForm, ADO.NET, MSDE, XML encryption,
interoperability, Remoting), NAnt, cvs
xi. Trianz Java Framework/Intranet Portal
The project is a J2EE based
intranet portal providing a unified corporate communication and process
solution. The project also intended to
develop Framework with re-usable modules which can be leveraged for other J2EE
projects. The application was deployed
on JBoss with tomcat web container and oracle database. The intranet portal
provides leave management, timesheet and project management features. The UI templates were generated using Apache
Jelly. The framework provided re-usable
components at middle-tier to integrate with logging, scheduling components,
generate xml template based reports.
Role: Technical Leader (Trianz Inc, Bangalore, INDIA)
Duration: Jan 2003–
July 2003
Job Responsibilities:
- Responsible for application high level design
- Develop re-usable components for report generation using Apache Jelly
- Develop build and deployment scripts using Ant
- Technologies Used: JBoss, Tomcat, Apache Web Server, Oracle, CVS
2. Employer: Sun Micro Systems (April 2002 – Dec 2002)
Designation: Sr. Software Engineer
Projects:
i. Sun ONE Web Server
Sun ONE Web Server is highly
scalable HTTP Web Server product which is used in Sun Application Server,
Directory Server and also available as stand alone. This project involved doing defect fixes for
6.0 SP2 release.
Role: Sr. Software Engineer (Sun Micro systems,
Bangalore, INDIA)
Duration: Apr
2002–Dec 2002
Job Responsibilities:
- Defect fix & feature enhancements related to core web server and Servlet web container.
- Worked in areas related to portable runtime library (Mozilla’s NSPR) usage in web server.
- Design & Development of prototype to integrate Sun Lab search engine with Sun ONE Web Server and replace Verity Search Engine.
Technologies Used: Java, C/C++ on Solaris, CVS, ant
3. Employer: Aztec Software (April 1999 – March 2002)
Designation: Sr. Software Engineer
Projects:
i. SyncML toolkit for J2ME Platform
SyncML toolkit is used to
synchronize data between two applications using XML based protocol defined by
standard body www.syncml.org. This
project involved developing SyncML protocol implementation with smaller footprint
to use in J2ME application. Project also involved using SyncML APIs to
synchronize address book data between J2ME mobile and Visto VMAP server.
Role: Sr. Software Engineer (Visto Inc)
Duration: Apr
2001–March 2002
Job Responsibilities:
- Design and development of client side SyncML toolkit on J2ME enabled Motorola phone.
- Identified the programming style in Java which causes more foot print. Developed shell script to simulate the Java obfuscation to reduce the entire application footprint.
- Designed the application to be split as multiple MIDP applications so that we can load particular part of UI depending upon the user flows. This reduced memory foot print per MIDP app and able to load the application on Motorola J2ME phone. This alternate design was the key factor for success of the project.
Technologies Used: Java (J2ME)
ii. Aztec B2B Framework (ABIF)
ABIF is a B2B integration framework
running on J2EE compliant app server and allows ASPs to integrate with multiple
partners and customers by writing integration logic using custom workflow language
(ABIL). ABIL provides different data conversion functions using XML/XSL, simple
POJOs, EJBs, different data sources like DB, JNDI, Email, FTP, Web Services.
ABIF also provided visual editor to create workflows by drag & drop of
components.
Role: Sr. Software Engineer (Aztec)
Duration: Jul 2000–March
2001
Job Responsibilities:
- Design and development of Exception handling, framework to access different data sources like DB, JNDI, Mail, XML, POJOs, FTP, Web Services from workflow language.
- Design and develop auto-load of data sources when application properties file is changed.
- Design and development of automated testing tool to execute workflow script language and validate result.
Technologies Used: Java on J2EE platform, JNDI, JDBC, JMS, Web Services, Weblogic
5.1, WSDL, SOAP, XML4J
iii. Integration Framework
Jamcracker is an aggregator of ASPs
involved in different domains and provides one stop shop for all these services
with unique billing and customer support contact. The data exchanged with partner ASPs is in
the form of XML and conforms to their proprietary DTD structure called ITML.
Integration Framework is a JMS
based framework to exchange the ITML documents between Jamcracker and their
partner ASPs. The framework provides
platform to integrate third party vendor products used within Jamcracker and
also provides different adapters, which can be used to integrate with new and
existing ASPs. The adapters are configurable using configuration XML file and
provide easy APIs where partner ASP specific methods were invoked. Adapters provide functionality like sending
and receiving ITML documents over email, ftp and HTTP.
Role: Sr. Software Engineer (Jamcracker)
Duration: Dec
1999–July 2000
Job Responsibilities:
- · Design and development of adapters, which send/receive ITML documents over JMS queue and invoke the ASP service using different protocols using SMTP, FTP and HTTP.
Technologies Used: Java on J2EE platform, XML4J, DOM, SAX, JMS
iv. XML Indexing
This project was a proof-of-concept
to implement persistent DOM APIs where xml data can be accessed using DOM APIs
without loading entire XML data in-memory.
The XML native DB allowed applications to register DTDs for which xml
data will conform to. It allowed
creating indexes on XPath pattern and it was stored using B+ tree algorithm.
Role: Software Engineer (Aztec)
Duration: Apr
1999–Nov 1999
Job Responsibilities:
- Design and development of xml native DB
- DOM API implementation to use native XML DB
Technologies Used: Java, DOM