Product Architect, Principal Engineer
2018 - PRESENTCasetext- 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.
Technologies: Amazon Web Services (AWS), Zapier, Pipedrive API, Passport.js, SAML-auth, SAML, Paid Memberships, React Redux, Redux, Webpack, GitHub API, GitHub, Git, Continuous Integration (CI), Stripe API, Stripe, REST APIs, Sass, SaaS, Analytics, Scaling, NoSQL, Bash Script, MUI (Material UI), Amazon S3 (AWS S3), MEAN Stack, MERN Stack, Generics, Microsoft Word Add-on Development, Agile, Google Docs, Front-end, FullStory, Full-stack, Firebase, Figma, GraphQL, Google Cloud Platform (GCP), Bootstrap, REST, HTML5 Video, HTML5, HTML, CSS, Team Leadership, API Architecture, Web Architecture, MongoDB, React, Angular, Express.js, Node.js, JavaScript, TypeScript 3Software Architect, Director of Engineering
2011 - 2017Planview- 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.
- Architected the transition from a JSP-based legacy web UI to RESTful services, returning JSON to single-page, JavaScript-based web clients on desktop, tablet, and mobile devices, using Sencha’s Ext JS library.
- 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.
Technologies: Amazon Web Services (AWS), XML, Mobile Apps, Git, SaaS, Jenkins, Android, Cordova, Teaching, Mentorship, PostgreSQL, MySQL, Oracle, Databases, Scrum, Agile, Jira, MVC Design, Mockito, JUnit, Full-stack, Spring, OData, REST, Front-end, HTML5, HTML, CSS, Remote Team Leadership, Team Leadership, Ext JS, JavaScript, JavaSenior Software Developer
2011 - 2011EndPlay- 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.
Technologies: Architecture, Scaling, Software as a Service (SaaS), XML, Flowplayer, Liferay, JavaScript, JavaStaff Software Engineer
2007 - 2011Autonomy- 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.
Technologies: Scrum, Agile, Jira, Front-end, HTML, CSS, JavaScript, Autonomy IDOL Search, REST APIs, REST, Writing & Editing, Social Media APIs, Social APIs, HP TeamSite, XML, JavaSenior Software Engineer
2006 - 2007Bazaarvoice- 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.
Technologies: Subversion (SVN), Bash Script, MySQL, JUnit, Full-stack, Spring, REST, HTML, CSS, eCommerce APIs, eCommerce UI, eCommerce, SaaS, Mentorship, YouTube API, JavaScript, Restlet, Apache Velocity, JavaSenior Software Developer
2004 - 2006Infoglide Software- 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.
Technologies: MQSeries, Applets, JSP, Swing, Dojo Toolkit, Ajax, Service-oriented Architecture (SOA), SOAP, Web Services, Security, Technical Hiring, Mentorship, Architecture, JavaScript, Java, Test-driven Development (TDD)Software Engineer
2000 - 2004WhisperWire- 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.
Technologies: CVS, TCP, Sockets, Code Architecture, Genetic Algorithms, Python, Catalogs, Technical Hiring, Jini, RMI, Java RMI, Databases, Web Architecture, Applets, XML, JSP, JavaConsultant, Software Developer
1995 - 2000JJT Inc.- 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.
Technologies: Statistical Analysis, Image Manipulation, SQL, Data Visualization, Statistics, Images, Stream Processing, Microsoft Foundation Class Library (MFC), C++, Robotics, Hardware, Visual SourceSafe, Writing & Editing, APIs, Sockets, TCP, TCP/IP, Databases, Enterprise Java Beans (EJB), MVC Design, Java Digital Image Processing (DIP), Image Processing, HTML, Leadership, Software Architecture, OS/2, IBM Db2, IBM Informix, Microsoft SQL Server, Sybase, Oracle RDBMS, SAS SQL, Base SAS, SAS