Software Architect and Full Stack Developer
- 20 years of experience in designing and developing software applications on over 25 different engagements, focused primarily on enterprisescale Java systems and components.
- Proficient with concepts and techniques of BDD, TDD, OOA, OOD, AOP, Design Patterns, and agile development processes like XP, Scrum, Kanban, and Lean.
- Dedicated to producing quality work; implemented two open source tools for analyzing and reporting on internal code quality.
- Enjoys challenges, thrives in teams, hard worker, excellent communicator, and strong writing skills.
BS in Information and Decision Systems
Distinguished Technical Consultant
Principal Technical Consultant and Owner
MS in Philosophy: Logic, Computation and Methodology
Principal Technical Consultant and Owner Oct 2018 - Present
Designed and implemented critical menu configuration structures and logic as well as front-end web views for the rewrite of an online ordering system.
ReactSCSSJavaSpring BootMyBatisGroovySQL Server
Investigated a business critical legacy component with a history of reliability and quality concerns and then planned for and led an incremental rewrite based on the Strangler design pattern.
ArchitectureJavaMicroservicesRESTSpring BootMyBatisSQL ServerRabbitMQShedlockSQL
Integrated a proprietary ordering system for a food service client with over 500 locations with the Uber Eats API, designing for maximum resilience and up-time.
Embedded with an architecture team for a large health insurance provider, helping to investigate and prototype key architectural and devops improvements.
Led a team of four to build a daily sweepstakes content for an online ordering platform, optimizing for security and monitorability to prevent fraud.
Performed architecture for a variety of small to mid-size companies with varying goals, from rewrite-or-refactor to MVP feasibility.
Built out the backend foundation and devops pipeline for a commercial real estate application, including security, logging, persistance, and business logic.
Worked with a higher-education client to optimize their DevOps pipeline, building custom Git hooks, modifying build scripts, and tweaking application code.
Assisted with strategy, prototyping, and rollout of an effort to containerize an ecosystem of 30+ services formerly hosted on virtual machines.
Principal Architect Oct 2017 - Oct 2018
Financial Services Company
Architected, designed, and led the development of a proprietary ad hoc reporting tool which allowed power users to create and curate data sets and publish them out to end users.
JavaSpring BootAngularSCSSMongoDBDockerElastic Search
Provided guidance to teams within Corporate Treasury in the areas of DevOps, development best practices, performance testing and optimization, and process.
Distinguished Technical Consultant Jun 2007 - Oct 2017
Convenience Store Client
Led a development team of 7 to build from scratch the instore ordering platform which is used in 500+ stores and handles over 250k orders per day.
Designed and implemented a flexible menu authoring framework that allows Sheetz to customize food and beverage offerings, promotions, crosssells, and upsells based on location, time of day, weather, order history, and other contextual factors.
Helped in the design and implementation of a new, responsive, singlepage web app for online ordering; ported over components from the instore menu framework to ensure reuse and maintainability.
Architected a data lake to capture online and instore order data, and from which key business insights were mined to improve customer experience and crosssell conversions.
Led the discovery and implementation of a major release to deliver personalization features to the instore ordering experience, allowing customers to log in, view order history, mark “favorite” items, and see recommendations.
Built a recommendation engine to deliver personalized recommendations to customers, using a itembased collaborative filtering algorithm.
Implemented a voicebased user interface for accepting orders using Amazon's Alexa platform.
Higher Education Client
Led a development team of 9 to modernize a proprietary Student Information System, a legacy application which is the backbone for all student related business processes including admission, registration, graduation, scheduling, and accounting.
Designed a frontend framework based on the MVP pattern on top of which more than 100 screens were written.
Spearheaded an exploratory effort to analyze Carnegie Mellon’s unique and rich requirements for authorization, investigating different open source and proprietary products. Upon finding no suitable solutions, designed a custom, enterprisestrength authorization engine to manage both role based and attributebased access controls.
Helped map out and then implement a strategy for automating testing at both a unit and integration level.
Implemented a Person Matching component used to prevent the duplicate entry of students, prospects, and applicants, and students for any of Carnegie Mellon’s campuses.
Analyzed and then assisted in the optimization of the business critical, online student registration logic to ensure it met key performance and scalability demands.
Integrated Carnegie Mellon’s information systems with both internal and external systems, including health insurance, housing and dining, ID cards, and authentication.
Implemented the business logic for registering and scheduling classes for students.
Led a team of 4 to modernize the Student Information Online application, a portal for students to view and manage their grades, schedule, accounts, contact, and health insurance information.
Conducted multiple rounds of usability tests to help understand the intentions and behavioral patterns of students when interacting with the student portal application.
Helped modernize the student billing and aging processes, including creating the first online bill for students.
Worked along side a team of 5 to architect, design, and implement a greenfield Software as a Service (SaaS) product for the client built for universities to manage their payments to students and faculty. Helped deliver the system on time and under budget.
Created and configured a Spring Web Services module and created an endpoint that accepted messages about new client accounts opened by students.
Designed and maintained the relational data model consisting of over 40 tables.
Created and configured the infrastructure for an automated unit and integration testing framework and helped maintain 100% pass rates throughout the course of the construction phase.
Led the design and development of a web-based system used to manage the process of customers opting out of license agreements with the client.
Implemented key enhancements to a proprietary workflow engine, allowing the client to track license requests from customers.
Designed, garnered consensus on, and then implemented a key refactoring to an infrastructure piece responsible for managing configuration files.
Helped implement enhancements to the client's Online Application system to support a critical business goal of increased agility and responsiveness to customer requests.
Senior Consultant Jan 2005 - Jul 2007
Led the analysis, design, and development of the Delivery Locations feature for Vocollect’s VoiceLink 3.0 product. Utilized the dependency injection design pattern to improve testability and extensibility of business logic, and used ORM techniques to achieve portability and better maintainability of database persistence code.
Managed the implementation of the reporting module, which entailed integrating a proprietary reporting component and open-source reporting frameworks with the VoiceLink 3.0 system.
Served as the lead consultant of 13, helping to coordinate tasks and manage knowledge.
Helped to coordinate, administer, and analyze a usability test of the VoiceLink 3.0 product and helped to pinpoint and then eliminate over two dozen critical usability issues.
Played a key role in an architecture assessment of MSA’s Gabriel product, a 5 million line ERP system for the Media industry. The assessment spanned functional, organizational, and technical domains to discover the extent to which each architectural element supported critical business goals.
Implemented a performance instrumentation solution utilizing Aspect Oriented Programming to achieve better maintainability and extensibility.
Analyzed and refactored a critical core component that was responsible for system-wide performance problems.
Java Stored ProceduresPL/SQLJava
Acted as a mentor to junior Java developers, performing code reviews, holding consistent brown-bag learning sessions, and offering general support and assistance.
Developed a tool used to visualize Ant target workflows for the purposes of understanding complex Java build scripts.
Research Programmer Apr 2004 - Jan 2005
Carnegie Mellon University
Collaborated with Information Visualization specialists from the Human Computer Interaction Institute to design an effective interface for searching and navigating large, multi-faceted, hierarchical data sets.
Implemented a web-based portal and discussion engine used in Pittsburgh’s 2004 Deliberation Day. The portal was used to host and facilitate political conversations among citizen participants toward the goal of strengthening democratic discourse
Consultant Jun 2001 - May 2002
Implemented key business components within the EJB specification for an internet application used by Railroad operators for placing railcar orders
Built a JSP Custom Tag library used in the presentation tier to encapsalate and reuse complicated client-side logic for validation, filtering, and complex input fields.
Programmer Sep 1999 - May 2001
Led the development effort for a web-based administration system used by online publishers and advertisers to configure and deploy digital coupons
Developed the beta version of AdClip’s first wireless product, the Wireless Wallet
MS in Philosophy: Logic, Computation and Methodology Aug 2004 - May 2011
Thesis: Automated Diagrammatic Reasoning: A proofchecker for the language of E
LogicGame TheoryComputability TheoryDecision TheoryPhilosophy of MindData Structures
BS in Information and Decision Systems Aug 1995 - May 1999
3.67 QPA (4.00 scale)
Data StructuresAlgorithmsSystems DesignDatabase TheorySoftware EngineeringOrganizationsStatisticsEmpirical Research MethodsPolicy AnalysisSQLJava
Publications and Presentations
Trainings and Certifications
Sun Certified Programmer 2000
Awards and Accolades
Contractor VIP Award - Retail Client 2017
Created a web app for hosting interactive resumes geared for the tech industry.
Created a static source code analysis tool which reports on the maintainability (or "cruftiness") of your Java code. Whereas other tools generate an unwieldy list of maintainability violations from which it's difficult to know what to do, Cruft4J generates one score which is based on just two things: cyclomatic complexity and copy-paste.
Collaborating with Dr. Jeremy Avigad and Dr. John Mumma, I built an automated theorem checker for a formal system of Euclidean Geometry. A user enters facts about a diagram, and the tool generates a list of logical entailments - i.e. conclusions that could be deduced using pre-defined logical rules.
Created a better visualization of a developer's skills than the traditional resume, and captured 2,000+ sign-ups in 3 months
PMD Reports 2007
Built a wrapper around the popular open-source Java code analysis and bug detection tool, PMD. Whereas PMD generates and displays code quality statistics at a source code level, PMDReports persists and aggregates these statistics so that code quality can be viewed from a more macro, component level.
Internal Web App 2007
Rewrote an existing web application used to manage internal banking documents using Java-based technologies to keep consistent with IT standards. The site was used by 200+ users located in different FHLB branches around the country.
Custom CRM 2005
Designed and implemented a web-based system to help a local fire protection business track inventory and route technicians to customer sites. The system was intended to reduce operational costs and increase customer retention, thereby increasing revenue.
External Web App 2002
Created a basic web site for a local small business that distributes statistical reports on real estate transactions in Allegheny county. The site provides potential customers the ability to generate sample reports online, demonstrating the power of the RealSTATs data set.
Education Web App 2002
Developed a very simple web site to showcase their distinguished faculty. The site consisted of two parts: the web site itself, containing instructional videos and teaching resources, and an administrative console where the web site content could be updated.
Created an intelligent MP3 player that learns your music preferences and then optimally plays songs based on your current mood and tastes using a basic statistical algorithm to select an optimal group of songs to play for you at that time.
Gym Database 1998
Built a database for a local gymnastics gym to track their customers, inventory, and sales.
Gym Database 1997
Wrote a database management system for a local rock climbing gym to manage daily passes, memberships, and other purchases.
MavenGitGitlab CIDockerKubernetesOpenShiftJenkinsSplunkElastic SearchAnt
Tools and Libraries
Patterns and Specs