Skip to the main content

What it really means to be a technologist at an agency


by John Fisher, Associate Partner, Director of Technology

Technologists at agencies face a unique—and very exciting—set of challenges. At corporations or start-ups, we tend to build within established platforms and languages (often developing single products over months and years). But at an agency, we’re building everything from banners to enterprise CMSs to mobile apps for a multitude of brands (while also developing single products for some of our most long-standing partners, which is equally as gratifying). Some clients arrive with their own technology stack, others look to us to build their ecosystems from the ground up. Whatever the “present state,” we have to make sure we’re using technology most effectively to achieve each brand’s goals with an eye to longevity and scale.

All this means that, as we move towards delivery and launch, we have to be armed with a nimble and future-focused approach that accounts for every clients’ needs. At VSA, we’ve found that success is a process, rather than a single event, and the following guidelines enable us to achieve success with a range of technical opportunities.

1. Strategy homework comes first. As a team, we always strive to determine high-level needs before we begin production. This seems simple enough. Functionality should evolve from a clear understanding of brand and user needs.

But arriving at the right answers requires going deep—not only into end-user needs, but into our clients’ brand and business objectives. We make sure we have a clear understanding of our client’s strategic imperative by identifying the target audience, determining success metrics, and mapping functional needs. Only then to do we begin creating the digital experience.

2. A prototype is worth a thousand static comps. At VSA, we prototype as soon as possible, and automate to reduce repetition in our process. We embrace a “show me” approach to features and functionality, rather than spending a lot of time trying to concept through static visuals.

The more complex and innovative the ask, the less sense it makes to delay having a working prototype of our concept. Approvals of sophisticated functionality in static design is always a disaster.  After all, development needs don’t grow linearly with a project—they compound. So we need to put code to editor from the start of our projects and have concepts in hand to test on devices and in browsers.

3. Keep it simple and lean. Creating something easy to understand is rarely easy to implement. If we determine a feature or solution does not solve any specific brand or user needs, it’s out, full stop. Once we can reach a working minimum viable product, we can apply the best possible experience though interactions, animation, and savvy design.

There’s a law of diminishing returns once a dev team grows beyond three people, and the same can be said of a much larger team with multiple disciplines. The larger the project, the more sense it makes to break up teams to focus on specific parts of an application. Adopting a microservices approach to creating interdisciplinary teams helps us avoid creating a monolithic build team that collapses under its own weight of inputs.

4. Don’t reinvent the wheel. We want to focus on the experience and the creative, so knowing where to leverage existing services, platforms, and frameworks gives us the benefits of best-in-class solutions while providing us the flexibility to focus on custom and often complicated user and business needs.

Knowing what platforms and frameworks to lean on, and what cloud services to take advantage of give us considerable leverage. To that end, we’ve automated the creation of new server instances on AWS, and handle deployments through Beanstalk or Jenkins. We’re using Optimizely for A/B testing and personalization, Python and Django for web applications, Pardot and Eloqua for CRM, Google Tag Manager, Analytics and Mixpanel to track results.

This means our developers are simplifying their process, gaining time to focus on net-new opportunities.

At VSA, we remain flexible, evolve and optimize. It’s what our clients expect. And it’s what’s required to create digital solutions that effectively combine technology with design, strategy, UX and content.


As Associate Partner, Director of Technology, John Fisher oversees VSA’s capabilities in web and mobile technology, while managing our creative engineering team. John brings his background in agency and start-up environments to guide technology into all disciplines, from inception to deployment, while delivering compelling and innovative digital solutions. He has led technical executions for Kraft, Starbucks, Coinstar, Berkadia, and Unilever. His goal is to ensure his team remains on the cutting edge of the technology landscape, increasing efficiency and delivering exceptional products, all the while feeling empowered and enabled to think ahead of the curve.