Senior Software Engineer Resume
SUMMARY:
- Senior software engineer with 15 years experience developing enterprise Java applications. Experienced with all development phases - requirements, design, implementation, testing, and deployment, continuous build environments, Scrum and other Agile methodologies, as well as traditional SDLC. Creator of two successful commercial products.
TECHNICAL SKILLS:
Languages: Core Java, Javascript, Python, (C++, C, ...)
Java/JEEServlets, JSP, Spring Core/MVC/WS/JDBC, JMS, Hibernate, JUnit
Front End: Javascript, jQuery, React, Ajax, CSS, HTML5, JSP, JSTL, ...
Database: Oracle, SQL, PL/SQL, Toad, ...
Web Services: REST, SOAP, XML, JSON, SoapUI, Fiddler, JMeter, ...
Source Control/Builds: SVN, Maven, Jenkins, Ant, CruiseControl, CVS, PVCS, ...
Servers: JBoss, Tomcat, Apache, ...
IDE: Eclipse, MyEclipse, many others
OS: Linux, Unix, Windows
Mangement Tools: JIRA, JIRA Agile, MS Project
PROFESSIONAL EXPERIENCE:
Confidential
Senior Software Engineer
Responsibilities:
- The most complex application developed by the Host Systems group, used throughout the chain for handling large orders for corporate and institutional customers.
- The system manages order creation, pricing, payments, routing orders to various order fulfillment systems, and order tracking. Joined the development team in the intense final months of the project. Worked closely with the lead Business Analyst to help bring the project to completion, allowing me to develop a deep understanding of the system. Recently completed a major enhancement to the order routing software that adds the option to route ship-to-customer orders through the new BN.com fulfillment system.
- Redesigned and extended a critical high-volume web service that provides Confidential & Confidential stores with pricing, availability, and delivery information for millions of inventory items. Provides both REST and SOAP client interfaces, returning data merged from a variety of web services and databases. The new design defines a generic data source interface that runs multiple data sources concurrently using a fork-join pool under the Java Executor service. All data sources implement a standard interface and return the same object type. allowing a straightforward merge phase and easy addition or replacement of data sources.
Environment: CoreJava, JEE, SOAP and Restful Services, Maven, Jenkins, SVN, Oracle, JBoss, Tomcat, Apache
Confidential
Consultant
Responsibilities:
- Technical consultant on the development of an application to support the due diligence process required of Customs Brokers under the government mandated Broker Known Importer Program. Provided solutions to technical issues confronting the off-shore development team, reviewed code, and worked closely with the product owner to monitor the technical development.
Environment: C#, .NET, MS SQL Server
Confidential
Senior Java Developer (Contractor)
Responsibilities:
- Developed the State Analytics application for the Corporate Tax Technology group against a critical end-of-year deadline. Created high and low level specifications from business requirements, coded full stack application - front end to back end, created comprehensive QA test cases. Released on time, no issues.
Environment: JEE. JSP, Spring MVC, Hibernate, Oracle, Websphere, JSTL, Javacript, Ajax, HTML, CSS
Confidential
Senior Java Developer
Responsibilities:
- Developed software for large scale online systems used by schools throughout the US. Strong experience with Scrum and agile management tools such as JIRA and Greenhopper.
- Senior Developer on Scrum team developing web services and application code in 3 week sprints for the company's online learning system.
- Developed enhancements to SOAP web services using Axis2 to support the transfer of student enrollment applications from the company's CRM system to the online learning system.
- Developed a system to track the processing of user request threads through the application server layers for diagnosing production performance issues. Came up with solutions to various design challenges such as developing modifications to the Ajax request processing engine to allow tracking information to be passed transparently (without changes to existing method signatures), and design of a multi-threaded high performance in-memory data structure.
- Developed a monitoring and reporting interface for automated nightly ETL imports of enrollment data from client schools. Developed the reporting UI, changes to the back-end Java ETL code, Hibernate queriesSupported the CruiseControl automated build and deployment processes, resolved post-deployment issues with the builds, the deployment process, and the deployed Java applications.
Environment: Java, Tomcat, Oracle, Hibernate, Ajax, Axis2, Ant, jQuery, Quartz, Apache Commons, many other open source components, JIRA, Greenhopper (Scrum Management), Red Hat Linux
Confidential
Consultant
Responsibilities:
- Designed and developed a Flash application to support an experimental psychology research project at Confidential . The software presented users with a series of increasingly difficult jigsaw puzzles. As the user manipulated the puzzle pieces, the system logged detailed statistics of the user's actions. Programmed in ActionScript 3.0 and the ActionScript API, deployed as an Adobe AIR application.
- Developed software to create and manipulate puzzle elements using various 2D and 3D transformations and animations, process mouse events bubbled through the layers of graphics objects, manage two concurrent puzzle instances as the user alternated between them, and collect statistics on timing and user actions.
- Developed a method to increase the accuracy of timing information over that obtained by conventional methods that are subject to variations due to background processes.
Environment: ActionScript 3.0, Adobe AIR.
Confidential
Senior Java Developer
Responsibilities:
- Client Management System (CRM system)- a complex custom CRM application used by the company's worldwide offices for management of all aspects of the company’s interactions with its clients.
- Designed and developed the Client Wish List Alert system. The system regularly scans the property database in search of items desired by clients based on search terms and characteristics entered by client services representatives. The system produces lists ranked by quality of match (weighted feature vector), and sends alerts to relevant client managers when it finds items of interest to specific clients.
- As part of a joint venture between Amazon and Sotheby's, developed a system to support data exchange and synchronization among multiple sothebys.com and Amazon data feeds.
- Designed and developed a system that allows registered users of the public web site to receive email alerts when properties they're interested in are scheduled for auction or exhibition, when changes are made to property descriptions, and when the sale prices for those items become available as the live auction progresses.
- Original development and major enhancements of the system that manages the cataloging process for property, from creation of detailed descriptions to the assignment of properties to auction sessions at the company’s global auction locations. The system has numerous real-time interfaces to the SAP business systems, the sothebys.com public web site, and other internal systems.
Environment: Eclipse, JEE, Struts, JSP, HTML, CSS, Javascript, Ajax, Prototype and other js libraries, SQL, PL/SQLOracle 8i/9i, Ant, Weblogic, Sun Application Server / Glassfish, Solaris (Unix)
Confidential, Hawthorne, NY
Senior Software Engineer (Contractor)
Responsibilities:
- Development of advanced web-based video and multimedia database applications for the television industry.
- Developed a C++ plug-in for the Virage Video Data Logging application to allow users to save video segments and associated XML meta-data to a DB2 backed multimedia content management systems.
- Developed an application that used IBM speech recognition software to automatically generate searchable text transcripts from video files of news interviews. The transcripts contained SMPTE time code date between each word, allowing users to search the database of transcripts for words and phrases of interest, producing a result list of videos that contained the search words in the audio track. Selecting an area of text they would like to view video for. The system retrieved the relevant MPEG file from the database, and using time stamp data embedded in the html transcript, extracted a video clip corresponding to the highlighted text in the transcript, and streamed it to the user.
- Solved a persistent error in the software that extracted a video segment from an MPEG file caused by a bug in the way the software calculated which GOP (group of pictures) a timestamp was associated with in the MPEG file, causing the start or end points of the video segment to be a half second too early or late.
- Solved complex timing problems among multiple asynchronous media streams (byte stream from an MPEG encoder, text stream from the speech recognition engine, and SMPTE time code data from the source video in order to embed accurate time code information in generated HTML text transcripts.
Environment: Windows NT, IIS, AIX, DB2 database, CORBA, HTML, Java, Swing, C++, Win32 API, WinSock, ViaVoice speech recognition engine, Optibase MPEG encoder, various IBM middleware
Confidential
Founder
Responsibilities:
- Developed Picture++, a comprehensive image processing API for Windows. The library was incorporated under license into hundreds of applications and installed on more than 60 million systems worldwide as part of corporate and government applications, and commercial software products such as Crystal Reports and the
- Grolier Multimedia Encyclopedia. Provided image editing, conversion, color control, palette optimization, video capture, TWAIN scanner support, printing, comprehensive file format support (JPEG, GIF, FAX, BMP, TIFF, PCX, TGA, DCX), and a full range of image compression methods.
Environment: C, C++, Windows API
