Objective
To solve real business problems with proven information technology, and have a great time doing it.Experience
Principal Consultant / Application Architect Daugherty Business Solutions
November 2018 – present
As a Daugherty consultant, I'm tasked with solving real-world business problems for enterprise clients. The ways I deliver value include:
- Solutions architecture and documentation
- Management and contribution to software development teams
- Training, mentoring, and leadership
- Assessing and recommending strategic technology decisions
- Site Reliability Engineering
Significant client projects:
- CI/CD pipeline for COBOL applications on legacy IBM zOS mainframes. The core of the pipleline moves code between different environments based on the status changes in JIRA tickets. Other tasks in the pipline include committing changed files source files into git repositories, and running through SonarQube for static analysis. Key technologies used: Groovy, Kotlin, Jenkins (Cloudbees Core), Kubernetes, Docker, Endevor.
- Framework for pharmaceuitical claims, to replace an existing mainframe application with scalable micro-services based solution. Key technologies used: Java EE, Spring Boot, JPA, React, Pivotal Cloud Foundry, Docker, PostgreSQL.
- High performance rules engine used to validate insurance benefits. During the POC stage, implemented in two ways: Drools-based engine where rules list was generated dynamically, loaded, and executed embedded in a Java application, and custom core Java recursive-descent tree parser library. The custom implementation was chosen over Drools because of a two order of magnitude performance advantage. Key technologies used: Core Java, Drools, Python.
Senior Technical Lead Ogilvy Commonhealth Worldwide
April 2015 – October 2018
As technical lead, I was responsible for technical strategy, architecture, design and implementation of web, mobile and social application development for my assigned brands. My responsibilities include:
- Partnering with Account Management and Business Development in developing client relationships, pursuing client leads, and creating new opportunity.
- Collaboration with the Client Services and Project Managers to translate the client's business requirements to a sound technical architecture/approach.
- Discovery, scoping, research, and estimation for digital projects.
- Oversight of software development, QA testing staff and vendors over the entire life-cycle of digital projects.
- Writing of technical specification, technical requirements, hosting requirements for new web and mobile applications.
- Establishment and direct management of the DevOps practice for Ogilvy Commonhealth, with a focus on improved quality, security, and organizational productivity.
My significant accomplishments at Ogilvy include:
-
Upgrading and consolidation of legacy physical servers to modern private cloud infrastructure.
- Dynamic provisioning and orchestration of development and staging servers using Ansible and Softlayer, keeping client work physically separated.
- Migration of over 800 legacy SVN repositories to git.
- Deploying and maintaining Ogilvy Commonhealth owned services, including Gitlab, Jenkins, and Redmine.
- Built workflow for development and continuous integration using Jenkins, Ansible, and Vagrant.
- Champion of development best-practices to allow for collaboration of multiple off-shore remote teams and on-site development efforts.
- Design, architecture, and development of tracking and reporting system for interactive convention experiences.
- Created CMS content migration between multiple environments (dev, QA, staging, production) using Jenkins, git, Ansible, and rsync.
- Automated service requests using custom web applications, mobile applications, and Slack integrations.
- On-boarding two partner organizations, with Ogilvy taking over all software development and related infrastructure for both partners.
Technical Lead Edelman
April 2013 – March 2015
As technical lead, I am responsible for technical strategy, architecture, design and implementation of web, mobile and social application development for my assigned brands. Responsibilities include:
- Partnering with Account Management and Business Development in developing client relationships, pursuing client leads, and creating new opportunity.
- Collaboration with the Client Services and Project Managers to translate the client's business requirements to a sound technical architecture/approach.
- Oversight of software development and QA testing staff and contractors.
- Discovery, scoping, vendor selection, and estimation for digital projects.
- Writing of technical specification, technical requirements, hosting requirements for new web and mobile applications.
-
Managing the development of multiple high-engagement web
applications, including:
- Contests/sweepstakes using social platform API's (Facebook, Twitter, Instagram)
- Maintainance, modification, and performance tuning of legacy web applications that recieve heavy load during media events (Wordpress, custom frameworks)
- Quick-turnaround "crisis sites"
-
Engaging in research and development projects to explore
the use of cutting-edge technology, including:
- Use of Bluetooth LE beacons (e.g., iBeacon) for brand activations at SXSW
- Use of new Basecamp API for internal project document management
- Building a fruit-based musical keyboard
- Spear-headed a movement within the organization to use modern orchestration (Ansible) and virtualization tooling (Vagrant, Virtualbox) to ensure consistent provisioning and deployment across environments.
Guest Lecturer New York University
Spring 2013 – present
I provide guest lectures on the topics of technology and software development for graduate classes in digital marketing. The topics of the lecture cover:
- Emerging technologies and their application.
- Information security and threat response.
- Engagement points between marketing and technology professionals.
- Basics of the software development life cycle.
Director of Technology McCann Regan Campbell Ward
January 2012 – April 2013
As the Director of Technology, I was responsible for technical strategy, architecture, design and implementation of all web, mobile and social application development at McCann Regan Campbell Ward. Responsibilities included:
- Partnering with Account Management and Business Development in developing client relationships and in pursuing client leads and creating new opportunity.
- Partnering with business development on technology sections of proposals.
- Delivering presentations to prospective clients and current clients demonstrating Technology leadership.
- Working with the Client Services' teams and Project Managers to translate the client's business requirements to a sound technical architecture/approach.
- Oversight of software development and QA testing staff and contractors.
- Setting and enforcing code style and quality standards organization wide, and for vendors.
- Discovery, scoping, and estimation for all digital and technology projects in the agency.
Lead Software Engineer Group DCA
October 2007 – January 2012
I was the lead front-end developer and architect at GroupDCA, and managed a small team of very capable developers. Though my team's specialty was front-end, we worked on all tiers of the company's stack using technologies such as PHP, Java, MySQL, Apache, and Objective C to build applications. Responsibilities include the following:
- Prototyping, architecture, and partial implementation of a very animator-friendly toolkit used to rapidly build interactive web applications with both HTML5-, iOS- and Flash-based presentation layers.
- Architecture, and implementation of company-wide content-development workflow automation tools between multiple applications (MS Office, OpenOffice, Oracle, PHP, Java).
- Architecture and implementation of industry award- winning multi-tier RIA platform using Java (JSP/Struts/Spring/Hibernate/BlazeDS) and MySQL, with HTML + Flash/Flex presentation layer.
- Continuing development, maintenance, and deployment of a website visited by 100,000+ physicians using Java (JSP/Struts/Spring/Hibernate).
- Procurement, configuration, deployment, and maintenance of multiple Linux (Red Hat, Ubuntu) servers running Apache and Tomcat.
Software Engineer Vonage
December 2006 – October 2007
Maintained, and added numerous features to www.vonage.com, investor relations site, and internal knowledge base used by customer care. PHP, MySQL, and Oracle backend. Front end was DHTML/JavaScript and Adobe Flash.
- Aided in transition to multiple language support on main site.
- Implemented multiple dynamic end-user features using PHP and HTML/CSS/JavaScript. AJAX features using prototype.js and Scriptaculous.
- Developed dynamic XML-driven interactive charting for investor relations site using Flash.
- HCI design and testing of internal customer care Intranet applications.
Software Engineer Group DCA
August 2003 – December 2006
Developed Flash-based (AS1 and later AS2) interactive narritive sessions, and complex charting, data collection, and animation tools to be used by designers and animators. Built PHP-based web applications and reporting tools.
Software Engineer Syncsort, Inc
February 2003 – August 2003
Troubleshooting and maintenance of the hardware interface layer of SyncSort's BackupExpress software application, specifically the SCSI tape device and robotic tape array device handling on multiple UNIX-style operating systems.
Junior Software Engineer HydraWEB
1998 – 2001
Designed and developed a Java-based (Swing) GUI front-end for a legacy UNIX load-balancing application.
Software
- Programming languages:
- C/C++, Go, Groovy, Java, Kotlin, JavaScript, PHP, Python
- Frameworks and Toolkit:
- Hibernate/JPA, Jenkins, SDL, Sonarqube, Spring
- Operating Systems:
- Android, iOS, Linux, MacOS X, UNIX, Windows
- Databases:
- MongoDB, MySQL, Oracle
- General Software:
- Adobe Creative Suite, Ansible, Docker, Kubernetes, Microsoft Office, LibreOffice, Git, Subversion, Vagrant, VirtualBox
Education
New Jersey Institute of Technology
Bachelor of Science, Computer Science 1996 – 2002
My areas of special focus in college were Human-Computer Interaction, real-time 3D graphics, and cross-platform application development. I spent time using and developing for a plethora of platforms: Windows, Linux, Irix, Solaris, and VAX/VMS.