Topic: Software Development

Tackling Tech Debt with the Frontend Guild

I love working at Constant Contact. But like any engineering group — especially at a mid-sized, 20-year old startup-gone-public — technology can easily lag over time, drift between teams, and generally become a hassle. This time last year I wanted to do something about it, specifically for frontend tooling since that’s what I work with every […]

Circuit Breakers and Microservices Architecture

By now it’s pretty well-known that a Microservices architecture has many advantages. These include low coupling, re-usability, business agility and distributed cloud ready applications. But at the same time it makes the architecture brittle because each user action results invokes multiple services. It replaces the in-memory calls of a monolithic architecture with remote calls across the […]

Life at Constant Contact: An Intern’s Perspective

Finding a career opportunity is always challenging when you’re in the midst of your education. Fortunately, Constant Contact provides an exciting and inspiring internship program for students looking to get experience outside the classroom. This internship has given me valuable industry and workplace exposure. An Intern’s First Impressions I’m a Junior at Rochester Institute of […]

Scrum Ceremonies

Scrum is intended to be an iterative and incremental approach to improving the software development process. There are 3 key scrum ceremonies designed to help facilitate improvements to your process: The “Daily Stand-up” Sprint Planning Sprint Retrospective We first presented these ideas to a room full of Constant Contact developers who engage in Scrum practices […]

Three Amigos to the Rescue

Note: This is the 3rd installment in the Scrum Hacks series. What is Three Amigos? Three Amigos is a collaboration technique used as part of the scrum process to define: what to do how to determine that it’s been done correctly It requires the collaboration of the three primary perspectives in a development team: Business […]

Scrum Hacks – Team Culture

The underlying theme of this series on Scrum is to provide tips and suggestions to improve the efficiency of your Scrum processes. While many of the suggestions that you’ll see are tangible and  process related, there is a less tangible but equally effective element to Scrum that can definitely improve the overall experience, sprint velocity […]

Scrum Hacks

In early 2015 Constant Contact transitioned from Kanban to Scrum.  Each development team received three full days of training.  Some things that sounded pretty straightforward ended up being hard when we put them into practice!  I remember trying to groom our first item and spending a frustrating hour agonizing over whether it was a 3 […]

Parallelizing JUnit Test Execution

This is a summary of my experiences in parallelizing JUnit functional tests that speeds up test execution time (by at least 30% for us), in a Jenkins CI pipeline. Traditional testing methodology We have traditionally run our JUnit functional tests through a centralized test infrastructure shared by all the development teams. A single Jenkins server […]

Rotational Programs for New Grad Software Engineers

Companies want to hire new graduates and new grads want jobs – it should be simple to match graduates with jobs, right? If only! The truth is that not all opportunities are the same, and it’s important for both parties to find the right match. While some companies hire new graduates into entry level engineering positions, […]

TMNT Secrets of the MutationObserver

I recently read an article about the lack of real world examples for using the MutationObserver and it got me thinking about where might CTCT take advantage of this nifty API? Oh yeah, BTW, the MutationObserver gives you hooks into when DOM nodes are added, modified, or removed. The following monologue chronicles my thoughts as […]