Technical Skills
React, CSS3, LESS, TypeScript, Jest, JavaScript, Git version control, GraphQL, WCAG 2.0 Accessibility Standards, Internationalized/Translated Content, Storybook, Apollo Cache, Scrum, Test-Driven Development (TDD), Kanban, NextJS, Figma, Jira, Confluence, C#
Experience
Atlassian (Trello)
Frontend Software Engineer, Trello
Job Responsibilities
I am a frontend software engineer at Atlassian working on the Trello Web Core team. I develop new features to expand and change the business as well as maintaining existing features and supporting the parts of the application under my team’s ownership operationally on a day to day level. All of this requires working not only within my team, but additionally collaborating with colleagues across teams with different ownerships and areas of expertise. Day to day, I am relied upon to independently deliver tasks allocated to me correctly, accurately, and on time, as well as with a high degree of quality. I also heavily participate in our pull request review process to ensure that we are delivering high quality code.
Key Accomplishments
Feature led and significantly contributed code to a complete visual redesign of the onboarding process for Trello to be more visually in line with the style of the newly-redesigned public facing marketing website. This effort resulted in 0 functional bugs being found in the overall testing effort that occurred prior to launch, and no impacts to any of Trello’s key operational vitals were observed after launch.
Noticed and built a solution for a potential problem in a project, resulting in many days of engineer effort saved and weeks-early project launch. Part of a user experience overhaul was to include an image with text that dynamically updated as the user typed in associated input fields. The project lead intended, due to project and resourcing constraints, to use a static image and use absolute positioning to display the typed text over that image. However, I quickly realized that this would present accessibility and usability concerns, as well as issues with responding properly to different screen sizes. I took it upon myself to build a fully configurable version of the image using React and LESS so that it would not only be more responsive, but more performant and more accessible as well. This was built with several functional components, included a fully interactive Storybook page, and utilized CSS3 to ensure consistent layout no matter the screen size.
Feature led an effort to increase unit test coverage for my team’s ownership, to ensure that more of the codebase was covered by automated unit tests and thus preventing functional regression issues. This project required a lot of analysis of engineering health metrics to ensure that I knew what files to begin with, to generate the most positive impact on the codebase’s unit test coverage metric as soon as possible.
During feasibility review for the unit test coverage project, I realized that I needed help to analyze the several hundreds of files that were under my team’s ownership to determine the most impactful place to start. I created a tool to calculate relative priority of under- and untested component files in the Trello codebase under a given team’s ownership. This was calculated using a formula that I derived, based on several factors (relative complexity, rate of change according to source control, how many lines were untested, and level of functional priority) to indicate where a team should start when increasing unit test coverage for their team’s ownership. Development of this tool involved learning NodeJS, writing shell commands to interact with a developer’s local copy of the Trello web repository, developing a frontend with React and CSS3 to display the results, and developing an algorithmic calculation to properly compute a single numeric value to represent a file’s potential impact.
Became an Accessibility Champion for Atlassian, which gave me access to more resources so that I could better advocate for accessibility in all of our development as well as empower and educate my teammates in better accessibility practices.
Successfully identified, led, and heavily contributed code to modernize a critical part of the Trello stack. This effort rewrote a legacy part of the Trello stack into the more modern React/LESS/TypeScript stack, greatly simplifying the code and ensuring that it would be much more maintainable and extensible in the future. This project was designed as foundation to a critical, larger scale project (that I was also able to work on) in order to enable that future project to move more quickly and safely within this part of the stack. This effort, in addition, added more unit tests to ensure that this code area was better covered by automated unit tests, to help mitigate any potential regression issues with test coverage.
Drove and devised a process to train frontend release engineers to enter the product’s release rotation, and then utilized the training process myself to become a release engineer in the rotation when I identified a need for greater support in that area.
Technologies Used
React
LESS
CSS3
Jest unit tests
TypeScript
JavaScript
Storybook
GraphQL
Figma
Jira
iRobot Corporation
Principal Web Developer, Digital Business
Job Responsibilities
I am currently a technical lead responsible for architecture and implementation of new functionality for iRobot’s system of websites worldwide. In addition, I am a developer working on iRobot’s frontend atomic design system, implementing new functionality and modifying existing functionality, using HTML, SASS, Flexbox, and JavaScript. My work also extends to our personalization and A/B testing platform, Interaction Studio, which is a CSS and JavaScript based platform. I have performed extensive revisions to our Interaction Studio sitemap, which collects attributes to be used by the platform, automatically populates catalog information for various products for use in personalization and testing efforts, and establishes content zones for use by Interaction Studio to inject content as outlined in campaigns set up in the platform.
Awards
Finance Team Excellence award winner (2021) - Organizational excellence awards are peer-nominated and given once per quarter to a handful of teams and individuals in the organization for outstanding work. This award was for my team’s work in iRobot’s direct to consumer work. I did a great deal of work on this project to shore up the infrastructure to ensure that the sites could handle the increased load, as well as developed several renderings to enhance customer experience.
Supply Chain Team Excellence award winner (2021) - This is the same type of organizational award as the above. This award was given to my team for our work on the brand refresh effort, the most recent website look and feel refresh. My primary contribution on this project was CSS/SASS/JavaScript work across both the Interaction Studio and Sitecore platforms. In addition, I developed a complex horizontal accordion rendering to display product cards to users to maximize the content shown in a relatively small space, among other renderings.
Chairman’s Award individual nominee (2021) - The Chairman’s Award is a prestigious peer-nominated award that is given to roughly a dozen people and teams per year out of iRobot’s 1000+ employees. I was individually nominated in 2021 for a Chairman’s Award.
Key Accomplishments
Created a proof of concept for the migration of a static website using GatsbyJS (React), GraphQL, SASS, Flexbox, and HTML with Contentful headless CMS integration.
Designed, advocated for, and implemented an internal CDN for CSS and JavaScript assets along with its own dedicated automated build pipeline.
Architected and implemented functionality to automatically share pricing and promotional information for products between two different platforms, greatly decreasing content work and overhead to update frequently-changing pricing and promotional information.
Designed and implemented a robust multi-site search and typeahead API used in the header search functionality across multiple iRobot web platforms,
Heavily contributed code to and launched two separate website redesigns, both resulting in complete changes in content structure and flow.
Technologies Used
HTML, CSS, SASS, JavaScript in Interaction Studio and atomic design system development (PatternLab, Storybook)
Gulp for CSS/JavaScript asset compilation
Bamboo and Octopus for automated build pipelines
Git version control
C#.NET, WebAPI, and Sitecore CMS in Sitecore website architecture and feature building and maintenance
Primacy
Senior Technology Developer
Job Responsibilities
I was responsible for the architecture and design of client deliverables, as well as for technical lead responsibilities. These technical lead responsibilities included client-facing communications, architecture, development and testing of features, QA team support, and oversight of other developers. I was also the technical lead for a $6M website overhaul for a major healthcare system in the midwest, which spanned two separate feature-rich websites with complex CMS and code architecture. I was responsible for pull request reviews (for coding standards, code cleanliness, consistent content author experience, and consistent code architecture and implementation), developer work allocation and balancing against a timeline and budget, requirements refinement, client and developer support during co-development, and Agile process ownership.
Technologies Used
Used TDS for serialization and version control of Sitecore items in conjunction with Glass.Mapper to allow for strongly-typed code within the controllers within Sitecore projects.
Git version control for some projects, and Subversion version control for others.
Extensive use of C#, WebAPI, JavaScript, and Sitecore CMS and Sitefinity CMS to develop responsive web solutions for clients.
Jenkins automated build system
Sample Project Portfolio
A couple of sample projects that I worked on while at Primacy can be found on my Projects page under "Past Professional Projects".
WEX Health (formerly Evolution 1, Inc.)
Software Development Engineer
Job Responsibilities
I was responsible for the development of new features on both the BennyCentral and 1Cloud platforms, as well as enhancements and maintenance of existing features in a Scrum environment. This included integration between the two systems, involving development and maintenance of a suite of web services and file-based batch processing systems. Additionally, I was responsible for the design of database changes/additions for new features, as well as for maintaining, modifying, and adding (as needed) stored procedures to the database instances for data access.
Technologies Used
Extensive use of C#, JavaScript, JQuery, and T-SQL
Maintained and added to extensive unit testing suite, using NUnit, Moq, and C#
SVN source control for one project, and Team Foundation Server version control
Cigna Healthcare
OpenSpan/.NET Developer
Job Responsibilities
I was responsible for the modification and development of automations chiefly requested and used by the claims department at Cigna. I was also responsible for modifications to compiled code as required, including upgrading applications to use newer versions of application integrations.
Technologies Used
C# Script
SVN version control
Eversource (formerly Northeast Utilities)
Business Application Systems Developer
Job Responsibilities
I was responsible for the full software development lifecycle, from gathering requirements from clients to testing and deployment of the final product. Additional responsibilities included providing second level technical support for the extensive Lotus Notes application portfolio (approximately 300 applications) that was owned by Eversource at the time.
Technologies Used
Lotus Notes platform
LotusScript language and @Formula language
Education
University of New Haven
Graduated May 2012
B.S., Computer Science
Minor, Criminal Justice
Certificate, Computer Forensic Investigation