Software Architect with over fifteen years of experience in the computer software industry including all phases of software development; from requirement’s definition, to software design, implementation, documentation, debug and testing. My recent experience involves developing web applications and associated infrastructure using agile development processes in Java and node.js utilizing cloud computing resources and Akamai WAA features.
Senior Architect at Elsevier
November 2016 - Present
Enterprise Architect for Content Delivery heading Science Direct, a 2 billion dollar revenue product with nearly 16 million articles from more than 3,500 journals and 34,000 books.
Communicate directly with GDPR compliance team and work with Tech Leads and Developers to ensure that ScienceDirect is fully compliant when General Data Protection Regulation (GDPR) comes into effect.
Continue migration from a in-house datacenter to AWS hosting for ScienceDirect. This project is on track to complete in June of this year.
Review poorly performing common components across Elsevier and deliver recommendations.
Assist in development of Business Cases, including a common content delivery platform based on the existing ScienceDirect backend services.
Lead a team of 10 Tech Leads and Delegated Architects.
Designed a common article reading experience making heavy use of inversion of control and thus needing no centralized entitlements mechanism for all Elsevier products.
Consulting Software Engineer at LexisNexis Risk Solutions
August 2015 - November 2016 (1 year 4 months)
Data Architect for a multi-client master data management product
Worked with non-technical product manager to produce a cost effective technical solution which met business needs.
Lead the project to improve the software development lifecycle incorporating agile methodologies, continuous integration, git migration, spring boot and other technologies as well as designing a way to measure individual projects progress in the migration.
Implemented a POC integrating HPCC with Jupyter Notebook to allow data analysts to be more effective.
Served on the leadership team.
Principal Software Engineer at Elsevier
June 2014 - August 2015 (1 year 3 months)
Key Lead Developer instrumental in leading the transition from old technologies, architectures, and processes to nextgen. Chosen as first staff member assigned to the nextgen effort.
Managed the US portion of an international, cross-functional, agile product development team to develop a new responsive web application from the ground up replacing portions of the ScienceDirect web application.
Designed and implemented a front end web app backed by mircroservices utilizing circuit breakers and Hystrix to deliver high reliability as part of an agile team.
Senior Software Engineer at Elsevier
September 2006 - June 2014 (7 years 10 months)
Facilitated and lead as Scrum Master two teams responsible for developing web application products including the development of the mobile device version of the ScienceDirect article page.
Lead and developed with a globally distributed team and successfully delivered a new big data analytic product (12.5M articles and 29.9M authors) using HPCC.
Designed and developed a “micro service” that handles 61k requests per minute with an average response time of 10ms which stores and returns session data for Science Direct.
Designed, implemented, and delivered an AJAX enabled web API and supporting application that allowed 3rd party access to over 15,000 journals and publications.
Managed multi person team as a Project Leader through all phases of a project.
Primary developer for a SOA webservice that distributed almost 5 million searches a day across multiple FAST clusters.
Principal contact for external and internal clients of the search webservice as well as point of contact with FAST development teams for technical issues.
Converted multiple SOA webservices from running under the IBM/Websphere/Rational stack to Tomcat/Axis2.
Software Engineer at Elsevier
August 2004 - September 2006 (2 years 2 months)
Designed, implemented, and delivered as part of a team a thesaurus based phrase detection modification to the search parser that did not degrade the perceived performance of the search web service.
Restarted development and maintained a data validation tool. Served as the main point of contact on the development team for any issues that arose. The tool was used to validate more than 7.5 million documents.
Designed and implemented an improved caching mechanism for an access and entitlements subsystem that effectively eliminated any delay associated with access and entitlements. Mean run time 1 ms.
Co-op at LexisNexis
June 2000 - August 2004 (4 years 3 months)
Coordinated with developers and designers to implement new features in a commercial search engine with 4.6 billion documents and 3.8 million users.
Improved existing search engine codebase by allowing for future expansion.
Developed code for a search tree for locating documents in a thirty-five terabyte datacenter, both independently and as a member on a project team.
Tested, debugged, and certified new code (C/C++/390 Assembler on Solaris and z/OS).