Java Developer Resume
IowA
SUMMARY:
- Software professional with 14 years of experience in Analysis, Design, Development and Testing of primarily Banking and Financial Services, currently working as Java Developer, seeking a challenging position to enhance my professional skills and contribute to the growth of the company.
- Hands - on development experience with leading financial/payments products like BASE24-eps, BASE24-classic, Confidential, ChasePay, Finacle.
- Developed applications in C++, Java, Boost, STL, Design Patterns, Oracle 11g/12c on Unix/Linux and Tandem platform.
- Knowledge of advanced level programming in C++ like C++11.
- Developed BASH Unix shell scripts and quick in adapting new scripting languages and tools.
- Good understanding of industry standards like ISO8583 Messaging Standard.
- Excellent knowledge of industry standard methodologies like Software Development Life Cycle (SDLC), Agile methodologies.
- Ability to diagnose and debug complicated issues in payments domain. Highly experienced in troubleshooting and root cause finding.
- Hands-on experience leading all stages of system development efforts, including requirements definition, analysis, design, coding, implement reusable components, using third-party API, resolution of defectsintegrate, test, build, deployment and support.
- Ability to perform as part of a team and exceptional talent for quickly learning new systems and company protocols. Experience in working with small and large size teams.
TECHNICAL SKILLS:
Programming Languages:: C, C++, Core Java
Scripting Languages:: Bash UNIX Shell Scripting (sort, grep, split, match, substr, length, index, AWK, getline, etc)
Testing Tools:: Cucumber, Selenium, CA LISA Automation Tool, SoapUI, REST Client, CA DevTest Automation Tool, UDF
Transaction Simulators: FASTest Simulator, Generic Simulator, Versa Test Transaction Simulator
Tools:: C++11, Design Patterns(Bridge, Factory Method, Singleton, etc), Selenium, Jenkins, Eclipse, Maven, TestNG, Junit, Log4j, Beanutils, Jxpath, SWT, Picocontainer, Apache Commons, Splunk, WindowBuilder, Selenium IDE, Firebug, Xpath helper, FirePath, GIT, SVN, Jira, Clear Case, Clear Quest, CM-Synergy, Visual Inspect Debugger, DBX Debugger, GDB Debugger, TACL, FUP, Enform, EMS, NCPCOM, Putty, MAKE, JIRA, Confluence, Zephyr, Load Balancing, Restful Web Services
Operating System:: Linux, UNIX, Windows, HP nonstop/Tandem Guardian
Database:: Oracle 11g/12c, SQL, Cassandra
Products Knowledge:: BASE24-eps, BASE24-Classic, Confidential, Finacle
PROFESSIONAL EXPERIENCE:
Java Developer
Confidential, Iowa
Responsibilities:
- Part of Agile team, working as Java Developer.
- Involved in gathering the retirement from QA on process of current policy creation on Mainframe and Web.
- Involved in creation design of core tool and UI.
- Development of WinAutomation, Emulator, Session, Screen, Field, Browser, WebApplication, Widget, xPath, StepFormatter, StringFromatter, StringTranformer, StringUtil ThreadUtil classes.
- Develop automation Mainframe Framework, Cucumber Step Formatter Classes/framework, to interact with Mainframe Passport host, using Ole Automation, Java, Maven, SWT.
- Devolvement of automation Selenium Web and Cucumber framework, to interact with browsers using Selenium WebDriver.
- Creation of Java Regular Expressions for handling different types of English grammars in Automation script.
- Development of TegNG framework for doing Unit Testing of the developed classes.
- Devolvement of glue code for Copy, Fill, Launch, Verify, Write, Press, Wait, Screenshot, Click, WebLaunch, Default features.
- Creation of Xpaths, using Selenium IDE, Firebug, Xpath helper, FirePath.
- Devolvement of automation Reports framework, to produce script execution pass/fail report and screenshots.
- Devolvement of UI tool using Java, WindowBuilder, SWT, to interact with SharePoint and to launch Cucumber, for creation of new test suits, updating existing test suites, running the test suite, handling complex logic of showing correct info/waring/error messages on UI.
- Creation of Automation Batch job, to run Regression Suite, on VMs via Windows Scheduler, which would be triggered on daily basis, on latest Mainframe build.
- Creation of Email Trigger Batch Job to send status of regression, on daily basis, to all stakeholders.
- Creation of Tool User Manual, which can be used by QA team.
- Creation of PDF framework using Apache PDFBox, which would launch PDF, search any text in PDF and compare the results with MainFrame screens and Web.
- Creation of Excel framework using win32 OleAutomation which would launch Excel file and search any text in particular Cell and compare the results with MainFrame screens and Web.
- Performing Unit, System, Regression and performance testing and tuning to support User Acceptance testing and production deployment.
- Educating QA team on usage of New Automation Tool and helping them in resolving issues.
Technologies: C++, Java 8, SharePoint, Design Patterns, Mainframe, Eclipse IDE, Apache Maven, GitHub, Standard Widget Toolkit(SWT), Apache commons, Selenium WebDrivers, win32 Ole Automation, Xpath Language, Regular Expressions, Cucumber-JVM, TestNG, Apache Log4j, FirePath, Firebug, Selenium IDE, Xpath helper, Windowbuilder SWT tool, Picocontainer, Apache PDFBox, Agile.
Confidential, Wilmington, Delaware
Java Automation Developer
Responsibilities:
- Involved in understanding of functional requirements.
- Created test cases and data conditioning based on requirements.
- Created automation design document.
- Automated API’s using Maven project of cucumber/Citrus/UDF framework.
- Written feature file having test cases in Given/When/Then format.
- Developed POJO’s for JSON request, JSON response, Oracle fetched fields, Cassandra fetched fields.
- Developed modular code for connecting/fetching Oracle/Cassandra database which can be reused across the teams.
- Automated the validation of database output against JSON response.
- Automated few module API’s using LISA automation tool.
- Developed Java code for functionalities which are not supported in LISA tool like “Cassandra” database connectivity.
- Developed Java code for testing http service call for ISO8583 messages which was not supported in LISA.
- Developed Java code for RequestBuilder which checks for missing tags, invalid request data in JSON request.
- Developed Java code for validating array Based response.
- Written java code for XML comparison of response fields with Cassandra database result.
- Created automation test suite which can run on daily basis, on Jenkins build.
- Validation of higher environment and production logs using Splunk.
- Written Splunk queries/alerts for checking health-check of systems, for checking exceptions count in the system, for checking zero volume, for checking presence of Personally identifiable information (PII) data, for checking volume of data distributed on 2 data centers and on respective 8 host servers every hour/every day.
- Creation of Production Validation Accounts for validation of functional flows during production release.
Technologies: Core Java, Eclipse, Maven, Cucumber, UDF, Citrus, SoapUI, Mozilla REST Client, CA LISA, CA DevTest, Jenkins, GIT, SVN, Cassandra, Oracle 11g/12c, Splunk, JIRA, Confluence, Zephyr, Load Balancing, Restful Web Services, Putty, Unix, Agile.
Confidential, Dallas, Texas
Senior C++ BASE24-eps Developer
Responsibilities:
- Involved in Component Integration Testing (CIT) of BASE24 schemes release implementations for Visa/MasterCard schemes and CIT of live fixes.
- Involved in C++ development of features/enhancements like Automatic Fuel dispenser (AFD), VISA tokenization, BPAY/BTAP, Partial Authorization.
- With Partial Authorization Feature, Merchants are required to partially approve a transaction if a cardholder does not have enough balance on his card. Also, the merchant must allow cardholders to pay the remaining balance owed with another form of payment.
- Also involved in Enhancement of APACS response codes on BASE24 acquiring networks which will give more information to retailers about reason of transaction being declined.
- Also, involved in building a solution to allow Barclaycard and Barclays retail bank to roll out the Apple Pay proposition.
- Unit test case preparations and doing unit testing.
- Analysis of SDR for particular requirement to be tested.
- Creation of Test Data Report (TDR) for covering all test scenarios.
- Creation of Versa test scripts to simulate the transaction flow from acquirer to issuer.
- As part of CIT, Executing of Versa test scripts and capturing evidences like EMSLOG, Audits, Versa Test logs, PTLF.
- Regression testing to make sure that existing basic transaction flows like Purchase are working as expected.
- Involved in developing, a new C++ component to perform an extract from the appropriate input data source. This class will be registered with a Custom Factory during global initialization.
- Involved in developing, Output in an Extract file and a Report file using the stream pointer. The extract reads all records from the ATM, Merchant Delivery Channel and Merchant data sources and formats output records based on the provided mapping keeping in mind truncation, padding.
- Involved in developing C++ functions for writing header/ trailer/data records, for opening the cursor in the input data source, fetching the records, processing the records, parsing the deliver commands.
- Involved in developing, events that would be logged in to event log and error will be printed into report file.
- Involved in logging corresponding events in the event documentation though UI.
- Analysis of the requirement and development.
- Coding and Unit Testing (Unit Test Plan Preparation and Configuring Setup)
- Debugging of the C++ code using Visual Inspect
- Involved in the testing of developed module for high volume data input.
Technologies: C++, BASE24-eps, Tandem, BASE24-Classic, Versa Test Simulator, Audits, EMS, PTLF, ISO8583
Confidential
Senior C++ Developer
Responsibilities:
- Enhanced C++ code for backend support of new menus related to Bank Guarantee and Documentary credit introduced in Finacle product.
- Also, I have participated in development of STF (Service Tester Framework) and FinUX (Finacle user experience).
- Analysis of the requirement and development.
- Handling team of 5 developers.
Technologies: C++, Finacle, FinUx, STF, Linux
Confidential
Senior C++, BASE24-eps Developer
Responsibilities:
- Involved in analyzing the ISO message structure for “log on”, “key exchange”, “pos purchase” transactions, in existing BASE24-classic system.
- Created the technical high-level design document having big picture of modules participating in BIC ISO transactions.
- Involved in designing parent/derived classes. New derived classes have been registered with Component Factory (to obtain an instance of the interface) and Message Delivery Component (to receive external messages).
- Created the technical low-level design document having C++ class hierarchy and CSM’s to be developed for parsing and building certain fields of ISO8583 message, by inheriting corresponding module using polymorphism.
- Using Visual Inspect C++ debugger, debugged the vanilla C++ BIC ISO code by building IS (Integrated server) using respective “non-optimized” C++ modules.
- Configured the “BIC ISO interface” in ACI desktop UI.
- Resolved the issues in “800 NMM” message for logon. Did C++ code changes in parsing method of field 48.
- Resolved the issues in Vanilla C++ code, for handling the inbound and outbound “key counter” logic for “key exchange” transaction, by inheriting corresponding module using polymorphism.
- Configured source routing profiles, acquirer transaction allowed profile, issuer transaction allowed profile, destination routing profile.
- Modified the C++ logic of parsing of field 63 to resolve issue of Terminal ID.
- Involved in Unit testing of the newly developed C++ code.
- Involved in fixing Extract ACI scripts around logging of some of the fields in EPS Journal extract.
- Involved in fixing production issue “Negative Ledger Balance being printed on ATM receipt”. Authorization scripts, for prepaid stand-in transactions. Done the code changes in balance withdrawal subscript so that it will print amount returned by host. In balance set function of this script, changed the amount type to “Account 2 Ledger Balance”. Previously it was “Account 1 Ledger Balance”.
- Involved in fixing issue “This Usage never expires". After doing successful Internet Prepaid timeout transaction (stand-in authorization), card usage record was created without "next begin date and time". Instead of date-time, it was showing "This Usage never expires". This transaction uses stand-in prepaid authorization scrip. To fix this issue, I have done code changes in that script and Balance Read subscript.
- Technical Documentation
Technologies Used: C++, BASE24-eps, BASE24-classic, HP Nonstop, ISO8583, Visual Inspect debugger, ACI BASE24-eps authorization scripts, Audits, Explode, Netadrd, EMS logs, ES trace, ACI desktop, Extract Perusal.
Confidential, San Jose, CA
Senior C++ Developer
Technologies Used: C++, Linux, Oracle, Clear Case, Clear Quest, Boost STL, Agile model
Responsibilities:
- Involved in developing Business Logic Interface in C++, using Atlas pattern. AmEx domain has exposed an interface to client components to invoke business logic operations in the context of this domain. Boost shared library has been used for smart pointer which takes care of automatic garbage collection.
- During Virtual Terminal (VT) transaction, to allow some of the merchants to get the special fee if he/she is using American Express Credit card, I was involved in doing C++ code changes in complex modules of admin risk, FFX server and payment server.
- Amex wanted to ban some of the industries (Based on MCC) from using Amex credit card for transaction. I was part of database analysis and writing Oracle PL-SQL script to change the wrong codes.
- Involved in storing the status of Amex Card Acceptance Agreement (CAA) during sign up flow for all types of Business accounts.
- Involved in doing C++ business layer verifications for showing different reminder messages for existing business accounts.
- Analysis and high-level design of the project requirement.
- Coding and Unit Testing (Unit Test Plan Preparation and Configuring Setup)
- Defect fixing - Reproducing the defect and finding the exact module and location to put the C++ fix, making sure that new fix is not breaking existing functionality.
Confidential, Omaha, NE
Senior C++ BASE24-eps Developer
Responsibilities:
- As part of NSB bank project, involved in developing new C++ ATM ISO Interface component at acquirer (ATM) side, to process transactions from/to external system. This interface has been derived from interface framework and corresponding product interface using inheritance, polymorphism, abstract classes and virtual functions.
- As part of NSB bank project, the product interface supports certain number of standard ISO fields. Involved in developing derived interface, which will use reserved ISO field 127 to store Biller Code and Bill Number. Whenever field 127 is present, the new Bill Payment TDE (Transaction Data Element) will be instantiated and set with parsed Biller Code and Bill Number. The same TDE will be used to get the Biller code and Bill number at issuer side with new HOST interface.
- As part of Walmart project, involved in customizing BASE24-eps product C++ code (Parse and build functions of ISO field 54) to receive Available Balance in “reserved ISO field 54”, for transactions that are not balance enquiry.
- Coding and Unit Testing (Unit Test Plan Preparation and Configuring Setup)
- As part of BPI (Bank of Philippine) project, involved in writing “Unix Shell Scripts” to read the event flat file and extract the required events. Reports will be generated by sorting them by Terminal ID, and by displaying them in time order for each Terminal ID.
- As part of ACI internal Project, Analyzing defect and regenerating the problem
- Fixing bugs in the code by debugging and studding event logs
- As part of ACI internal Project, Involved in writing C++ code for BASE24 Tokens and BASE24es TDE mapping.
- Involved in writing C++ code, having “Getter-Setter” functions to implement TDE’s (Transaction Data elements).
- Involved in doing Unit testing (Get-Set of required fields) of tokens/TDEs using drivers
- Involved in Preparing Unit Test Plan, Test Cases & Drivers
- Unit testing and System Testing of the fixed code
- Check-in code using CM-synergy.
- Updating the defect fix database.
Technologies Used: C++, UNIX-AIX, CM-synergy, BASH Unix Shell scripting (sort, grep, split, match, substr, lengthindex, AWK, getline, etc), Tandem HP Non-stop, ISO8583, Visual Inspect Debugger, Generic Simulator (GenSim).
Confidential
Trainee Programmer
Responsibilities:
- I have done my MCA curriculum project in this company.
- Involved in enhancing Index module (used B+ tree data structure) to speed up access to particular rows in a database associated with objects like tables and clusters.
- Also involved in, applying Unicode character encoding Standard in Vaman Data Server.
Technologies Used: C, C++, Unicode, B+ Tree, Windows