Skip to content

Instantly share code, notes, and snippets.

@sstrudeau
Last active March 7, 2016 18:52
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save sstrudeau/f563dc72739e9e047de5 to your computer and use it in GitHub Desktop.
Save sstrudeau/f563dc72739e9e047de5 to your computer and use it in GitHub Desktop.
AT Media product team overview, stack & tools

At AT Media we publish ApartmentTherapy.com and TheKitchn.com. This is our current engineering stack & toolchain as of 10/21/2015.

WE ARE HIRING.

Who We Are

Our engineering & design teams currently consist of 9 (incredibly talented, friendly & collaborative) engineers (3 senior, 3 junior), web designer, product manager and CTO/short stop. We're currently hiring a second product manager and designer.

Our team (and much of the company) works remotely. Slack has quickly become our critical communication channel. We make heavy use of Slack integrations including our own bot to manage code deployment & staging environments.

How We're Organized

We've reached a critical growth phase as a team. We have just split our single team into separate self-sufficient squads with independent missions, heavily inspired by the Spotify model. Our current open positions will fill out these squads and our hiring plan into 2016 includes creating 1-2 more squads.

Each squad has its own mission, related initiative pipeline (for future planning purposes) and issue tracker (currently trying LeanKit Kanban boards) for tracking and managing ongoing work. We currently work in two week sprints.

We're currently experimenting with models to more deeply integrate product and design work into our workflow and plan to run a pilot design sprint in the near future.

How We Work - Engineering

We use git and GitHub for our projects. We use GitHub's pull requests for code review. We're currently tracking stories in Pivotal Tracker.

We practice continuous integration. We run our automated tests through our build system (Jenkins) and have invested heavily in tools to make deploying new code ordinary and routine. We deploy code every day.

We currently use ScoutApp and New Relic's suite of tools for systems and application monitoring. We catch exceptions with Airbrake, monitor front-end performance with SpeedCurve and custom metrics with Librato.

We deploy to physical hardware, finding the cost-to-performance ratio worth the tradeoffs, though we have experience operating VPS deployments and we are currently evaluating PaaS alternatives. We currently use puppet for configuration management.

Stack & Tools

Our two primary applications (a custom CMS and custom Community stack) are built with Ruby on Rails (4.1) making heavy use of varnish, postgres, redis, unicorn and elasticsearch. We also run a custom image service on Sinatra and two small, non-critical services built with go.

Our application architecture is evolving into a back-end that primarily serves as an API for rich client-side code built with React.js and the Flux architecture.

Open Source Code

We recently extracted and published a couple of gems we use in our color-based image search, which gives a little peek behind these scenes of some of the back-end code we write:

Our "Joel Test" Answers

  • Do you use source control? Yes. git & GitHub.

  • Can you make a build in one step? Yes. This is automated with Jenkins. Deploys to staging & production environments are also a single command.

  • Do you make daily builds? Yes, this is continuous and automated.

  • Do you have a bug database? Yes, we track bugs in Pivotal Tracker.

  • Do you fix bugs before writing new code? Yes, in most cases.

  • Do you have an up-to-date schedule? Sort of. We engage in an agile (small a) process to track & estimate current & near term work & priorities.

  • Do you have a spec? Usually and we're getting better at better intitiative and story definition.

  • Do programmers have quiet working conditions? Yes. We all work from home.

  • Do you use the best tools money can buy? Yes.

  • Do you have testers? No.

  • Do new candidates write code during their interview? Yes.

  • Do you do hallway usability testing? Yes, though our "hallways" are on Slack.

WE ARE HIRING.

@jitendravyas
Copy link

Looks very good role and company to work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment