I am a Software Engineer with extensive commercial experience gained working on variety of large enterprise-scale agile projects. My expertise are in web, server side and service-oriented architecture utilizing array of technologies. I am self-motivated, adaptive, technically hands-on person who is keen to learn new skills and technologies and who can work independently in a fast paced dynamic team environment. I have good interpersonal skills with the ability to communicate at all levels of an organization. I also have experience in the eCommerce, media, financial, insurance and telecommunication industry, these include: Deutsche Bank (Collateral Management), Barclays Corporate, Friends Provident, Lloyds TSB, Virgin Media and Trader Media.
Specialties:
• Java & J2EE
• Scala, Scalatra and Play Framework
• Spring/MVC/WebServices/Integration
• Struts 2
• Design patterns & UML
• Agile TDD
• Spring & Hibernate
• JBoss JMS, ActiveMQ, IBM MQSeries, Mule
• Web services/SOAP/JAX-WS/AXIS2/XFIRE
• JavaScript, AJAX, HTML, CSS, JSP & JSTL
• XML & DOM
• Multi-threading
• IntelliJ, Eclipse & SpringSource Tool Suite
• Tomcat
• Ant & Maven
• SubVersion & Tortoise SVN
• SQL, Oracle, MYSQL
• JUnit, Selenium, Mockito, EasyMock
• Experience in Investment Banking, Insurance, Telecoms and Media
Senior Developer @ Which? is the largest consumer body in the UK that represents consumer rights with members subscribing to magazines and online subscriptions.
• Part of Which? Digital team working on various projects utilising agile, scrum, tdd, pair programming and continuous integration.
• Learnt Scala, Scalatra and Play Framework whilst working on projects.
• Implemented RESTful APIs to return content details from the underlying CMS system, written in Scala using Scalatra micro-framework and JPA (Spring Data).
• Refactored existing application (Reviews), written in Java/Spring, to enable business to get reviews online quicker. This involved writing unit/integration tests, creating various feed importers, composer to aggregate product information and insert documents into MongoDB collection.
• Developed Scala component to read csv file and validate entries.
• Supported Legacy applications.
• Mentoring new team members.
• Collaborating with Product owner, Scrum master, BAs, Architects and Testers.
• Took part in daily stand up, grooming, planning, retrospective, weekly dev meeting, brown-bag sessions, creating proof-of-concepts and spikes.
• Technologies used: Scala, Scalatra, Play Framework, Spec2 Tests, Java 1.7, Spring, MongoDB, RESTful, JSON, Mockito, GIT, Jenkins CI Serve. From October 2013 to Present (2 years 3 months) Senior Developer @ Working at Barclays Corporate implementing a new greenfield Account Switching (Regulatory required) system, for its corporate clients, to make switching accounts from one bank to another easier.
• Using Agile/Kanban/TDD
• I was first to join the development team and was responsible for helping to design, architect and setting up of the development environment. Application is a typical n-tier architecture. To get the project progressing I setup deployment environment initially on Cloud Foundry and then migrating it on to Amazon EC2 with Tomcat, Oracle and Jenkins (Continuous Integration).
• The application is designed to capture payment details, from front-end screens, validate, generate (ISO20022 Payment Messages) and sends instructions, using spring-integration to MQ Series, to downstream systems for processing.
• Helped develop mappings of ISO 20022 Payment Messages e.g. Credit Transfers. PACS008 (Faster Payment) and PAIN002 (Payment Status Response), MT103 and MT199 for CHAPS/SWIFT. SWIFT transformation was possible using the WIFE open source SWIFT library.
• Developed on the whole end to end application stack, Introduced spring-integration within the project to provide higher-level of decoupling from the underlying messaging system.
• Front end primarily involved coding purely HTML, JQuery, Ajax and JSON.
• Server side development typically involved developing spring MVC+REST controllers, services, structural/business validators and repositories components.
• Wrote unit tests (using Mockito), integration tests and acceptance/system tests (using REST-assured library).
• Developed various proof-of-concepts e.g. spring-integration, loading of CDI files using Lucene Apache Solr and querying Solr via RESTful services.
• Managed a UX resource and helped with front-end development.
• Helped with documentation of ‘Run The Bank’ for support department.
• Collaborated with BAs, UX, Testers and Infrastructure team. From April 2013 to October 2013 (7 months) Sr. Java Developer (Contractor) @ CitiHub is a leading IT consultancy service, specialising in technology and infrastructure solutions for the financial services sector.
• A short term private contract to help CitiHub deliver, in the final phase of the project, a front-to-back ‘Capacity Management’ web application for a top tier Investment Bank. The application addresses the problem of more accurately predicting and responding to the impact of market and trading volume changes across the entire transaction flow.
• My responsibility involved building frontend and backend components
• Frontend screen were developed using JSPs, JQuery, Twitter Bootstrap, Sparklines (small inline charts), DataTables and JSON.
• Developed various server side components controllers, services and DAOs connecting to Oracle database
• Collaborated with external design company to integrate frontend designs
• Technologies used: Spring 3.2, Spring MVC, JSPs, JQuery, Twitter Bootstrap, Sparklines, DataTables, JSON, EclipseLink JPA, WebLogic 12, Oracle From February 2013 to March 2013 (2 months) London, United KingdomSr. Java Developer (Contractor) @ Europe’s largest specialist multimedia publishers, TMG, provides market leading automotive classified, high-volume, website, with over 10 million unique users consuming 1.5 billion pages of content per month.
• Part of the Consumer Technology Team, delivering new functionality or enhancements to existing functionality and assisting in the diagnosis and support of production issues
• Following Agile/Kanban methodology applying core agile principles of Pair Programming (with daily rotations), TDD and BDD. Participated in agile processes (weekly kick-offs, stand-ups, retrospectives)
• Application is n-tier and is custom built using Pico container as the underlying Inversion of Control framework
• Developed both on server side and frontend
• Developed various server side components e.g. presenters (controllers), commands (form processing), queried search engines (Endeca big-data), Hibernate (to store reviews and ratings in Oracle) and Mongo DB (for form error processing)
• Got involved in frontend development when required, working with StringTemplate/JavaScript/Backbone/JSON/Ajax.
• Developed Twist (BDD tool) use cases to test the intent of the system
• Participated in Hackathons. Developed an application using Spring Roo, Mongo DB and Apache Camel (Enterprise Integration Pattern framework) to process incoming files, store details in Mongo DB and send confirmation emails
• Undertook additional tasks e.g. Lead retrospectives when required and gave presentation on Spring Roo as part of weekly knowledge share session
• Built constructive relationship with UX Developers, QA testers and Business Analysts
• Technologies used: Pico container, Java 1.6+, JBoss, Twist for BDD, Oracle, Hibernate, Mongo DB, Endeca Search Engine, RESTful WebServices (RestEasy), JUnit, Mockito, JQuery, Selenium WebDriver, Git, Svn, Spring Roo, Camel, Cruise Control as CI From June 2012 to December 2012 (7 months) Sr. Java Developer (Contractor) @ • Part of a small proactive team building RESTful Web Service APIs for RPs online portal and affiliates. The team was self organising, worked collaboratively, not micro managed, in which individuals took on responsibility for delivery of the system
• Project based on Agile/Scrum/TDD methodology operating one week sprints and twice weekly releases building the product in small increments
• Participated in weekly iteration planning meetings, daily scrum, sprint review and retrospective meetings. Applied techniques such as Planning Poker to plan, estimate and prioritise sprint backlog/stories
• Worked and collaborated with Scrum Master, Product Owner and QA
• Developed RESTful web services and various components within the architecture e.g. rest interceptors, struts actions, services, finders, transformers, DAOs, Hibernate HQL queries
• Wrote units tests and functional/integration tests to verify RESTful APIs, using TestNG/JMock/HttpUnit
• Regular pairing, code reviewing, refactoring of code and addressing technical debt
• Took part in Maintenance team to solve day to day technical queries and clear maintenance backlog. Also helped develop support screens using JQuery/Ajax/Struts2 e.g. Monitoring Quartz Jobs, Customising Logging
• Maintained internal API wiki for RESTful web services
• Wrote DDL to create / maintain database tables and views
• Took on responsibility for deployments and production releases
• Technologies used: Spring 3, Struts2, RestEasy framework, JAXB, Hibernate, MySQL, Tomcat, TestNG, JMock, HttpUnit, Quartz, JQuery, Ajax From October 2011 to March 2012 (6 months) Sr. Java Developer (Contractor) @ • Working on a high traffic, customer-facing portals, for Virgin’s suite of value-added services.
• Projects based on Agile/Scrum methodology with 1-3 week sprints, TDD and continues integration environment
• Participated in daily stand-ups and code reviews
• Refactored bespoke XML/XSLT framework to Spring MVC controllers, components, services using annotations
• Developed JAX-WS WebServices to integrate VM systems with BT systems
• Wrote units test (JUnit/Mockito/Integration/Selenium) to ensure quality of work and provide code coverage
• Wrote unit tests verify correctness of XML files
• Wrote Selenium scripts and unit tests to test individual web portals
• Collaborated with front-end team members to integrate XML/XSLT wire-frames with Spring MVC
• Managed and Mentored Offshore team members in how to write unit/mock/integration tests
• Participated in Knowledge Transfer session with Offshore teams due to projects being outsourced
• Setup Confluence wiki pages for internal project use
• Took on responsibility for deployment of portals
Technologies used: Java, Spring 2.5.6, JAX-WS, TDD, Selenium, JUnit, Mockito , Bamboo, UML, SVN, Maven From June 2010 to September 2011 (1 year 4 months) Sr. Java Developer (Contractor) @ • Woking in an Agile/Scrum continues integration environment
• Participated in daily stand-ups, design reviews, code reviews, provided feedback and wrote release documentation
• Developed from user stories / use cases
• Wrote tests using JUnit , JWebUnit and EasyMock. The system currently contains 7,000+ tests
• Developed on all layers of the architecture from Struts 2 web front-end, service layer and data access layer
• Applied TDD together with UML diagrams to implement financial movement functionality for credits and refunds
• Integrated internal system to Experian(Credit Check), via WebServices, to provide id validation service
• Integrated internal system to Siebel CRM, via WebServices, to provision customers and users
• Wrote JAX-WS handlers to manipulate SOAP headers e.g. base64 encoding and timeout control
• Implemented asynchronous communication using JMS and MDBs
• Generated various reports using Jasper Reports
• Applied design patterns such as Messaging Gateways, Adaptors, Command, Singleton
• Setup SSL certificate(s) and keystore using the java keytool and openssl
• Wrote hibernate mapping files e.g. to provide table per class hierarchy with discriminator strategy
Technologies used: Java, Spring 2.5.6, Hibernate, Struts 2, JAX-WS (WebServices), JBoss, JMS, MDBs, TDD, JUnit, JWebUnit, EasyMock , Jasper Reports, Cruise Control, Ant and UML From January 2010 to June 2010 (6 months) Sr. Java Developer (Contractor) @ UK Broadband is a wireless network operator in the UK and is a wholly owned subsidiary of PCCW.
• Followed Agile/Scrum processes e.g. daily stand-ups, design reviews, code reviews and continuous integration
• Helped in design, implementation and support of UKBroadband’s n-tier middleware platform from its inception
• Designed technical solutions based on functional specifications e.g. Salesforce integration with Spring MVC
• Designed, coded, unit tested and maintained various applications e.g. CRM, LDAP, eBilling, Payment(BACS), SMS, Gateways and Logistics
• Prepared documentation for internal use e.g. Use cases, Sequence diagrams and Class diagrams
• Provided technical assistance and information to other team members
• Reviewed design ideas and provided work estimates
• Provided development status updates to the team lead on regular basis
• Collaborated with resources (technical, PM) to ensure the success of the project
• Maintained awareness of new developments in Java and Spring e.g. Spring WebServices
• Experimented with TDD
Technologies Used: Spring, Spring WebServices, Spring MVC, Spring WebFlow, Hibernate, Jboss jBPM, Salesforce CRM, Axis, XFire (CFX), ActiveMQ, AOP, JMS, JSP, JSTL, Junit, XSD Schemas, Linux, MySQL, Maven, Ant, SVN, CVS, Tomcat, Eclipse, Cruise Control From May 2005 to December 2009 (4 years 8 months) Sr. Java Developer (Contractor) @ Kiwi is a creative communications agency helping their clients, large and small, to communicate effectively.
• I designed and implemented the Document Auditing and Error Reporting web application using n-tier architecture based on functional requirements
• Functionality implemented includes Authentication, Search capability for Audit Trail and Error Reporting, Management of Users, Roles, Documents and Multi threading
• Designed the database schema, views and stored procedures for the application
• Integrated with Weblogic’s JCOM to access, query and retrieve data from a third party database, through COM objects, using windows DLLs
• Implemented a multi threaded functionality to upload a CSV files, generated by an external application, for error reporting
• Developed struts plug-ins
Technologies: BEA WebLogic Server 8.1, Weblogic’s JCOM for COM objects, Struts 1.2, JSP, JSTL/Struts taglibs, Business Services, DAOs, JDBC and SQL Server 2000 database From March 2005 to April 2005 (2 months) Sr. Java Developer (Contractor) @ Servista is the leading provider of outsourced customer care and billing services. The client base of Servista consists of Lloyds TSB, TESCO, BT Wholesale and the Post Office.
• Helped design, implement and support several J2EE applications e.g. Help desk, timesheet
• Assisted in deploying of applications and general administrating of WebLogic server
• Mentored in Java, Struts and WebLogic, when required
Technologies: BEA WebLogic Server 8.1, Java, J2EE, Struts, JSP, Hibernate, TDD, AppFuse and Oracle From August 2004 to March 2005 (8 months) Sr. Java Chordiant JX Developer (Contractor) @ At LloydsTSB I have worked on two major projects, Screen Based Account Opening system (SBAO) and Claim Sales Data Collection (CSDC) both using Extreme Programming (XP) methodology and Chordiant JX architecture.
• SBAO – purpose of this application was to replace an outdated and time consuming paper based account opening system with a WEB based solution.
• CSDC – aim of this project was to generate reports based on sales data captured at the branch level.
• I was involved in the overall design of the application. My responsibilities were to translate the system use cases in to sequence diagrams and class diagrams, using Rational Rose.
• Designed and generated the Chordiant JX Services and Persistence (JXP) objects using Rational Rose.
• Implemented the Identification and Verification (ID&V) component of SBAO using Chordiant JX Services (EJBs) which interacted with Chordiant Rules and JXPs using TDD
Technologies: WebSphere Application Server, AXIS WebServices, ASP.NET, Chordiant JX (EJBs), Chordiant JX (CRUD), Chordiant Rules Engine, MQ Series, JUnit, Oracle From September 2003 to August 2004 (1 year) Sr. Java ATG Developer (Contractor) @ Friends Provident Group plc is a UK-listed life and pensions company.
• Helped to design and build a B2C website for Friends Provident (FP), www.friendsmilestones.com, using ATG Dynamo and Oracle. The website enables customers of FP to buy financial products and manage them online.
• Devised and implemented Stakeholder/Investment workflow where the customers can select different investment vehicles for their funds. Interfaced with a third party software, using EJBs, to verify customer’s bank details.
• Developed a web-based utility for the middle office personal to grant customers access to restricted areas of the site. This required interfacing with the backend mainframe system, using EJBs, to verify customer information
• Developed a bulk mailing system for the marketing department for pre-registration and promotions From April 2003 to September 2003 (6 months) Sr. Java Developer @ • Developed on Chordiant 5 (JX) projects that required working with JSPs, XML, XSLT, writing Business Services, Web front-ends and security modules using LDAP. I have also integrated Chordiant with MQ Series, using the IBM MQSeries classes for JMS From January 2002 to April 2003 (1 year 4 months) Sr. Java Developer @ Established provider of E-Commerce solution using Intershop Enfinity platform.
• Designed, Implemented, maintained and supported B2C and B2B e-commerce applications
• http://eos.trw.com a B2B multi-lingual site for a large corporation that made Automotives parts. Developed the middleware interface between Enfinity and AS400.
• Netaxcept –Technical architect / team leader to develop a back office solution that interfaced with a third party system, based on SOAP protocol.
• www.wearticle.com a authorisation workflow B2B marketplace site for a wholesaler that dealt with Pharmaceutical companies. I was in charge of building a feeds interface between Intershop Enfinity and NaVision.
• www.homebase.co.uk a B2C site. Part of a team working on the Order Management System in which I was responsible for developing web based application for Customer Service Representative From December 1999 to January 2002 (2 years 2 months) Sr. Java Developer @ Deutsche Bank is a leading global investment bank.
• Developed and maintained, from its inception, a bond trading system for Collateral Management business. This was a complete front to back office solution.
• Developed many screens to fully capture trade entries, search for trades and securities, calculate accrued interest on securities etc…
• Whilst developing this trading system I gained extensive knowledge of the Repo business
• To support the main trading system I have also implemented several tools:
• A Reporting Tool for the back office, developed using Delphi. In total there were about 40 reports produced daily and these could be scheduled anytime for printing or faxing.
• A Web Based Reporting Tool for clients to view reports online using Java Servlets and JDBC.
• A Feeds Interface between the Collateral Management system and the banks main Repo trading system. This was written using C++ and RogueWave database library on Unix.
• Technologies used: Java, Borland Delphi, Oracle, C++ and RogueWave From January 1996 to December 1999 (4 years) Research Assistant @ • Wrote a compiler for a new language to enable programmers to write parallel programs. This was written using C, Lax and Yaac From July 1995 to January 1996 (7 months) London, United Kingdom
Gautam Mehta is skilled in: EasyMock, MySQL, AJAX, Selenium, HTML, Mule, ActiveMQ, Ant, JSTL, Spring, Hibernate, JUnit, JSP, J2EE, Tomcat