Architect Resume
Morris Plains, NJ
TECHNICAL SKILLS
SOFTWAREJ2EE: BEA Web Logic, IBM Web Sphere, Tom Cat.
ORM: Hibernate Core JPA annotation
Streaming: Spring XD
GUI Programming: Java Swing, JQuery, ExtJS 5.0
SQL Programming: JDBC
XML: JAXB, CASTOR, JAXP
Build: Maven, Ant
Testing: JUnit
Source Control: GIT, SVN, Clear case, Perforce
Database: Oracle, SQL Server Mongo DB
In Memory Cache: Gemfire, Ignite
Shell Scripts: BASH, KSH, DOS
Spring Framework: RESTful service, Spring Batch
Workflow: JBPM
Microservice: Springboot
PROFESSIONAL EXPERIENCE
Confidential
Architect
Responsibilities:
- This is a multi - year initiative to migrate FHLBNY’s legacy structs platform into a more modern microservice based architecture.
- We use jHipster to generate application stack and modify code according to business logic by BA.
- This approach shortens development time, and provides high quality, unified UI and application stack for future code maintenance.
Confidential, Morris Plains, NJ
Application Architect/Senior Consultant
Responsibilities:
- Set up GIT repository.
- Set up maven build environment. (Working set)
- Set up RESTful service maven project. (Separate war file).
- Set up Swagger UI for RESTful service testing.
- Set up ExtJS 5.0 maven project. (Separate war file).
- Configure and sizing VMs for Gemfire cluster.
- In memory warehouse management system, this project was developed for Confidential & Confidential affiliated company Ethicon Endo to automate its spare parts warehouse, to link up with centralized One Voice CRM.
- IWMS allows JNJ regional service centers to create replenishment orders and submit them to main warehouse, main warehouse then ships them out.
- IWMS allows main warehouse to create merchandise orders and add to book entry, then when suppliers deliver orders, warehouse may turn the merchandise orders into return merchandise orders should the QA team find the merchandise order defective.
- IWMS is a RESTful service module and is hosted to Weblogic container. The UI is written ExtJs 5.0, the data storage is in memory data grid Gem fire to be more specific.
- Stands for integration hub, the project is to build a centralized IMDG for JNJ sales team. Currently inventory systems are disparate legacy systems, CRMs, which results in my inventories sitting in warehouse being unaware by the Sales Team.
- IHUB collects snapshot data from legacy systems, de-normalize them and batch insert them to an in memory data grid, in raw JSON format.
- IHUB exports RESTful service API for SalesForce UI team to search existing inventory, and to create/update custom set according to a set blue print.
- IHUB Generates geocode information by using google Geocode RESTful service API and assign them to inventories, so when a Sales Rep logs in, the system can compute the closest inventories to the Sales Rep, so he/she can go to the warehouse and pick it up.
- IHUB pushes or receives deltas to and from legacy systems by using SOAP service and SpringXD jobs, and streams.
- A restful service that allow J&J sales person to ascertain a list of product inventories that are closest to his lotion from geographical sense. So he/she can physically pick up and send them to surgery centers.
- All inventories created in integration hub is created with geocode information stored.
Confidential, Edison, NJ
Java Developer
Responsibilities:
- Convert code-pro from eclipse plugin into a stand-alone java app to be integrated into the build process. EVERYTIME A CHECKIN IS DONE, CODE BASE IS AUTOMATICALLY SCANNED FOR VIOLATIONS are emailed to everyone on the list.
- Customer module encapsulates credit origination, credit analysis, early waring as well as facility support. Customer also integrates with Risk ODS for 1.6 million existing customer s data. Customer module also integrates with CRM for relationship mapping. Once mapping is finished customer data are stored in its own schema in Oracle. This module is developed via domain driven design processes using in house framework for persistence, caching, deployment and hosting.
- Persistence are done via JPA mapping by using hibernate core library. Persistence layer are primarily used for create/updates. Mass loading of 1.6 million customers into cash is done via iBatis interface mappers for speed, due to the fact that we can configure fetch size.
- Customer module also uses JBPM for workflow process management. Customer module supports maker/checker review process cross all (CCB and ICG)
- App is deployed on WAS community edition APP server on a Linux Box.
Confidential, NJ
Java Developer
Responsibilities:
- The data is provided by SocGen in spread sheets, FinPro proxy parse and send it to the FinPro svr.
- FinPro svr inserts into impact table, and FinPro staging table.
- Impact batch job processes the inserts and writes processing status into impact table.
- PinPro proxy sends the second request status to the FinPro server; FinPro server retrieves the status information from the staging table, and send the information back in the form of email.
- GUI part, similar to the above situation on the server side but the GUI flow includes.
- Adding a Pend button on the TriParty maintenance screen.
- When the Pend button is clicked TriParty trades are send to the FinPro server, FinPro svr inserts into impact table, and FinPro staging table.
- Impact batch job process the inserts and writes processing status into the impact table.
- And sends the status messages back to the GUI and displays it to the status columns.
- This is an integration project with DealerWeb. Broad ridge is to provide a FIX interface to link up with DealWeb’s ECN for trade capture report.
- The integration is done via MQ Serious. The API is given by LOANET. Loannet sends Broadrige messages via MQSerious, then the FinFlow product intercepts the messages and persists them to the impact database.
- Design and implemented XML schema to encapsulate business flows, The XML is divided into
Confidential, Warren, NJ
Java Developer
Responsibilities:
- Rewrite the XML configuration model, as the original one was getting too big hence the maintenance was getting unwieldy. The solution was to take out the components definition from the original view XML and put them in their own XMLs and link them together.
- Worked on Verizon media store web application, developed jukebox page for customer to surf and page over 2000 jukeboxes, Allow them to pick and choose the ones they like and check out and purchase jukeboxes.
- Worked on settings page, allows user to configure one click purchase hence skip the shopping cart and directly go through the purchase process.
- Worked on mobile application Tones 5.0. Wrote the whole of purchase flows for Ringtone, Ring back tone, Jukeboxes, and bundle purchase.
- The purchase steps include: add to cart, check out cart and set default.
- Once a purchase is made the user is redirected to a “You may also like” page where he/she is prompted a further list of ringtone and ring back tone choices.
- As ring back tone manager, this module is part of Tones 5.0 application. It allows the end user to add/modify/delete ring back tones and jukeboxes. As well as assign difference ring back tones to different contacts from their address book.
- Production support & others
- Liaison with business analyst to iron out specifications and carrying out implementation details.
- Providing production support and debug for customer complaints.
Confidential, NY
Java Developer
Responsibilities:
- In two weeks’ time converted a regular order list table into a tree table view. It displays the parent child relationship requested by the team’s business analyst in London.
- Duties primarily include support NY syndicate desk. Offer them trouble shooting when the STP process goes wrong. In this role also requires reading production server log for STP messages and interface with CATS team to get the job done for syndicate desk.
- Maintain (add feature/debugging) existing STP UI. Once a tranche is set to PRICED orders within a tranche can be batch STPed to CATS. STP windows are responsible for display the progress, STP status as well as error messages are displayed to the end users.
- Design and implemented UI which allows tranche regulation to be set to dual REGS/144A, which allows sales person to split allocation amount between REGS/144A regulations. STPs are done in two parts in this project,
- Once a tranche is switched to PRICED a sales person can STP the order exactly once when she/he fills the allocation amount.
- A syndicate can still batch STP all allocated orders.
Confidential, Jersey City, NJ
Java Developer
Responsibilities:
- Working on ECOM (Electronic connectivity order management) project, work includes both front end SWING and back end Core Java.
- Users are allowed to selected preferences settings and applied it directly to their real time settings. In addition preferences are saved to the database, so it will take effect next time the user logs in.
- Allow the user to choose the multiple trading regions and display their real time data on the screen.
- Update existing tabular real time blotter to tree table base format, in order to better displaying parent child order relations.
Confidential, NY
Java Developer
Responsibilities:
- Design and implement Swing based GUI for a trading platform that is aimed at hedge fund industry.
- The user interface allows end users to participate in initiation as well as contra bids and when a predetermined amount of time is elapsed the party that has the highest offering bid will be transitioned to negotiation along with the initiator of the auction.
- From the transition state the initiator and the highest bidding contra can negotiate further until both are satisfied with the price and quantity of the option involved.
- Not all option auctions are shown, the end user has an option to only view the auctions he/she is interested. Auctions are categorized by sector, symbol as well as participation level.
- This screen allows the end user to initiate an option auction according to the option strategies he/she chooses first. It can be multi-legged options with order parameters as well cancellation parameters. TIF fields. Then this auction information is sent the back end for processing and broadcasting.
- Once an auction is initiated by the book server, the auction is broadcasted to all the clients that are interested to hear such options, whence a auction is arrived it will be shown on the show display panel, and a swing timer is attached to it so it blinks and beeps for a number of times to get user attentions. If a user is interested he/she can drag and drop the auction to the right, where it will materialize into a more detailed tabular information, so a bidding process can be put in place for multiple clients to carry out the trade amongst themselves.
- The underlying messaging is carried out by a multicast messaging bus called SPREAD.
- AOL BOT to broad cast all new auction creation to interested users.
- Allowing registered traders to receiving real time trading information from Ballista trading platform via AOL's OSCAR interface. E.g. new auction creation and arrival. Auction negotiation and cancellation etc.
- Back office Billing generation and support.
- Front office trading reports generation.
- Billing software for the firm to generate PDF based monthly statement for clients.
- Multiple strategy master
- OATS.
- Hibernate.
Confidential, Boston, MA
Java Developer
Responsibilities:
- Did a XML-Java conversion piece via the CASTOR framework.
- Installed and done a proof of concept for TimesTen IMDB.
- A SWING Dashboard for real time trading monitoring system.
- The dashboard is consisted of dynamic charts represents both end of day and time of trade data for management viewing.
- Each trading teams activities they including Finished trades, trades in process, trades coming.
- Further clicking on the charts will expand the charts for more detailed information.
- There is also a separate configuration page to allow users to assign trader to a team, as well as which team data is allowed to show, etc.
- Building with ANT.
- Source control with ClearCase.
- Install and run middleware services.