Senior Developer Resume
New York, NY
SUMMARY:
- 20 years of development experience in java with building robust, high speed, multi - threaded and distribute server side applications, front end user enterprise applications, and web applications.
- 4 years of experience programming in python.
- 20+ years of experience programming in C.
- 17 years of experience in the Financial Industry with experience in commodities, foreign exchange, and equity derivatives. Experience in front end, middle office, and back end technology areas.
TECHNICAL SKILLS:
Recent Applications: Credit Risk, Finance, Data Warehouse
Languages: Java, C/C++, Python, Shell scripting, Perl, PHP
IDE: Netbeans, Eclipse, Tibco BusinessWorks
Tools: SQL Workbench, Toad, DbArtisan, Erwin, Rational Rose, XML Spy, Ant, Mule
Version Controls: git, SVN, CVS, RCS, Visual SourceSafe, ClearCase, PVCS
App/Web Servers: Django, WebSphere, Weblogic, Tomcat, Glassfish, JBoss, Apache
OS: Linux, System V, AIX, Solaris, SCO, Cygwin, Windows
Database: Oracle, DB2, Informix, Ingres, Sybase, MSSQL, MySql, Access, Sqlbase, HBaseStatistical: R, numpy, Matlab
Distributed: Apache Spark
Technologies: JDK 0.9 to 1.8. Multi-threading, Redis Cache, Distributed Computing, J2EE, JSF, JSP, JavaScript, Servlets, JDBC, JNDI, JTA, JPA, JMS, MVC architecture, Web services, SOAP, WSDL, UDDI, CORBA, MQSeries, FIX, SWING/AWT, DTD, Schemas, SAX, StAX, DOM, JAXB, XPath, XSD, XSLT, Applets, LDAP, RMI, Database modeling, Documentum, FOP, Castor, Autosys, Tibco Business Works, Tibco EMS, IBM MQ, Apache Active MQ, RabbitMQ, ZeroMQ, Tangosol Coherence Cache, Gemfire Cache, Infinispan, Mina.
PROFESSIONAL EXPERIENCE:
Confidential, New York, NY
Senior Developer
Responsibilities:
- Support, speed up and rewrite credit risk application to calculate Expected Potential Exposure.
- Distributed computing using Apache Spark (Java)
- Write Java code to load data from various databases, files, and vendor systems to Data Warehouse DB (Oracle). Write java code to compare data in Source Systems to Warehouse. Support the code and changes to load process, schema, addition of new information and multiple data sources (including file), Email load and comparison statuses for daily review and action.
- Write daily jobs running risk and sensitivities using Python.
- Write Volcker reporting and signoff servlets (Java)
- Use compact storage technique (using google protobuf) to store large amount of data efficiently in Cache
- Review C# code risk and sensitivities calculations
- Evaluate and select messaging system (queues and events) and write code for RabbitMq, ActiveMq, ApacheMq, ZeroMq.
- Write dynamic web pages using PHP to browse Cache, with JavaScript to decode Protobuf objects.
- Create new servlet to update coupon values (Java, Glassfish)
- Write a highly parameterized, configurable file loader (for excel data file) into database with record compare to minimize updates, pre and post load actions, load impact analysis and email (Java)
- Compare and evaluate leading in-memory caches. Implement, Stress Test and use Redis High Availability cache architecture with Master, Replicants and Sentinels. Use compact storage technique (using google protobuf) to store large amount of data efficiently in Cache. Mainly Java, Minor use of other languages (C,C++,C#,Python).
- Write POC code for propagating changes to Informix database in real time using Java and C++.
Confidential, New York, NY
Consultant Developer
Responsibilities:
- Write software for Security Policy automation group. Software to interact with routers, firewalls and network management software. Query network and rule objects. Automate and speed up deployment of security policies to routers. Write web application to serve client location sensitive WPADs at the rate of 1000 per second, and refresh dynamically when security configuration changes. Work on security policy automation in order to deal with upwards of 50,000 and growing number of network devices. Speed up web site classification software.
- Responsible for writing high speed, maintainable code, with unit-tests and good code-coverage.
- Primary coding in Python language. Django web server where necessary. Large number of python packages like lxml, netaddr, pyrad, etc.
Confidential, Jersey City, NJ
Senior Consultant Developer
Responsibilities:
- Work on a new margin and regulatory reporting and margin/risk calculation flow for a large set of prime brokerage clients. Development in Python language on the company’s strategic platform.
- Responsible for code quality, syntactical and structural, for new python based codebase. Plan and architect for performance enhancements to meet the added data volume and calculation requirements. Look at entitlement and access to data.
- Primary coding in Python language.
Confidential, New York, NY
Senior Consultant Developer
Responsibilities:
- Development of web based application for Bureau of Public Debt (US Department of Treasury) to manage, summarize and reconcile the public debt of United States on a continuous basis. Primary technology used: Java, JSF, Icefaces. Other technologies used in development process: JQuery, Spring, Hibernate, MySQL, DB2, WebSphere, Tomcat, Liquibase, Jenkins, Balsamiq, Crucible, Mingle and Agile.
Confidential, New York, NY
Senior Developer
Responsibilities:
- Develop/Provide robust infrastructure to support the Margin and Risk Technology - including high speed cache, messaging infrastructure, software service components, automated build, and automated deployment and testing, dynamically loaded interfaces, distributed Greeks Calculation ServicesTechnology used: Java, Eclipse, Netbeans, SqlServer, Swing, WebSphere, Tomcat, JSP, SVN, ActiveMQ, Coherence, Python, Django, Google Protobuf, Maven. Linux, Windows, MQ, EMS, XML, SOAP.
- Play dual role: One as architect for the middle office team in Equity Linked Technology, and second as technical team lead of several teams working on various subsystems. Review architecture and code. Examine and promote solution to logging bottleneck approaching 4 million records on peak days.
- Review, assess and recommend changes to the technical architecture of the Cash Flow Matching initiative. Define, initiate, and enforce procedure for using source code control and for tracking defects.
- Design and implement automated build and deploy environment for Tibco BW processes.
- Work on the automated testing using Gherkin scripts. Define testing semantics and API.
- Mentor and guide other team members.
- Recommend Python as scripting language. Implement several demo programs to illustrate viability and use patterns.
Technology used: Tibco BusinessWorks, iProcess, Java, Eclipse, Netbeans, C#, Oracle, Swing, JSF, JSP, SVN, Linux, Windows, MQ, EMS, XML, SOAP, SOA, ESB, Python, Gherkin, Jruby, Cucumber
Confidential, New York, NY
Architect/Senior Developer
Responsibilities:
- Part of Rates Data Services. Provide high speed in-memory distributed cache access including trades, positions, and market data. Integration with company-wide distributed caching service.
Technology used: Java, Netbeans, Swing, JSF, SVN, Linux, EMS, XML, SOAP, SOA, JBOSS Cache, Gemfire Cache, JMX.
Confidential, New York, NY
Architect/Team Lead/Senior Developer
Responsibilities:
- Design and lead the redesign effort for all the feeds and reports for the ELT group. Focus on high throughput and linear scalability for in corporation into Straight Through Processing architecture.
- Work on design and architecture of new confirms and payment flows for Equity Linked Products group. Lead a team to design a prototype of Data-warehouse.
- Participate in analysis, design, and development of a new middle office system to support affirmation and confirmation system for Equity Derivatives. Design audit trail and workflow to reduce operational overhead incurred by documentation teams and permit STP. Design includes real-time, low latency processing of changes to trade, layering and versioning, automated workflow, exception processing, query screens, and archiving of trades. Write utility programs and web pages for use by Production Support.
- Mentor and guide other developers in group.
- Involve business users in the design process to improve software quality and delivery times.
Technology used: Tibco BusinessWorks, iProcess, Java, Eclipse, Netbeans, C#, Oracle, Swing, JSF, JSP, SVN, Unix, Linux, NT, Autosys, MQ, EMS, XML, SOAP, SOA, ESB.
Confidential
Architect/Senior Developer
Responsibilities:
- Enhance the trade capture system for Global Foreign Exchange (GFX). Add a new Trade Capture system for Confidential 's Prime Brokerage FX Vanilla and Exotic Options business. This includes feeds to settlement, position keeping, payments, risk, credit and collateral systems. Includes over 30 reports and 10+ downstream feeds (via MQ, ftp, rsh, triggers, etc).
- Write new system for Prime Brokerage business for Global Foreign Exchange (GFX).
- Create new applications for closing by book for GFX Trading.
- Re-architect downstream feeds and reports infrastructure for higher speed and reduced memory footprint.
- Mentor and guide other developers in group.
Technology used: Java, JBuilder, Eclipse, C++, C#, Oracle, Swing, JSP, CVS, Unix, Linux, NT, Autosys, MQ, XML, SOAP, SOA.
Confidential, New York, NY
Competition Winner
Responsibilities:
- Selected as one of the three winners in the Ingres Million Dollar Challenge. Designed and wrote the winning entry to convert database structure, data, and programs for DB2, Oracle, Sybase, MSSQL, Informix, MySQL, and Ingres
Confidential, New York, NY
Senior Developer
- Commodities, Fixed Income Division
- Work on settlement software for US Electricity trading.
- Enhance to permit settlement for European Power trading.
- Add features for Precious Metals settlement and depot instructions.
Technology used: Java, C#, Sybase, Perl, Autosys, Documentum, FOP (for PDF), SOAP, LDAP.
Confidential, New York, NY
Team Lead/Senior Developer
Responsibilities:
- Write programs for enriching trade data and posting them to the database for use in Risk Analysis and Management (RAM) for Global Equity Linked Products. Enhance the current system for higher throughput and flexibility in configuration. Java, JBuilder, JSP, MQSeries, Oracle.
- Wrote several intranet JSP applications for access to data, system simulation and testing.
- Work with trade feeds from ORC, Touchpad and Lava.
- Write multiprocessing and multithreaded Java application to do scenario analysis (C++).
- Write distributed option pricing calculations using real time data feed. Technology used: K, KDB, and Java.
Confidential, New York, NY
Senior Java Developer
Responsibilities:
- Create one input adapter for Confidential in order to accept information from other applications, and an output adapter to export data into other applications. These adapters will fit into the overall architecture of IBI and allow data and triggers to be exchanged between disparate systems (i.e. PeopleSoft, I2, Vantive, SAP, Oracle, etc). Work with a beta client, Confidential Inc., to implement and test the adapter in their environment.
Confidential, New York, NY
Team Lead/Senior Java Developer
Responsibilities:
- Work on Firm and Internal Accounts Renovation project. Work with the Client and Server side java teams to gain an understanding of the current architecture. Participate in development and one release cycle for the client and one release cycle for the server. Subsequent goal is to take this knowledge and facilitate the renovation project. Java, J2EE, MQSeries, XML, SOAP, JBuilder, Applet, Servlet, Application, CMVC Source Code Control, Websphere, Sybase.
- Positions and Balances renovation project goal is to convert the legacy batch system into new real-time Java and distributed environment (with the ultimate goal of Straight Through Processing). My role included writing Java code for the new system and then mentoring several junior Java developers. Participate in requirements definition process with Business Users, and system design with technical staff. Do proof-of-concept testing on different platforms and fine tune code for extremely high throughput requirements. Java, J2EE, MQSeries, XML, SOAP, JBuilder, Visual Age for Java, DB2.
Confidential, Manhattan, NY
Architect/Senior Developer
Responsibilities:
- Work in the ETech Department to design and deploy a web based shopping cart for ETech services. Design Service Request Tracking, Project Management and Status Tracking, and integrate with existing systems. Application consists primarily of JSP, J2EE, JDBC, supporting Java Beans and Classes, and Servlets, JDBC data access. Source code control using CVS.
Confidential, Purchase/NY
Architect/Team Lead
Responsibilities:
- Java Architect, working on formulating a framework for deploying new applications for the newly formed Internet Team. Provide technical expertise and mentoring to the staff.
Confidential, St. Paul/MN
Team Lead/Developer
Responsibilities:
- Work in the newly formed Internet Products Division to make ERP applications accessible over the internet and port code using open technologies. Create the infrastructure and applications to make this possible using Java, Beans, EJB, JSP, Servlets, RMI services, legacy Java Objects and converters and supporting CGI programs. Involved in various projects. Examples:
- Work on Java applet to display all Lawson screens.
- Create RMI Service to serve “drill-down” requests.
- Create a CGI version of the same service.
- Create an applet to display the Lawson’s product line data model.
- Write applet to display, edit Lawson data.
- Write C program to create serialized Java Objects for Lawson dictionary.
- Write program to create serialized version of Lawson Screens as beans and business objects as EJBs.
- Write a Java terminal emulator to handle PT-80 emulation. Also write screen scraping extensions to give a GUI interface to the character-based applications.
- Write a servlet to create dynamic HTML screens to display Lawson screens.
- Create an infrastructure for deploying Java applets/applications as JSP/dynamic HTML with minimal recoding.
- Write CGI programs to support a new B2B site.
Confidential, Burnsville/MN
Team Lead/Developer
Responsibilities:
- Enhance manufacturing automation software to meet the complex and detailed requirements for big businesses (like Lucas Aerospace).
- Work on porting software and inter - process control pieces from Unix to Windows 95 and Windows NT environment.
Confidential, St. Paul/MN
Team Lead/Developer
Responsibilities:
- Enhance the client end of the software on Windows 3.1, Windows 95, and NT environment.
- Add scripting language to the client piece.
- (This contract was concurrent with the full - time contract with Confidential Corp. above)
Confidential, St. Paul/MN
Manager, Presentation Technology
Responsibilities:
- Lead a team to enhance Client - Server, Executive Information Systems, CASE, and other Graphical Desktop products as a leader and hands-on manager (C/C++ development)
- Participate in Product Engineering meetings to discuss features to include in upcoming products, and create a strategic plan for future products and features.
Confidential, St. Paul/MN
Software Research Engineer
Responsibilities:
- Design and spearhead the effort to port the existing user interface for Lawson's CASE software and Business Applications to a client/server architecture that can operate in a multi-vendor multi-operating system environment and take full advantage of popular user interface standards including Windows 3.1, NT and Motif (X-Windows). Code in C, C++ for Windows 3.1 and Windows NT. Borland C++ 3.1, Protogen, TCP/IP Protocol stacks from various PC LAN vendors.
Confidential, Burnsville/MN
Senior Developer
Responsibilities:
- Port current Factory Floor Automation application from current DOS (using C, Gupta SQL Server), OS/2 (C, OS2 DB) and VAX (C and Ingres) environments to UNIX (on SCO, Sun, Intergraph, and HP using C, Inter process Communications and Ingres Database). This projects involved complete design, analysis, and reprogramming. It used databases, screen interfaces, inter-process communication (including two-way named pipes, semaphores and messaging). Assist in hiring talent for the continued work on the project. Mentor and direct in the initial stages.
Confidential, Minneapolis/MN
Senior Developer, Telecommunications
Responsibilities:
- X.500 (Open Systems Interconnect) Pilot. Installed a distributed directory based on the X.500 standards. The distributed directory ran on two machines (running UNIX System V 3.2 in 4 separate processes - one for each directory management domain. Gave a presentation to Corporate Information Systems in Confidential . This presentation included a brief description of X.500 standards, description of my work, and potential uses of the X.500.
- Installation of a company wide electronic mail network, using UNIX System V, connecting various user agents and message transfer agents (including SMTP, UUCP, DDCP, and X400). Billing and chargeback for the same based on relational database (Informix) and the C language.
- Wrote and installed Telex and Fax Access Units for the electronic mail system. This allows users of electronic mail to send faxes and telexes directly from their desktop. Also wrote programs that permit users on Telex machines to send messages from anywhere in the world to users on the electronic mail system. The message is then routed through the mail system to the desktop of the recipient mail user.
- Wrote software to route electronic mail to remote printers. The software routes electronic messages over X.25 packet switched network, then dials out to the printer and deposits the messages after adding appropriate cover pages and printer initializations, etc. The remote printers are distributed mainly in UK and USA, although the software can handle any location. In addition, and administrative software provides reporting, re-routing, trouble notification, etc. Software was written in C, Informix relational database, Informix-4GL and UNIX scripts.
- Various programs to utilize the X.25 packet switched network. Applications written in C language under UNIX System V operating system.
- Electronic Data Interchange (EDI) pilot project. Using a mixture of purchased software and internally developed programs on both mainframe and Personal Computers.
Developer
Confidential, Minneapolis/MN
Responsibilities:
- Purchase Order and Invoice Tracking. Relational database (Oracle) on Personal Computer and the C language. This system helps keep track of purchase requisition, purchase orders, vendor invoices, and payments made to vendors. All these four activities in different are performed in different departments. The system pulls information together to present a coherent picture.
- Write Telecommunication Billing System for calls places on private Confidential Voice Network. Price phone call records and bill appropriate department. Generate monthly Bills, and update the corporate accounting ledgers.
- Write screen - based, menu-driven systems for comprehensive engineering information and skills inventory. Use relational database and PL1 language. Make program accessible from different types of terminals (ranging from intelligent and screen terminals to dumb teletypes) over different communications paths from all over the world. The major engineering databases had information on various software/hardware uses, configurations, contact person/dept. etc. Also build a librarian interface. The librarian interface allowed monitoring, audit, updates, reports, etc.
Intern, Finance & HR
Confidential, Minneapolis/MN
Responsibilities:
- Write a Job and Employee Management System on relational databases.
- Complete Statistical Analysis of Confidential management structure.
- Complete Data Modeling for IS Personnel Dept.
- Write a Phone Book and Organization Chart Maintaining System.
