Java Architect Resume Profile
Summary
- More than 14 years of extensive hands on experience on the full software project development lifecycle working in various capacities as Software Architect Project Lead Team Lead Senior Developer and Consultant in delivering high quality mission critical innovative and cost effective software products and applications for startup and large global organizations using Core Java and JEE. Expertise in developing Object Oriented Web-based Web Services Relational Database NoSQL and Client-Server software products and applications.
- Diversified and hands on experience using Java Enterprise Edition Hibernate Spring Flex Struts XML and related technologies Web Services REST and SOAP based C C Oracle Sybase DB2 PostgreSQL and MS SQL Server.
- Extensive experience in choosing the right technology stack for an application. Have documented using 4 1 model and defended proposed architectures and designs with the client.
- Experience in leading development teams of up to 12 developers including some who worked offshore. Experience in mentoring junior developers.
- Strong programming experience with Java application servers and software packages. Involved in complete product life cycle with various organizations.
- Expertise working with Agile methodologies like Scrum. Have also worked extensively with the Waterfall Model.
- Experienced in using various Object Oriented principles like Single Responsibility Principle SRP Don t Repeat Yourself DRY loose coupling programming to interfaces apart from the standard basic ones like Encapsulation Inheritance and Polymorphism.
- Experienced in writing JUnit Test Cases for Struts Hibernate Spring and EJB 3.
- Extensive experience in using architectural patterns and methodologies like Model View Controller Layers Service Oriented Architecture SOA Event Driven Architecture Model Driven Architecture Domain Driven Design Pipes and Filters Publish-Subscribe etc.
- Expertise working on Integration architectures using messaging SOAP web services both document/literal and RPC based REST services and Enterprise Service Bus Oracle Aqualogic Service Bus .
- Expertise with various modules of the Spring framework like Aspect Oriented Programming AOP Security Messaging Transactions Spring Data integration modules with Hibernate JPA and JDBC Email Web Services Neo4j Hadoop and JMX.
- Expertise in using Java Persistence API 1.x and 2.x entities with Hibernate or Eclipselink as the JPA provider.
- Extensive experience using Core Java design patterns like Singleton Strategy Observer Adapter Decorator Composite Proxy Template Fa ade Iterator Factory and Abstract Factory .
- Good experience using JEE design patterns like Front Controller Session Fa ade Data Access Objects Data Transfer Objects View Helper Service Locator Business Delegate etc.
- Experience working with Mobile Technologies like Android and Big Data technologies like Neo4j and Apache Hadoop.
- Expertise in working with relational databases and the procedural languages associated with them. Have worked on Oracle Oracle PL/SQL MS SQL Server Transact SQL Sybase DB2 MySQL PostgreSQL and Hypersonic SQL.
- Extensive experience in working in the Storage Banking eCommerce Semiconductor and Aviation Domains.
- Excellent communication analytical technical and problem solving skills.
- Ability to build relationships establish credibility and build rapport with stakeholders at multiple levels including those external to the organization.
- Certifications
- Sun Certified Java Programmer 2.0
Technical Skills
Languages | Java C C Java script PL/SQL Flex XML XSL Pro C Visual Basic HTML XML UML. |
Frameworks | Apache Struts Spring Quartz Scheduler Hibernate JUnit Fitnesse JQuery |
AJAX Tools | Direct Web Remoting DWR . |
Operating Systems | Unix IBM Digital HP Linux Windows |
Web Services Tools/Technologies | WebLogic GLUE Toolkit SAML Apache Axis Jersey Java Web Services Developer Pack Microsoft Soap Toolkit |
JEE technologies | EJB 3.0 JMS JDBC JSP Servlets JNDI JCA JCR |
Web Application and Message Servers | Web Logic Server 10.x JBoss ActiveMQ Apache Web Server Resin Glassfish WebSphere IIS Tomcat Jetty JRun. |
Mobile Technologies | Android Gingerbread |
Enterprise Service Bus | BEA Aqualogic |
RDBMS | Oracle MS SQL Server Sybase DB2 MySQL PostgreSQL HSQLDB |
JCR Implementations | Apache Jackrabbit Modeshape from Red Hat |
NoSQL / Big Data | Neo4j Hadoop. |
Cloud Computing Platforms | Amazon Web Services AWS . |
Distributed Technologies | CORBA Tuxedo MSGAPI RMI |
Modeling Tools | Rational Rose Visio ArgoUML. |
Mapping tools and Technologies | Spatial FX SVG |
Methodologies | RUP Agile Waterfall |
Development Build and Testing Tools | Ant Maven JMeter JBuilder Eclipse JDeveloper Visual C Visual J Visual Caf . |
ERP and CRM Products | SAP Salesforce.com |
Version Control | Clearcase Perforce Visual Source Safe CVS SVN MKS pVCS |
Professional Experience
Confidential
Role Java Architect
The SIMS platform exposed a suite of SOAP web services which could be consumed by client applications within Wells Fargo who were required to authenticate and authorize their online users
Responsibilities
- Architecture design and development of the Online Wire Transfers project within the SIMS development team.
- Environment Java 6 JEE Spring 3.x Camel Apache CXF Hibernate 3.x
Confidential
Role Java Architect
The Recommender application was an n tier web based application which was used by the Sales team to decide upon a Storage technology from the Netapp portfolio which would be the correct fit for the customer requirements. Netapp had a wide range of Storage platforms and technologies which could be sold to customers and clients in order to satisfy their storage requirements. These platforms and technologies were Flash cache Flash Pool Flash Accel EF and Series etc. Each of these technologies performed well on some requirements for example performance and latency whereas performed poorly on some other requirements for example cost rack space etc. The goal of Recommender was to assign scores to these technologies and platforms based on the answers that were given by the customers to preselected questions that Recommender displayed. The technology or platform with the highest score was then presented to the customer as the recommended storage solution.
Responsibilities
- Responsible for the architecture design and development of the application. Led the design of the REST services which were hosted on a clustered WebLogic Server. Responsible for the creation of the data model and the object model on the server side.
- Contributed to the decision on the technology stack which was finally used. Responsible for laying out the initial structure of the project including Maven build scripts JPA entities and Spring Data JPA Repository interfaces.
- Helped and mentored other team members in the areas of the technologies which were used the best practices which had to be adopted and the low level design of the services which had to be implemented.
- Wrote and unit tested the JPA entities the DAOs and REST/Java services. Responsible for the creation and maintenance of the seed data which had to be inserted into the database tables for Recommender to work properly. The seed data dealt with the questions and possible answers which were shown to the user.
- Actively involved in Database related activities like creation and changes to the Oracle schema creation of sequences and the copying of schema and seed data between development staging and production environments. Responsible for maintaining the schema creation scripts and the data insert scripts in Perforce.
- Involved in the performance tuning of the Java services by using lazy loading features auto-wiring and creation of Database indexes.
- The presentation tier was developed using the Kony mobility platform. The presentation tier made use of the REST services to perform CRUD operations on the Database and provided a GUI for the user to interact with the data. Was responsible for interacting with the Kony development team and helping them troubleshoot issues.
- Environment Java JEE 6 Oracle WebLogic server 10.3 Spring framework 4.x Spring Data JPA Jersey 1.8 Jackson 1.7 Oracle Database 11g Perforce Kony mobility platform.
Confidential
Role Java Architect
The Webtag Resiliency project was basically concerned with providing the ability to failover to an application called Webtag. Webtag was a JEE application which was responsible for the distribution of reports written by analysts to various parties who were interested in viewing it. Since it was very critical that the interested parties got the reports on time and without disruptions hence it was essential that Webtag experience close to zero downtime. What was needed was the ability for a parallel running secondary Webtag instance to take over the processing from a primary Webtag instance which had failed suddenly. Since Webtag was deployed on Weblogic and used the file system and a database to store files and data respectively the goal was also to provide a secondary file system and database which could be used in case if the primary ones failed.
Responsibilities
- Authored an architecture document which proposed a way to provide transparent failover from a primary Webtag instance to a secondary Webtag instance which was running on a different application server and using a different file system and database.
- Designed and implemented a prototype as a proof of concept for the architecture. Conducted performance testing using the prototype.
- Responsible for creating a local development environment for the application by mocking up external stimuli.
- Responsible for the configuration and deployment of the application using a multi pool. The multi pool was configured for fail over in which the failover database server was continuously synched up with the primary database server using replication.
- Redesign and modification of the webtag application in order to provide failover capabilities to the entire webtag application. Redesign involved checkpointing the state of the application regularly to the database.
- Responsible for the introduction of the Spring framework JPA/Hibernate and Struts frameworks in the application. The earlier application used EJB 2.0 beans JSPs and Servlets.
- Created and configured Struts s struts.xml Spring s applicationContext.xml and JPA s persistence.xml file to configure the presentation middle and ORM tiers.
- Contributed to the support maintenance and bug fixing of the application while it was deployed in production.
Environment JEE Oracle Weblogic 10.3 Spring Framework Hibernate EJB JSP Servlet Sybase UNIX.
Confidential
Role Technical Architect
The Voyager product was designed for the medical insurance companies and enabled them to submit claims information and get replies from the CMS Claims Management System which was managed by the US Government. Voyager was a three-tier web based application which used the MS SQL Server DBMS for its persistence needs. It had a presentation tier which was based on servlets and the middle tier used the Spring framework in order to harness middle tier services.
Responsibilities
- Responsible for reviewing the existing architecture of the application and recommending changes for improving the performance of the system.
- Establishing processes of code review and documentation in the project team.
- Experimented with using the READ COMMITTED SNAPSHOT isolation level in the MS SQL Server DB instead of READ COMMITTED. Implemented the READ COMMITTED SNAPSHOT isolation for the Voyager application.
- Made changes to the application so as to use optimistic concurrency for database access.
- Implementing best practices in the project like using Spring s declarative transactions event propagation and use of JPA/Hibernate along with Spring etc.
- Prototyping and exploration of the Fitnesse testing framework from the point of view of determining the suitability of the framework for the project.
Environment JEE MS SQL Server 2005 Spring 2.x Drools ActiveMQ Quartz Scheduler Spring MVC.
Confidential
Role Java Architect
This project was concerned with two chief deliverables a Creating a flexible reporting framework which any application in State Street could use to add reporting functionality b Conversion of existing reports based on Actuate to Jasper reports. The reporting framework used the open source Jasper Reporting libraries in order to satisfy report requests made by applications within State Street. The framework was designed for scalability performance and extensibility so that numerous applications in State Street could offload their reporting needs to this framework
Responsibilities
- Created and maintained Struts s struts.xml Spring s applicationContext.xml and JPA s persistence.xml file to configure the presentation middle and ORM tiers.
- Worked on an Android client which made use of the REST services exposed by the middle tier. The Android client used those services to query for status updates regarding report generation.
- Used the Jersey library to expose Java services on the middle tier as REST web services.
- Contributed substantially to the final architecture of the framework which was implemented. Responsible for converting the requirements which were obtained from the business analyst to a concrete technical design and documenting the architecture using the 4 1 model.
- Design and development of the web interface for the application. Designed and developed the entire stack along with rest of the team. JMeter was used to load test the web interface of the application.
- Designed the Database schema to persist the report scheduling information to an Oracle database.
- Annotated Java classes with JPA annotations in order to map those java classes to their corresponding tables in the database.
- Contributed to the design development and unit testing of the report generation choreographer of the application.
- Mentoring of junior developers in the team providing them technical guidance and solutions.
- Environment JEE Struts JUnit Spring REST Web Services EJB 3.x Hibernate Quartz scheduler Oracle RDBMS.
- Confidential
- Project Java Service Offering
Role Solutions Architect
The Java Service Offering group was responsible for developing Proof of Concepts on emerging and prevalent technologies conducting webinars on important technology topics responding to RFPs and deciding on the system architecture for projects in Satyam.
Responsibilities
Authored an architecture document for a Point of Sales application. This architecture was finalized after requirements analysis research in the Point of sales standards and specifications available and some open source applications for Point of Sales which were available on the internet
Conducted a webinar on JPA Java Persistence API after doing some research on the topic. The webinar had close to 300 participants and was attended by associates from various Satyam offices.
Came up with a system architecture which was presented as a response to an RFP Request for Proposal from General Electric.
Responsible for mentoring technical resources and helping them develop prototypes on bleeding edge technologies.
Environment JEE Spring EJB3 Toplink BEA Aqualogic ESB ActiveMQ Tomcat Struts.