Verified Expert in Engineering
Jonathan is passionate about creating new things with excellence, from software to furniture to music. As an engineer and a craftsman, he has built maintainable and reliable software for over 25 years by separating responsibilities well through clean, object-oriented design. He is content to work solo but also collaborates well as a team member, using his experience to teach and mentor when needed.
MongoDB, TypeScript, Express.js, Node.js, Angular, React, IntelliJ IDEA, Linux, Windows, MacOS
The most amazing...
...projects I've developed are legal informatics tools for Casetext, which use React and Angular to interact with cutting-edge machine-learning algorithms.
Product Architect, Principal Engineer
- Contributed as a senior full-stack developer in an extremely fast-paced startup environment, mentoring other developers, interfacing with the data science team and other groups, and increasing technical responsibilities.
- Collaborated with a team to port the flagship casetext.com application from AngularJS to Angular 3, including significant rewrites and additional features.
- Added UI-facing features for mobile and desktop browsers: complex document uploads, multi-faceted auto-complete, an API for managing court dockets, key passages, user highlighting, user notes, search-within document, and show similar issues.
- Played a key role in developing Casetext’s second major product, a SPA and MS Word add-in running on office.com and desktops. Solo features included search results, WYSIWYG content to .docx, and SSO to SAML2/ADFS identity providers via Passport-SAML.
- Created the back-office integration with Pipedrive CRM.
- Proved out the productivity of remote development as the first work-from-home developer on the applications team, which led to hiring several other remote developers.
Software Architect, Director of Engineering
- Advanced from a technical leader to the director of a completely distributed team of developers building UI features in Sencha’s Ext JS client library while expanding our multi-tenant, cloud-hosted service to over 500 SaaS customers.
- Hired and managed 13 direct reports and contractors as the engineering team grew from four people writing code to 29 full-time engineers distributed in five US states and four other countries.
- Continued writing code and providing mentoring and technical direction in addition to management duties such as hiring, mentoring, and evaluating team members.
- Oversaw the rollout of countless new features in a variety of capacities: project manager, architect, designer, and developer.
- Helped establish Agile development best-practices such as TDD, continuous integration, monthly release cycles, and code quality standards.
Senior Software Developer
- Functioned remotely and in-person as a senior member of a growing team of developers creating a SaaS web-hosting solution, primarily for media companies with streaming video content.
- Architected EndPlay’s microsite platform and led the development team to implement the corporate website (www.endplay.com) on the new platform.
- Delivered the first implementation of Intelligently Rendered™ content, with tailored experiences for mobile and tablet form factors, including a different embedded high-quality video experience on each device type.
Staff Software Engineer
- Started at Interwoven as a senior member of a distributed development team responsible for enhancements to Interwoven’s enterprise web content management offering. Continued as a technical lead after Interwoven was acquired by Autonomy in 2009.
- Implemented social computing components for incorporating ratings, polling, helpfulness, and other visitor feedback into web pages built in a web-based WYSIWYG page editor.
- Created proof-of-concept integrations from Interwoven LiveSite to various social media and user-generated content partners.
- Assisted in creating the Interwoven Component Guide, an interactive website for showcasing the library of out-of-the-box visual page components.
- Created a RESTful component framework used to access external services. After the Autonomy acquisition, this became the foundation for integrations between Interwoven LiveSite and Autonomy IDOL.
Senior Software Engineer
- Joined as an early-startup senior member of a stellar development team responsible for implementing new product features and scaling a software-based service to keep up with huge growth in customers and overall web traffic.
- Implemented and delivered major product features, end-to-end, while reviewing and mentoring developers on the overseas development team.
- Added support for uploading and linking videos when posting reviews of products sold online. This feature can be seen on Bazaarvoice client sites such as petco.com.
- Designed and implemented Bazaarvoice’s Merit Badging feature to rank/reward frequent contributors of user-generated content (e.g., “Top 1000 Reviewer”). This feature could be seen at most Bazaarvoice client sites such as walmart.com and bestbuy.com.
- Designed and developed Bazaarvoice’s RESTful web service for ratings and reviews, used as an integration API by clients such as dell.com and sears.com.
Senior Software Developer
- Introduced software process best-practices and brought senior development experience to the development team. Served as a senior Java developer on the path to a product architect role, providing mentoring and contributing to the hiring process.
- Served as a designer and developer for Secure Flight, the end-to-end software solution for the Department of Homeland Security’s next-generation airline passenger screening system.
- Designed and developed the web user interface for Infoglide’s retail loss prevention product offering, based on an SOA for back-end services. This also included designing an Ajax-enabled web component framework, using the open-source Dojo Toolkit.
- Brought expertise to software design and development in every area of Infoglide’s business: back-end servers, front-end Swing GUIs, traditional web applications, thin-client applets, and Ajax-enabled, cross-browser web applications.
- Progressed from a mid-level Java developer position on a web application software team into a senior/lead role.
- Completely redesigned the web-based maintenance tool for catalog data and led a team of three full-time and five part-time developers to implement it.
- Designed and led the development of a reporting system for analyzing application usage and activity. This included auditing events into a transactional database and then extracting that data into a data warehouse for reporting.
- Designed and implemented an automated process for publishing data from a maintenance system to various runtime systems, using RMI and Jini for seamlessly discovering distributed services.
- Conducted technical interviews and contributed to team hiring decisions.
- Created a facility for handling evolving catalog data in historical quotes.
- Implemented a JSP-based user interface for a Python-based guidance engine for recommending web hosting products.
- Implemented a data network design engine for delivering upgrade recommendations using genetic mutation algorithms and network topology heuristics.
- Implemented a database abstraction layer for persistently storing business objects, a core technology used in all company applications.
- Redesigned and implemented the third version of the core infrastructure for handling page navigation/flow and managing session state, which is still in use for all company applications.
Consultant, Software Developer
- Started as an entry-level SAS consultant and advanced into multiple simultaneous roles as a senior SAS consultant, SAS software developer (SAS/AF and SCL), Java software developer, senior Java consultant, C++ software developer, and project lead.
- Designed and developed a customer profile database GUI client-server application for worldwide use at IBM PC.
- Co-designed JJT's Maestro™, an object-oriented statistical analysis software suite for the SAS System.
- Designed and developed an object-oriented, optimized Metabase system that extracted and joined requested data from multiple databases such as SAS, Oracle, Sybase, SQL Server, Informix, and DB2. Originally implemented in SAS/AF; rewritten in Java.
- Co-developed Convert™, a custom-built digital imaging software suite for professional production environments, built in C++ using Microsoft Foundation Classes (MFC).
- Designed and developed JJT's Opus™, a Java client reporting application for statistical analysis and information visualization.
- Created a secure, internet image publishing system for the National Geographic Society.
I was the principal engineer on the small team of full-stack engineers that built this site, which serves well over two million unique case pages per month. I personally added countless UI-facing features for mobile and desktop browsers, including complex document uploads, multi-faceted auto-complete within the global search bar, utility services for showing toasts and alerts, a custom API for managing court dockets, key passages, user highlighting, user notes, search-within document, show similar issues, self-serve administration, and onboarding tours.
A 14-day trial (currently no credit card required) will let you search the entire corpus of US case law and experience the product I developed with the Casetext team. For example, https://casetext.com/search?q=google%20%2Fp%20angular uses a legal industry-standard query to find cases with "google" and "angular" in the same paragraph.
As a key full-stack engineer, I was a significant contributor to developing Compose from the ground. We used React+Node+MongoDB to connect to other internal services and provide a single-page web app, as well as a Microsoft Word add-in running on both Office Online and native desktop MS Word. Solo features included displaying "supporting cases" results from parallel search, exporting WYSIWYG content to .docx format, user licensing, and single sign-on (SSO) to SAML2/ADFS identity providers via Passport-SAML.
Angular, Ext JS, Bootstrap, Restlet, Jakarta Server Pages (JSP), Express.js, MUI (Material UI), Spring, JUnit, Apache Velocity, Swing, Redux, Mockito
React, REST APIs, Node.js, Microsoft Word Add-on Development, Stripe, Stripe API, Social APIs, Social Media APIs, Autonomy IDOL Search, Dojo Toolkit, Sockets, Java Digital Image Processing (DIP), Microsoft Foundation Class Library (MFC), Passport.js, Pipedrive API, GitHub API, React Redux, YouTube API, Java RMI
API Architecture, REST, MEAN Stack, Agile, MVC Design, Test-driven Development (TDD), Web Architecture, Continuous Integration (CI), Scrum, Service-oriented Architecture (SOA)
Full-stack, Front-end, Generics, MERN Stack, Remote Team Leadership, OData, Architecture, Ajax, Applets, RMI, Jini, Code Architecture, Software Architecture, APIs, Axios, Team Leadership, HTML5 Video, Scaling, Analytics, SaaS, Paid Memberships Pro (PMPro), Mentorship, Software as a Service (SaaS), Writing & Editing, eCommerce, eCommerce UI, eCommerce APIs, Web Services, SOAP, Catalogs, Genetic Algorithms, TCP, Base SAS, Leadership, Image Processing, Enterprise Java Beans (EJB), TCP/IP, Robotics, Stream Processing, Images, Data Visualization, Image Manipulation, SAML-auth, Cordova, Mobile Apps, Liferay, HP TeamSite, Technical Hiring, OS/2, Hardware, Statistics, Statistical Analysis
IntelliJ IDEA, Google Docs, Git, GitHub, Jenkins, Flowplayer, Zapier, Create React App, Figma, FullStory, Webpack, Jira, Subversion (SVN), MQSeries, CVS, Visual SourceSafe
MacOS, Windows, Oracle, Raspberry Pi, Raspberry Pi 3 GPIO, Linux, Firebase, Google Cloud Platform (GCP), Android, Raspbian, Amazon Web Services (AWS)
MongoDB, NoSQL, Databases, MySQL, PostgreSQL, SAS SQL, Oracle RDBMS, Amazon S3 (AWS S3), Sybase, Microsoft SQL Server, IBM Informix, IBM Db2