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
Information Retrieval. • 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.