Skip to content

Instantly share code, notes, and snippets.

@scottpersinger
Last active February 2, 2017 17:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save scottpersinger/31f91413e909ce2fb73aeb5b8f772a2f to your computer and use it in GitHub Desktop.
Save scottpersinger/31f91413e909ce2fb73aeb5b8f772a2f to your computer and use it in GitHub Desktop.
cs team job posting

##Server-side Developer with the Core Services team##

This posting is for a server-side developer position with the Heroku Core Services engineering team. Our team is responsible for the master control logic inside Heroku - the business logic that drives our platform. When anyone accesses the Heroku API (including users of the Heroku web dashboard which itself uses the API) they are talking to our systems. We are looking for a dedicated software engineer to add to this critical team.

We welcome candidates from any geography within UTC-10 to UTC-5 time zones (roughly the Americas plus Hawaii). Heroku headquarters are in San Francisco, but more than half of our team works remotely.

Most of our services are written in Ruby, but we are increasingly writing new services in Go. That said, we aren’t necessarily looking for Ruby or Go experts - just really good developers. We manage a lot of complex business logic inside a service that operates at high scale. We operate all of our services in production and everyone participates in the on-call rotation. Our team does a mix of new feature development and sustaining engineering. We also collaborate heavily with many other engineering and product teams on their projects.

Heroku has a relatively flat engineering structure. We are composed of a large number of small, largely autonomous teams (kinda like that new microservices architecture you may be working on!). This means we strongly value the ability of individuals to prioritize their work and connect it to our overall engineering goals. It also means we rely on lots of peer-to-peer communication for collaboration rather than leaning on hierarchy and process.

The key attributes for being a strong contributor on our team include:

  • A commitment to engineering excellence. We care about our code, our interfaces and abstractions, our tests, our continuous delivery pipelines, and our metrics and monitoring. We strive for the highest level of software engineering discipline.
  • Desire and ability to learn new things - architecture, technology, languages and features are constantly evolving. It’s a good sign if you regularly seek to learn new tools or techniques.
  • Good ability to troubleshoot complex systems - you’re not afraid to dive in, read the logs, ask for help, follow the stack traces wherever they go…
  • Good collaboration skills - a desire and ability to collaborate well both with other engineers and non-engineering stakeholders.
  • An interest in distributed systems and application scaling.
  • Ability to work and prioritize in an ambiguous environment. We have many simultaneous projects, teams, interrupts and priorities. The ability to understand our key drivers and use those to help prioritize your efforts is critical.

###Relevant Experience###

  • Experience writing server-side code and APIs.
  • Experience working with complex application logic.
  • Experience with relational databases.

###What's a typical day look like###

  • Team standup
  • Working on a story off the tracker board...
  • Setup an hour pairing with a collegue (doesn't happen all the time)
  • 30 mins reviewing a PR sent by another team
  • Uh oh - team is responding to an incident - drop into another chat room to help out
  • Incident is resolved - back to the story

Some days there are design meetings, or meetings to talk about projects with other teams. Some days are heads down coding - some days get eaten up by lots of interrupts.

###What we offer###

  • A chance to work with a great group of people on a large set of interesting problems.
  • Opportunity and support to learn more and grow as a developer.
  • Opportunity and support to grow your skills outside the office (speaking, conferences, etc…)
  • Chances to work and collaborate with engineers on other Heroku teams who are tackling other hard and interesting problems.
  • A commitment to equal pay (https://www.salesforce.com/campaign/equality/equal-pay/)
  • A culture that values diverse backgrounds and viewpoints (this is something we are still working on improving!)
  • Great benefits.
  • Commitment to working remotely. Many of our teams are more than 50% remote and we strive to make the “remote worker” experience as good as being in the office.
@mikelikesbikes
Copy link

Typo: collegue => colleague

@spofdamon
Copy link

some days get eaten up by lots of interrupts

As much as I appreciate the frankness, maybe something like "some days are spent entirely in production ops land" is less scary. I don't want to color that work as being a time sink, it's an important part of what we do.

@mwoods79
Copy link

mwoods79 commented Feb 1, 2017

A commitment to equal pay (https://www.salesforce.com/campaign/equality/equal-pay/)

There is no mention of Salesforce anywhere in job posting. If I didn't know Heroku was owned by Salesforce I would think this was linking another companies pledge.

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