Haojun yin
PROFESSIONAL SUMMARY
. Over *+ years of professional experience working on various mission
critical applications for fortune 500 companies in the financial, market
data, pharmaceutical and supply chain domain using Java, J2EE and related
technologies.
. Experience working in the Risk management, Wealth management including
equities and bonds, Mortgage and IT Risk domains in the financial sector
building mission critical applications.
. Experience in design, development and performance tuning of client
server, web, Internet and Intranet based business applications.
. Experience in building server-side components for large-scale Web and
standalone applications.
. Experience in building applications using Service Oriented Architecture
(SOA) using JMS.
. Experience in developing user interfaces.
. Experience using distributed caching mechanism such as Java Caching
System (JCS) to provide low latency, high throughput for the applications
there by providing faster response times and improving the efficiency of
the applications.
. Experience in providing production support for customer related issues
and application maintenance.
. Experience using various application servers - BEA Weblogic, IBM Web
Sphere Application Server and Apache Tomcat.
. Experience using various Java, J2EE and open source frameworks -
Servlets, JSP, JDBC, JMS, Java Mail, Apache CXF, REST, and XML.
. Experience using MVC Frameworks - Struts Framework, Spring Framework.
. Experience using persistence framework- Hibernate, Ibatis.
. Experience using various RDBMS platforms - Oracle, DB2 and Sybase.
. Experience building SQL queries and stored procedures as per the
requirement.
. Experience using JavaScript, AJAX, CSS, JQuery, SmartClient.
. Experience using GWT.
. Experience in writing Shell scripts using bash.
. Experience with documenting the work done for future reference.
TECHNICAL SKILLS:
Languages: Java.
Databases: Oracle, SQL Server, DB2.
Operating Systems: Windows XP/7, Linux, MS-DOS, Unix.
Software/Tools: Microsoft Visio, Edit plus, CVS, Ant, Log4J, SVN, Eclipse,
Netbeans, WSAD.
Java Technologies: Servlets, JSP, EJB, JNDI, JMS, JDBC, Java Mail,
JavaBeans, Applets, RMI, Multi-Threading, Concurrent
packages, Executor Framework, Concurrent Collections,
JNDI/LDAP, Web Services, Swing, Apache CXF, JAXB,
Struts, Spring, Hibernate, Ibatis.
Middleware: SonicMQ
Web Development: HTML, DHTML, AJAX, JavaScript.
XML Technologies: XSL, XPath, XML Schema, SAX, DOM.
Application/Web Servers: BEA Weblogic 10.1, Websphere Application
Server 5, Apache Tomcat Web Server, Apache http
server.
EDUCATION:
Rutgers University, New Brunswick, NJ
M.S. in Computer Engineering, GPA 3.3
Harbin Engineering University, Harbin, P.R. China
B.S. in Electronic Information Engineering, GPA 3.2
PROFESSIONAL EXPERIENCE:
MarketAxess, New York, NY
03/2013 - Present
Title: BondTicker (Market Data)
Role: Java/J2EE developer
MarketAxess offers the industry-standard Corporate BondTicker, which
provides market participants with real-time Finra TRACE data enhanced with
MarketAxess fixed income trade data and analytical tools. Market Data feeds
for US Corporate bonds, European corporate bonds, High Grade, High Yield,
Emerging Markets, Credit Default Swaps (CDS) are also provided. Corporate
BondTicker is offered as a web-based service and is also integrated
directly into the bond trading system. Clients using the trading system for
fixed income trading can use the application to get the market data of the
fixed income securities they would like to trade. Xtrakter feeds were used
to provide information about European securities and MorningStar feeds were
used to provide information about securities held by companies within
various funds.
Responsibilities:
. Used code Java to create the process which would parse the incoming
market data feeds in xml and csv formats and persist them to Oracle
RDBMS.
. Used JMS to implement service oriented Architecture (SOA) to perform
various operations like import data from trading system, retrieve FX
rates and many more.
. Integrated Spring framework in the application to implement IOC and
Dependency injection.
. Used Smart Client JavaScript library and Java api to develop the UX to
present the data feeds.
. Used Java and pl/sql stored procedures to determine end of day trades
and calculate opening and close levels for CDS and SEF and setup batch
jobs to send emails to report the trades and comply with CFTC
regulations.
. Used Perforce for source code management.
. Used JQuery, Ajax, CSS, and JSP as UI components to display the
enriched market data in user friendly format.
Environment: Java, J2EE, JMS, Sonic MQ, Smart Client, JQuery, JavaScript,
PL/SQL, Oracle, Perforce, JSP, CSS, AJAX.
J.P Morgan Chase, New York, NY
10/2011 - 02/2013
The following projects were designed, developed and driven to practice
through the combined efforts of the IT Risk and Security team of the
Investment Banking division at JPMC.
Title: Enterprise Entitlements Service (EES)
Role: Java developer
EES is a firm wide Identity Access Management/entitlements solution to
determine the entitlements of a user. Hundreds of applications make use of
EES to generate xml based policies and validate requests which determine
what a user is entitled to. The application provides various interfaces
through which clients can send a request and determine what resources they
are entitled to. Groups such as Investment banking, commercial banking, and
trading desks are few of the internal clients using the application. The
application is capable of handling few thousand transactions per second and
provides low latency, high performance by making use Core Java, distributed
caching, J2EE technologies.
Responsibilities:
. Implemented the core request/policy validation engine using XACML
standard and Core Java, XML making use of Collections, Exception
handling, Threads, Concurrent packages, garbage collection,
serialization to process the high volume of transactions which could
run into few thousands per second.
. Used Java Caching Service (JCS) which provides low latency by caching
the data and decreasing the number of calls made to the database and
thus provides swift response and improves the performance of the
application.
. Built a role based application and implemented MVC architecture using
Spring framework and used JSP's, Ajax, JavaScript, and CSS as some of
the tools to enhance user experience.
. Built RESTful web services using Jersey api and annotations to
provision roles and attributes for users.
. Used J2EE filters, cookies to intercept the incoming requests and
provides web services authentications.
. Built a GWT based user interface to invoke the web services.
. Involved in converting Sybase stored procedures to Java as part of a
migration process from a legacy system.
. Used JConsole to performance tune the application and improve the
performance of the application.
. Migrated the existing engine from XACML 2 to XACML 3 using Java.
. Used Hibernate as persistence framework to persist data to Oracle
RDBMS.
. Used Maven to build and deploy the application.
Environment: Java 1.6, J2EE, Spring, Servlets, HTML, JSP, GWT, JDBC,
Hibernate, SVN, Linux, Windows 7, Oracle, SQL, Ajax, JavaScript, Web logic,
Tomcat, Eclipse IDE, Sybase, Oracle, JAXB, XSD, Junit, JCS, Subversion,
Jersey, Maven.
Title: EES History and Audit Logging (EHAL)
Role: Java/J2EE developer
EES History and Audit Logging application provides a history of all the
transactions that are performed inside EES. This information is used by the
audit team to check for compliance and see if the entitlement requests made
were legible or not. This information is also used to implement the pay-per-
request model to bill the clients using the EES service based on the number
of evaluations they request thus generating revenue. The application
provides a user interface where a wealth of information can be requested
about the various clients using EES, the transactions they have requested;
generate reports to bill the clients; estimate the future volume of
transactions to identify if new hardware is required and much more.
. Implemented core functionality of building a server which would parse
the log files and persist the data to the backend using Core Java,
JDBC, concurrent Collections, Threads and other features provided by
java API.
. Implemented the producer/consumer design pattern by making use of
concurrent Collections.
. Used Oracle as the RDBMS and wrote SQL queries to persist data to the
backend.
. Built a user interface using JSP's, Java script and other GUI
technologies which provide the ability to query the backend and
generate reports for billing purposes. The interface is also useful to
query historical transaction information.
. Used svn as code repository and ANT as the build tool.
. Used JUnit for unit testing the code.
. Deployed application on Web logic server in Linux environment and
involved in trouble shooting in case if any issues.
Environment: Java 1.6, J2EE, Servlets, HTML, JSP, JDBC,SVN, Linux, Windows
7, Oracle, SQL, Ajax, JavaScript, Web logic, Tomcat, Eclipse IDE, Oracle,
Junit, Subversion.
Bristol-Myers Squibb (BMS), Lawrenceville, NJ
08/2010 - 09/2011
The following projects were designed, created and driven into practice
through the combined efforts of the Research and Informatics team and
direct hands-on participation at BMS.
Title: Arctic
Role: Java/J2EE/SQL Developer
Arctic is a high profile Lab Information Management System (LIMS)used to
record and maintain several types of biological reagents used within BMS.
The system currently supports Cell Lines, Proteins, Expressions Constructs,
Antibodies and general reagents. The system provides a user friendly web
interface and is built using various Java and J2EE technologies.
1) Migration of huge amount of data from a legacy system to Arctic making
use of PL/SQL, functions, procedures and queries.
2) Involved in coding a standalone server which processes XML data over
HTTP requests. These requests are sent using REST services.
Responsibilities:
. Collaborated with research scientists (end users) and team leader to
gather requirements to build new modules in the existing system.
. Built a role based application and implemented MVC architecture using
Spring and Struts frameworks with Velocity as the view component.
. Used Hibernate as the persistence frame work to persist to the Oracle
RDBMS.
. Built a standalone server which serves XML over HTTP requests using
Apache CXF API and core Java. This server upon request connects with
other systems at BMS to retrieve data related to Arctic.
. Efficiently used core Java features such as Collections, Exception
handling, Comparators to process transactions.
. Used REST services to build a client to upload XML data to the server
and also query against the data stored within Arctic.
. Migrated data from a legacy system to Arctic using source code written
in PL/SQL making user of functions, procedures and SQL queries to load
large amounts of data into the database.
. Used quartz API to run batch jobs and publish data stored in Arctic to
other systems within BMS which would be used by the research
scientists.
. Used Ajax, JavaScript, and CSS as some of the tools to enhance user
experience.
. Used Subversion as the repository for the source code.
. Application is deployed in the Tomcat server and hosted on Redhat
Linux operating system.
Environment: Java 1.6, J2EE, Spring, Struts, Ibatis, SVN, Linux, Windows
XP, Oracle 10g, SQL, Ajax, JavaScript, Tomcat, Apache CXF Web services,
Eclipse IDE,Net beans IDE.
United Parcel Service (UPS), Paramus, NJ
09/2007 - 07/2010
Title: Migrating Host Interactive Legacy server code to Java
Role: Java/J2EE Developer
Host Interactive is widely used client-server software by high profile UPS
customers built initially in C. The server code lacked scalability and
maintainability. As a Java developer, drove departmental strategic planning
and the successful migration to a Java/J2EE enterprise computing strategy
and IT services framework. The legacy code hosted on AS400 and written in C
was migrated to the Linux platform and re-written in Java.
Responsibilities:
. Collaborated with User Reps and clients in gathering the business
requirements.
. Used best practices such as OOD to develop efficient, scalable and
maintainable server-side Java code and meet the SLA requirements.
. Efficiently used core Java features such as Multi-Threading,
Collections, and Exception handling to process high volume
transactions.
Environment: Java 1.5, J2EE, Hibernate 3.0, CVS, ANT, RPM, Linux, AS400,
UNIX, Windows XP, Linux Shell scripts, Weblogic 10, Oracle 10g, SQL,
Mainframe, TSOD, File aid, IBM AS400 client.
Title: SCOR (Strategic Customer Optimized Response)
Role: Java/J2EE developer
SCOR is a non-contractual service offering that will provide constant
management of SCOR packages with an origin/destination in any valid UPS
shipping country. The basic concept of SCOR is to monitor specific small
package shipments of Strategic Accounts, which are large multi-national
accounts to which UPS must provide excellent service in order to increase
volume, revenue, and prevent competitors from targeting this high level
customer segment that UPS serves.
Responsibilities:
. Implemented MVC architecture using Spring framework and used Java, JSP
to build the application.
Environment : Java 1.5,J2EE, Spring 2.5, JSP, JavaScript, SQL, HTML,
Tomcat Web server 5.X, Web logic 10.1, Oracle 10g, Eclipse 3.2.