Arvind Ambari
************@*****.***
Alpharetta, GA
Objective * A challenging position in software engineering where skills in software architecture and object-oriented design methodologies will contribute to the development of quality systems.
Summary * Arvind has over 20 years of information technology (IT) experience. His core areas of specialization lie in software architecture and hands-on object oriented software development of distributed systems using Java and J2EE. Primary strengths are to architect innovative solutions and take the team across the technology chasm to succeed in implementing that solution.
Technical Skills
Languages Java, Python, Smalltalk, Javascript, HTML
Java Technologies: Core Java, J2EE (EJB/JPA, JMS, JMX, Servlets, JSP, JDBC, JNDI, RMI/IIOP, JAAS), J2ME, OSGi.
Java Frameworks: OR Mapping (Hibernate, Toplink, JPA), Spring Framework, Ant, Maven, JUnit, TestNG, Struts, Wicket, ACEGI, EasyMock
Application Servers: JBoss, WebLogic, WebSphere, Tomcat, Jetty, Apache
IDEs: Eclipse 3.6, Jbuilder, Intellij, Webshpere Application Developer, VisualAge
DBMS: Oracle 9i, DB2, PostgreSQL, Gemstone 4.x (OODBMS, 2yrs), HSQLDB, H2
NoSQL: MongoDB, OrientDB
Cloud: Heroku
Other Technologies: RabbitMQ, REST, SOA, Web Services, AOP, XML, OSGi,, Graphite, Statsd, Whisper, Carbon, Corba 2.0 (Visibroker & SmalltalkBroker), Rational Rose, UML, Smalltalk, MQ Series, Subversion, Git
Software Methodologies: Behaviour Driven Developement, Agile Programming (SCRUM), Rational Unified Process,
Operating Systems: Windows, UNIX, Linux
Certification * Sun Certified Java Programmer, Feb '99
* Certified Mongodb programmer and DBA. Dec '13
Education * M.S, Computer and Information Sciences. Fall '91 – Spr '93
University of South Alabama, Mobile, Alabama
* B S, Electronics and Telecommunication Engineering Fall '85 – Sum'89
U.V.C.E, Bangalore University
Visa Status Permanent Resident.
Core Competencies
In-depth knowledge of object oriented design and OO priniciples and software architecture patterns
Highly proficient in developing distributed systems using Java and JEE technologies.
Provide technical leadership in enterprise level solution architectures.
Tune software process for onsite-offshore models.
Strong knowledge of Application Server (Jboss, Weblogic) and Application Server clustering.
Thorough understanding of best practices for enabling high scalable and performing J2EE architecture.
Provide mentoring and technology leadership to the development teams.
Research and recommend solutions to enhance existing and new software.
Strong Systems Architecture experience and knowledge of architectural patterns.
Strong knowledge of Object-Relational mapping and data access strategies.
Iterative software development methodologies (SCRUM, Behaviour Driven Development, RUP, Extreme Programming etc)
Hands on experience in developing software using Behavior Driven Development.
UML, Spring, Hibernate/JPA, JUnit, TestNG, OSGi, JBehave, PostgreSQL, Oracle, Smalltalk, JMX.
Extensive experience managing offshore teams
Work Experience ( > 20 yrs)
4/2015 – present Macy’s Systems and Technologies
Solution Architect (Consultant)
OmniComm is a texting application to send SMS and MMS to Macy’s customers. It is designed to handle millions of messages and used by tens of thousands of users. It is a Spring based SOA application with REST services and Oracle for persistence. The front end is implemented using HTML5, AngularJS and Ionic frameworks to run on IOS based devices. Messaging is done using Twilio SMS and MMS API and OAuth for security.
The OmniComm REST services were designed to be Enterprise Services that can be consumed by other application within the enterprise that need texting capability. The services are deployed on JBoss 6.3 cluster.
3/2014- 3/2015 IDEXX Laboratories Solution Architect II
Idexx Laboratories, Inc. (NASDAQ: IDXX) is a multinational corporation engaged in the development, manufacture, and distribution of products and services for the companion animal veterinary, livestock and poultry, water testing, and dairy markets. Incorporated in 1983 and headquartered in Westbrook, Maine. Optimedical is a subsidiary of Idexx which is an innovative leader in the design and manufacturing of near-patient, clinical diagnostics equipment, specifically blood gas and electrolyte analyzers used in both veterinary and human markets.
Projects Opticonnect - is a device and data manager application for the various devices that Optimedical develops. The application is Java based and uses many open source Java technologies like Spring, SOA, REST, OrientDB, Vaadin etc. The architecture aims at easing installation process and complexity by using embedded (in-JVM) components like embedded object database (OrientDB), embedded web server (Jetty) etc. The application monitors the status of all the devices in real time and takes corrective action based on the status of the devices, etc.
8/2005–2/2014 US Technology Resources http://www.ustri.com, Solutions Architect.
Projects
Catalina Marketing Solutions Architect.
Catalina Marketing; http://www.catalinamarketing.com is a dominant global leader in behavior-based marketing solutions – leveraging actual shopper purchase behavior to reach the right consumer at the right time with the right message - wherever and whenever consumer products are sold.
FlexConnect Framework –The Company decided to build their next generation application framework in Java/J2EE, with the intent of building their coupon based applications in an agile manner. The framework was developed using Java, Spring, OSGi, Hibernate and JMX as the primary technologies.
The framework core components are the Command Framework and the Triggering engine (a domain specific rule engine). The command framework is a light weight transactional framework – the key idea being not to use a heavyweight rollback of transactions but rather use compensating action based on the command pattern. The triggering rules are implemented as parametric event handlers which form directed acyclic graphs. The handlers are sorted based on their topological id assigned to them during the award/coupon construction phase. Each graph represents an award/coupon which triggers the printing of coupon/patient information. The applications for the various retailers/pharmacies could be configured using Spring’s IoC. The fundamental design patterns are the Template, Strategy and Dependency Injection.
Another key component of the framework is the ThreadManager that hides the complexity of the Java Concurrency package to the developers along with providing monitoring of threads
The application was architected to run as a cluster. The cluster can now scale to handle hundreds of transactions per second.
FlexAwards -- The product uses the FlexConnect framework to deliver coupons in store based on the customers purchasing behavior. The project followed a variant of the agile development methodology based on Behavior Driven Development. A combination of open source tools like, CruiseControl (continuous integration), Maven (build management), Subversion/Subclipse (change management), Trac (issue tracking), Checkstyle (coding style), Clover (code coverage), etc. were used. BDD was successfully used to deliver an almost bug free code base to SQA, even under the constraint of using offshore developers for a complex piece of functionality.
Role: Java Architect. Owned all key architectural decisions. Assisted the client in adopting Java/J2EE as the technology of choice. This entailed training the team in Java and related technologies. Also helped co-ordinate an offshore team in India. Worked closely with the project manager in streamlining the development process (based on XP). Introduced Behavior Driven development within the company and successfully executed a 75 man month project with almost no bugs using an offshore team.
Team size: 30
Catalina Distribution System (CDS) -- CDS replaced the legacy Order Distribution System ODM). ODM was a mission critical operational system for Catalina as it distributes the business rules on a nightly basis for Catalina coupon printing system in about 45000 stores nationwide and another 10000 system worldwide. CDS was designed to be highly modular offer distribution engine and had 2 major goals – one was to use MPEG compression to reduce network usage and ink usage and the other was to fulfill the SLAs that ODM was failing to fulfill. CDS will expose a service interface that will allows clients submit data and the endpoint address to which the data needed to be delivered to. CDS used Mongodb for persistence.
Role: Architect for a team of 10
Cameo – This is a platform which gives the user (usually from sales) the ability to conceive, create, define, target, design, analyze, manage and control campaigns in a multi-channel environment. The system outputs all the qualified customer ids that meet a certain criteria in order to optimize the manufacturers spending’s on a given marketing campaign. The system looks back at purchase history identifying trends, opportunities to help in create a customer ID list that can be sent to the store to print coupons the next time he/she comes in; based on his shopping behavior. The application was deployed on Heroku. The language used for the backend and the REST API was Python and for the frontend Javascript was chosen. Logging was done using Mongodb.
Role: Was in charge of introducing Behavior Driven Development to the team and helping them with their software development process. Also was instrumental in building a dashboard for real-time monitoring of the application parameters in production. The tools used for this purpose were Graphite, Statsd, Whisper and Carbon.
Team size: 15
4/2005 – 8/2005 (USA) TIAA-CREF http://www.tiaa-cref.org Senior J2EE Architect
A Fortune 100 company that provides a wide range of investment products to help people plan for and live comfortably through retirement.
Projects Advisory Management System: The system is intended to advice and manages client accounts of the Wealth management group of TIAA-CREF. The application provides advice and managed account solutions to cater to the savings goal of the client, in compliance with provider’s plan and product rules.
The system is a standard J2EE application, following a layered and MVC architecture. The application is deployed on Weblogic 8.1 and uses Oracle 9i for its persistence. The O/R mapping is done using Hibernate. Struts was the UI framework of choice.
Primary Responsibility: Architect solution and provide technical leadership.
Technologies: JSP, Servlet, Servlet Filters, Struts, Hibernate, Oracle 9i, Apache
Team size: 5
4/2004 – 4/2005 Epiance http://www.epiance.com Senior J2EE Architect
Projects Epiplex 5.0: Epiplex platform is a process layer on existing enterprise infrastructure, that include ERP, CRM, Workflow, data bases, legacy applications, e-business applications, and internal product development, deployment and implementation infrastructure. The process platform is based upon an organic, self-improving and a full life-cycle process. Current iteration will focus on the business process improvement component – the Analyzer. This component will analyze a given business process and provide reports on the efficiency, time taken, optimal unit process steps etc. Architectural challenges include building a highly scalable component that can process gigabytes of data on an hourly basis captured from around 10000 users. The high scalability was achieved using JBossMQ cluster and by processing the JMS messages on separate JVMs on individual processors. A finite state machine generator was used to identify the unit processes.
Primary responsibilities: Architect solution and lead the prototyping team.
Technologies: J2EE (JMS, JSP, EJB), Ilog Rule Engine, Oracle 9i, JBoss Cluster, Apache
Team size: 10
Capacity: Architect and team lead
8/2003 – 3/2004 Integral http://www.integral.com Senior Technical Architect
Projects
Project - Enterprise Rate Manager: ERM enables a bank to produce its own proprietary market rate feed reflecting their trader's views in real time. It is designed to protect the traders, while also giving control and visibility to the prices they are making and distributing to the market. ERM provides for the input and manipulation of market data in order to provide banks with derived prices for use by down-stream auto-dealing systems. It sources data from electronic feeds available via the Reuters Triarch platform, JMS etc. It also publishes the output via Reuters Triarch market data platform and JMS.
The real time performance required by the application was achieved via the ERM server, which built on a multi-threaded pipe and filter architecture. The architecture allows a trader to define a pipeline of processing activity via XML rulesets. The rulesets also provide the plumbing or pipes necessary to transfer data from one calculator (which form the filters) to the other.
Primary Resposibilities: Architect solution and lead the team
Technologies: J2EE (JMS, JSP, EJB), Rule Engine, Oracle, Weblogic
Team size: 10
Capacity: Architect and team lead
4/2002 – 7/2003 American Data Solution, subsidiary of Great American Financial Resources, a $30 billion company headquartered in Cincinnati, USA, http://www.gafri.com Senior Technical Architect
Projects
10/2002 – 7/2003 Project - Home Biulders Insurance Web Reporting System: The system allows the users (Agents and Insured) to enter monthly and per-start reports via the Web, along with the ability to compute the premium based on the information entered by the Agent or Insured. The system was a J2EE based application using Weblogic 6.1 as the application server of choice. The IDE used was Jbuilder 6.0.
The following components of J2EE were used: EJB 2.0, Servlets, JSP, Tag libraries, XML, J2EE blueprint patterns, EJBQL etc. The persistence mechanism provided by CMP was choosen
Primary Resposibilities: Architect a solution for the system in concurrence the client’s enterprise architecture goals Guide the team in the following areas: Conformance to the architecture vision, During OOAD, in low level design issues, usage of design patterns (both distributed and regular), during usage of Rational Unified Process and in performance tunning
Capacity: Architect and team lead for a team of 15
7/2002 – 10/2002 Project - NextGen Solution: The client is one of the leading order management companies in Europe. The company has decided to move its various existing solutions to a common platform, based on J2EE technologies. Key responsibility as a senior technical architect was to envision an infrastructure/platform to migrate the existing products – Order Management, Demand Replenishment, Store Replenishment, Warehouse Management, and Collaboration. During the current initial iteration the focus was on establishment of the Service-Oriented Platform for Agile Enterprise (SPAcE). One of the key issues addressed was formulation of the architectural pattern for the application based on the following triad – persistence engine, rules engine and business process management (BPM) engine.
Primary Resposibilities: Architect a solution for the system.
Technologies: J2EE (JMS, JSP, EJB), Rule Engine, Oracle, Weblogic, XML
Capacity: Architect and team lead during the technology evaluation and protyping phase
4/2002 – 7/2002 Project - Mobile Value-Addition Monitor: The system was developed for PDAs using J2ME, using which users have access a all-round value-delivery system. The user can use the interface on the PDA to add entries for a given day and then later synch this with the data on the desktop. MID Profile was used to develop the PDA applicaton, using HTTP the PDA side communicated with the desktop application which was developed using J2SE.
Primary Resposibilities: Architect a solution for the system.
Manage the implementation
Capacity: Architect and team lead for a team of 5
1/2001 – 3/2002 IBM, India, http://www.ibm.com Technical Manager for IBM Global Services.
Projects
1/2001 – 7/2001 Project - To achieve a high degree of confidence from American Express on the skill level of a team of 70 programmers. This exercise involved in the identifying, proposing and managing the training requirements for the 70 member, primarily in the area of Java, J2EE, XML and Web technologies and Rational Unified Process, that the client would see as an value add. Guide and develop a team of software architects.
Develop technical proposals for various clients. Propose ways to enhance the level of expertise in software architecting.
Presented a paper on a methodology for onsite-offshore software development based on the Rational Unified Process.
Achievements: Was awarded by the department head as core contributor to the formation and success of the team
8/2001 – 3/2002 (USA) Consult as a senior solutions architect for American Express, Phoenix, USA. The job involved:
Proposing various architectures to the client and also helping them choose one.
Building a proof of concept prototype based on the choosen architecture. The protoype involved in moving away from an existing screen scraping architecture to a more robust hub-and-spoke loosely couple architeture based on messaging concept using MQ Series. As one of the requirements was to have a rich GUI, a java swing based GUI communicating using Remote Method Invocation to the business layer was developed. Using MQSeries intercommunication the business layer would post a message to a queue that was then routed througth the IMS-bridge to the corresponding IMS transaction.
Knowledge transfer to the American Express team
Making sure that the preformance was well withing acceptable limits as this was one of the critical criteria, caching was used wherever possible to achieve performance.
Achievements: A letter of appreciation from one of the Directors of American Express
Also elected as a core contributor by the department newsletter.
3/99 – 12/2000 (ADSI) Technical Architect at American DataSource (ADSI).
ADSI is a wholly owned subsidary of Great American Financial Resources Inc. GAFRI is a $30 billion company headquartered in Cincinnati, USA. ( http://www.gafri.com ).
Projects
9/2000 – 12/2000 Project - Commission System Re-engineering: The client - Long Term Care Group (USA) needed a system that provided the following:
Allow LTCG to accurately identify, calculate, pay and report commission’s activity for the individual sales force of their clients.
The system will use the Rational Unified Process as the core methodology drawing heavily upon OO design concepts. The enterprise technologies used will be EJB, JSP, JMS and XML.
Capacity: Architect and team team lead for a team of 10.
3/2000 – 8/2000 (USA) Project - Project Tracking System (PTS): The client - GAFRI (USA) e-commerce division in New York - needed a web based system that could capture information about a project and help the managers of the organization track the progress and status of any given project The application was written using VisualAge for Java IDE. Netscape Application Server was the deployment server.
Capacity: Architect and Designer for a team of 7.
Project manage from New York
Client interaction onsite
8/99 - 2/2000 Project - Payment Authorization System (PAS) : The application is intended for use onsite by ADSI consultants to report their billable hours and allow clients to authorize the payment. The application used the following combination of technologies – Java - Corba/RMI - JDBC - Oracle. The application followed a 3-tier architecture - a swing based Java applet formed tier-1, a corba/RMI based server layer formed tier-2 and Oracle was used as the persistence tier-3. The IDE used was IBM's VisualAge 3.0 and Visigenic's Visibroker was the object request broker (ORB).
Capacity: Architect and Designer for a team of 4
7/99 - 8/99 Project - Light Weight Grid: This is a java bean that serves as a ultra light weight replacement to JTable with the main intention of being able to speedily upload the grid to the client applet.
Capacity: Designer and Programmer.
3/99 - 7/99 Project - Cobrowsing: This system allows two individuals to cobrowse on the internet. The application was based on java servlet technology.
Capacity: Designer and Programmer.
6/95 - 2/99 (USA) Consultant at Florida Power and Light, USA ( http://www.fpl.com )
FPL supplies power to the state of Florida.
Projects
8/98 - 2/99 Project - Customer Account Information Viewer - is a technology prototype demonstrating the feasibility and performance of Java/Corba combination for the access of customer account information via the internet. Customer information existing in the DB2 on the mainframe was accessed via the Visigenic's Visibroker ORB and the inhouse "Enabler" product to be displayed in an applet anywhere on the internet.
Capacity: Designer and Programmer.
3/97 - 7/98 Project - Integrated Work Management System (IWMS): IWMS is a distributed client/server application designed to replace the existing Distribution Controlling and Planning System (DCPS), a mainframe work management system. The primary objective of IWMS is the creation, planning, and scheduling of work orders
The application was written in Visualage for Smalltalk 4.0, DB2 on mainframe and 2.0 compliant product called SmalltalkBroker
Capacity: Responsible for designing and developing the GUIs, the scheduling algorithm and interface to the mainframe DB2 via the SmalltalkBroker and Enablers.
.
11/95 - 2/97 Project - Distribution Controlling Planning System (DCPS) II - Outdoor Light: DCPSII-OL is a distributed client/server application. The main objective of this application was to simplify the process of installing, removing or replacing outdoor lights by the Florida Power and Light electric utility company..
Technologies used were: Smalltalk, Gemstone OODBMS.
Role: Designer and Programmer
6/95 - 10/95 Interface to CCMail from VisualWorks: Developed a framework that allowed sending and receiveing mails from VisualWorks to CCMail using Vendor Independent Messaging. This was used for notify developers about bugs that might occur at run time in applications.
Core concepts: The use of CPOK and external interface framework in Visualworks.
Capacity: Designer and programmer for the application.
2/94-4/95 (USA) Senior Programmer Analyst, Rothwell Systems Inc, USA
Rothwell Systems is a wholly owned subsidary of Rothwell International at Houston, Texas, USA. Rothwell Systems (RWS) focuses on smalltalk applications primarily.
Projects Project - Pegasus - a CASE tool for development of object-oriented applications using an integrated methodology.The tool was implemented in Smalltalk/Visualworks 2.0. The tool combines the following methodologies - object-oriented software Engineering (OOSE) by Ivar Jacobson, Object Modeling Technique (OMT) by James Rambaugh and class Resposibility-Driven Design by Rebecca Wirfs-Brock.
Project - TIB-Prototype - a technology demonstration prototype that proves Smalltalk/Visualworks can successfilly send/receive messages over the Teknekron Information Bus (TIB).
Client: SONY, California, USA.
Capacity: Project team leader for team of four.
8/93 -11/93 (USA) Programmer/Analyst, Daedalus Performance Management Systems, USA.
Skill-Value Evaluation System: The project comprised of a database system implemented in Foxpro 2.5 and a statistical routine for regression analysis (singular value decomposition) written in C. The database system allows an organization to classify its salary survey data into skills and skill proficiency levels it needs to be successful.
6/93 -8/93 (USA) Consultant, San Jose Medical Center's Family Practice Residency Program, USA. Key responsibilities include designing, creating and monitoring links between the Residency Program and the medical center's Medical Information System and identifying areas where databases would enhance performance. Foxpro was the DBMS used.
9/91 -5/93 (USA) Graduate Assistant, Dept.of Computer Science. Univ. of South Alabama, USA. Responsibilities included interacting with users, playing a key role in team dynamics to define user requirements, develop information system models and recommend systems specifications. Accrued sound knowledge of Smalltalk, C, C++ in UNIX and Windows environments and relational databases ( Sybase and Oracle) in the process.
10/89 - 8/91 Testing Engineer, Bharath Electronics Ltd, India (A premier government organization manufacturing electronics and communication equipment for defense and public sectors). Responsibilities included testing of broadcasting studio equipment such the 1kW and 10kW Radio transmitters and Television Studio Cameras (KCM Series, in collaboration with BOSCH Gmbh, Germany). Specifically testing of RF amplifiers, Switch Mode power Supplies, Z-80 based monitor/controller, video processors, camera monitors and development of test interface cards and the required software in C.
References Available on request.