Jim offers an intuitive understanding of object-oriented architecture and software engineering techniques, gathered through 23 years’ experience with Java in enterprise, application, and web development environments. A solid background in math and computer science bolsters algorithms, and a variety of libraries, programming languages, and machine learning demonstrates versatility while simultaneously providing a broad corpus of patterns to extrapolate onto current projects.Hire Jim
• Senior developer on a team with mostly senior and principal developers, doing software development and data analysis using Solr, Lucidworks Fusion, Java, JBoss, Python, Google Sheets, bash, git, OpenShift, Kubernetes, Jenkins, React, Adobe Analytics, Splunk, Ruby, OpenSSL, VertX, Quarkus, reactive programming, OOAD, and software reliability engineering to increase team throughput and deliver higher quality search results to customers with less of their effort.
• Developed dashboards and monitoring for site search using Ruby, Adobe Analytics API, and Splunk API
• Automated installation of search on developer systems with bash, Ansible, and Python. Part: lucidworks-fusion-config
• Detailed investigation of duplicate solutions in the knowledgebase, including flagging pairs for consideration with doc2vec and developing a system for experts to evaluate pairs of duplicates for training subsequent classifiers, gamified to encourage participation – received innovation award for this effort.
• Delivered a lambdarank application from prototype to production in OpenShift with Python, Kubernetes, and Jenkins.
• Developed an open-source vertx-engine and search platform mostly via distributed pair programming with vert.X, Quarkus, and reactive programming.
• Analyzed common queries wrote a formula to find ones that were effective, leading to autocomplete deflecting support cases and saving $1.7 million annually.
• Two patents pending, one for applying software reliability engineering to site search failure analysis, and another for implementing autocomplete with a locally-cached list of searches with known-good performance because distributed search was not available and latency was too slow for users far from the one datacenter.
• Added cursors to pysolr.
IT for training.
• Acting lead developer of a team of 1-2 other developers, with responsibilities including development of project completion timeline, managing development servers with puppet, and technical relationships with other teams to facilitate completion of the project.
• Developed software to present dynamic quizzes to customers to help them select the appropriate courses to take and present appropriate marketing material stored in Alfresco content management (CMS). Internationalized (i18n), 3-tier SOA Spring MVC – EJB service bean – EJB3 Hibernate.
• Integrated with third-party learning management system for finding prices, training sessions, and booking orders. Created UML diagrams, developed API, proxy services, integrations with Oracle via enterprise service bus using XML, XSLT, automated acceptance tests of third-party services.
• Accelerated the production deployment process through various scripting measures including perl, automated database patches, Maven (mvn) build customizations, and continuous integration with Hudson/Jenkins.
Time tracking for local marketing.
• Redesign time tracking UI to allow single web page entry of hours and widgets completed, including notes for each.
• Perl for tracking my own time as well as log analysis, data transformations, etc.
Online consolidated office supply procurement.
• On-call production support for Linux server administration; Windows development platform.
• Perl for ETL, data transformations, and startup/shutdown scripts on the server, also sh for process control
• Lead teams of 2-3 overseas developers in producing component solutions to integrate with enterprise web application.
• Software reliability engineering including JUnit, Selenium, and Fitnesse tests, Easymock Classextensions, HSQLDB
• Designed and developed fax transmissions, EDI via XML and cXML, exchange rate feeds, framework for data migration, user-configurable and internal event handling, data import and export, retrofit for multiple currencies
• Agile methodology, pair programming, distributed pair programming overseas
• Software developed here was used in production on a system with 11 million page views in August, 2008.