- A Full - Stack Java senior programmer/architect with extensive experiences in distributed computing technologies, Micro Services, and applications in financial industry.
- 10+ years of hands-on experiences in major fields in the financial arena, from equities to fixed income trading.
- In-depth knowledge of Object-Oriented programming, including 10+ years of C/C++ development, 18 years in Core Java development and 10+ years in Perl script programming.
- Utilized a number of production SQL database to implement multi-tiered client/server solutions including SQL server, Sybase, Oracle and IBM DB2.
- Extensive experiences in the provision of middleware solutions.
- Extensive experiences for financial industry project using Java on Fixed income, bonds/stocks, securities and futures.
- Expertise in software components for using JAVA8 /J2EE.
- Used Java 8 for functional interfaces.
- For Asynchronous processing developed internal Apache Kafka infrastructure.
- Having good knowledge of Spark SQL and Spark using Scala.
Languages: Core Java 7.0/ 8.0 (JDK1.7.0/ JDK1.8.0), Python, C/C++, C#, Visual BASIC, Perl, PHPIBM AS400/ RPG II
Web Services: Microservices, REST, XML-RPC, GLUE for SOAP-Based Web Services, Apache Axis for
SOAP: Based Web Services, Amazon Web Services - AWS JAX-RPC, JAX-WS Web Service, SAP ISA, IPC, RMI Distributed Object and Azure cloud services
Java EE Essentials: Core Java, Java EE/ EJB, JSF, Java Servlet, JDBC, JSTL, MQ Series, MDB/ JMSSpring (4.0) MVC, Object dependency injection, TIBCO EMS/ Mule ES Struts FrameworkHibernate (JDO), POJOs Data object mapping and multi-Threading design. User Interface
Design: DHTML, HTML5/ CSS3, Query, JSP, JSON, Ext-JS DOM and SWING/, Groovy, Grails, and testing; frameworks like Spock, AngularJS 2.0
Application Servers: IBM WebSphere, BEA WebLogic, Eclipse, Tomcat, JBoss, JBoss Seam and Oracle Application Server. Glassfish, Project builder ANT, JUnit, Maven, and XDocletScript Programming: Awk, Shell programming (c shell, korn shell and Bourne shell) and Perl
Operating Systems: Windows, Unix/ Sun Solaris, Linux, NT, IBM Aix, SCO Unix, HPUX, IBM mainframe, IBM 370/ 390
Database Systems: Oracle, NoSQL/ MongoDB, PL/ SQL, Sybase, ORACLE, MS SQL Server, MySQL, DB2Apache Cassandra
Structures: Java Collections, HashMap/ Hashtable, Linked List, Array List, Queue, Sort, GraphicBinary Search and B-Tree
Administration: Apache, Tomcat, Unix/ Linux installation, configuration; IIS installation and configuration
Front Tools: AngularJS, HTML5/ CSS3, SWING, JSF, JQuery, Augular.js, and EXT JS, Nodes.js
SENIOR CORE JAVA DEVELOPER/ TEAM LEAD
- Team work on SARS project of Confidential .
- Utilized Spring MVC Framework design pattern, Hibernate for POJO object mapping and persisting to database.
- Experience in developing the components using advanced Java 8 concepts.
- Utilized Spring 4 synchronous MVC processing framework.
- Also utilized loading WebApplication Contexts in the Test Context framework.
- Utilized concurrency refinements across the framework.
- Utilized JSP/AngularJS and JQuery for view display, crystal report was used for special form output.
- Utilized Multi-Threads to deal with each transaction respectively.
- Hands on experience with Spark batch process and did POC on Kafka Spark streaming process.
- Utilized JAX-WS as web services invoking services in the EJB container.
- Used Struts as MVC Framework for the applications also get involved in AXN Core application implementation using Spring 3.2.3 and Hibernate 4.1 with MySQL database and Cassandra .
- All requests must be sent to the destination topic using JMS message for the registered threads.
- All utilizing Scrum lightweight process framework for agile development.
- Performed importing data from various sources to the Cassandra cluster using Java APIs and Sqoop.
- The database used is MS SQL Server.
- Upgrade SARS project by using Microservices architecture with Spring Boot framework.
- For better integration, configuration and deployment (CI/ CD), AWS Code Pipeline was used in this application development workflow.
- Pivotal Could Foundry used to build, deploy, run and scale for all apps and services from bank to make them available all the time.
- Also utilized open source Kafka to replace JMS to provide unified, low latency platform for handling real time data feeds.
SENIOR JAVA DEVELOPER/ ARCHITECT
- Developed an advanced web application for HSBC bank credit risk system.
- MongoDB as a back-end document database.
- Designed page flow annotations used in web applications and define the behavior of the page flow controller class (Servlets and JSPs) and its methods.
- Provides the tags designed for use with page flow web projects.
- Used Struts components in Page Flow and Portal applications.
- Created portlets directly from Struts applications, so that it allows the existing Struts components to interact with Page Flow components and the interoperability between page flows and Struts can allow the struts controller page flow to instantiate a form bean, the bean, then passes this shared form to a Struts module.
- The Struts module alters the contents of the form and passes it back to the page flow.
- Used RESTful as the web service to create an Investigation Application.
- This application is designed to assemble a credit-worthiness report on loan applicants.
- In this application, BEA WebLogic was used as the application server.
- Using AJAX and JSTL to modify user interface (UI) as a new interface to access database.
- Team Implementation for Core Java/ Java EE 5 legacy codes enhancement (Citi bank Taiwan).
- The database used is Oracle
Confidential, NEW YORK CITY, NY
SENIOR PROGRAMMER/ ANALYST
- Implementing Java Enterprise Architecture using J2EE/EJB on Unix/Sun Solaris with Sybase.
- Analyzed business requirements and design a master bus using Perl socket for central server that handles all sub-servers and design a trading system gateway to process external muni-bond's bids-wanted orders.
- Utilized summit system to provide real-time trading, advanced risk management, straight-through processing environment and high-volume operations supporting to the company's trading systems, using its integrated front-to-back office software to support company fixed income, treasury and equity derivatives portfolio.
- Using IBM WebSphere MQ to easily exchange asynchronous message access among different platforms.
- Integrating existing business applications to assure reliable delivery of message and distribution workload across all available resources and help make programs portable.
- Created data structure for configuration files that handles all servers when trading information needs to be changed.
- Setup rooms to control trading instruments and tie files as disk files prior to feeding and populating database tables.
- Designed bond bit-wanted interface for customers so that customers may place their bid information there.
- Parsed trading data in DB files (a tied file) and feed those data to Sybase tables for use for the back office.
- Designed internet user interface using DHTML for sellers so that they can place bid prices for the following trading day.
- Maintained a new system, written in C, to get trading information and update it periodically.
- Wrote extra C functions to populate an existing C library used as shared library in the system. Designed a new bond trading system (team work) using Java that will be running on J2EE platform.
- The JSP pages and servlets were contained in J2EE server as a web container that executes JSP pages and servlet web components for this application.
- This J2EE application developed using WebSphere application server and using Oracle as back-end database.
- This project will replace an old muni-bond trading system written in Perl running on Sun Solaris.
- Designed JSP pages and EJB, which is an entity bean persisting data objects and design servlet to extend the capabilities of EJB container that is hosting this application.
- Designed a new countdown timer in place of the old static timer using Java applet and multiple-threaded technique so that the buyers can view the time left consumed each second and then place their best bid prices.
- The Java applet was embedded in HTML file being accessed by the browsers from client sides.
- The database used is Sybase.
Confidential, NEW YORK CITY, NY
SENIOR PROGRAMMER/ ANALYST
- Implementing Perl, C/ C++/ Java on Linux with MySQL database.
- Reinstalled and reconfigure apache web server to integrate mod perl so that company products can run using mod perl.
- Installed LWP, MIME-Base, HTML parser and Libnet in support of mod perl and apache integration.
- Created database tables and parse text files then insert data to MySQL database table.
- Wrote Perl modules to populate default Perl modules and function more jobs as customers need to create their web auction stores within storework.com system.
- Developed XML and FTP applications as communication layers for accessing client data.
- Developed XML schemas to create universal communication protocol between SAMW and its clients.
- Analyzed trading system and design request price logics for customers.
- Wrote a process to convert fraction format price into decimal format price and integrate this format as an OCX file module working with Position Module so that customers can view stock prices (decimal format of the Symbols they invested.
- Designed functions and propriety procedures as a class module to avoid data traffic as bid or ask price coming up continuously.
- The database is MySQL.