03 // Develop

Technical Leadership

Custom software is an investment, and we subscribe to the idea of strong opinions, loosely held. Whether we’re hands off after phase one or maintaining a product long-term, we’ll never stop lobbying to build the right thing the right way.

What We Do

Wayfinding

Our software development experience goes beyond a tally of years: With a core value of education, Envy Labs had a hand in training a generation of developers through Code School. We can knock out issues, stories, epics, and tickets (or whatever term your product management system uses) with the best of ‘em, but our clients value us as an outside domain expert and temporary technical leader.

Ben Stankich working through front-end code on a pair of monitors at his desk

Requirements

Decisions form software, and we’re at our best as participants in that process. Starting with a problem statement and set of goals, we'll translate the scope into actionable direction.

Throughout, our experience can help point out where tweaks could impact budget, quality, and timeline.

API Integration & Development

Preparing data for analysis, visualization, or exploration is the starting point for most software projects. We’re set to number-crunch a stream, combine disparate sources, and serve information to any number of applications in your ecosystem.

Current Favorites

The ideal tech stack varies widely by project requirements. Here’s living, non-exhaustive list of our favorite frameworks and libraries:

Server-Side

  • Elixir + Phoenix
  • Ruby on Rails
  • Node

Client-Side

  • React
  • Ember
  • D3

Database

  • PostgreSQL
  • GraphQL + Apollo
Members of the Envy Labs development team coding at their desks

Performant Applications

Page speed has a well-documented effect on everything from conversion rates to search engine ranking. We’ll make architecture and technology decisions that favor optimization and the perception of speed, even if the application sports a heavy payload of data, media, or users.

Deployment

Staging environments, redundancy, conditional resources — every project carries unique server and deployment requirements. Whether we’re acting as administrators or working alongside internal IT staff, we’ll discuss topics like release notes, maintenance windows, and backups.

We’re also pretty good at finding our way around AWS, a specialization unto itself.

Ben Stankich working in a text editor on his laptop
Jacob Swanner checking the rendered output of his code

Maintenance & Technical Debt

A little bit of preventative maintenance goes a long way with a custom software investment, mostly in the form of upgrades to the underlying frameworks and libraries.

Long-term projects all face the same enemy: technical debt. Left unchecked, competing feature decisions and years of cruft build up, forcing even minor fixes to take an unreasonable amount of time (and make things worse). Thwarting a debt increase comes down to:

  • Evaluation (and reevaluation) of anything configurable
  • Checking existing technology choices for relevance
  • Keeping an updated set of expectations and standards
  • Knowing when to pump the brakes to revisit key goals

Distilled, maintenance isn’t just knocking out tickets — our developers assess changes to the system with the same scrutiny as the discovery phase and initial implementation.

“I’m delighted to have worked with Envy Labs on [Try Git]. It is the richest online Git and GitHub learning experience in existence.”

Matthew McCullough
GitHub Training (Former)