Server-Side Developer with the Core Services Team - Heroku
Location: 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.
Heroku operates the world’s largest PaaS cloud, continuously delivering millions of apps with a high volume of deploys per day. Our vision is for developers to focus on their applications, and leave operations to us. Heroku is a fast-growing business unit of Salesforce.com. Our work environment is collaborative, flexible and fun. We’re focused on technical and operational excellence and customer success.
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.
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.
- Experience writing server-side code and APIs as well as Ruby are a MUST.
- 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.
Salesforce, the Customer Success Platform and world's #1 CRM, empowers companies to connect with their customers in a whole new way. The company was founded on three disruptive ideas: a new technology model in cloud computing, a pay-as-you-go business model, and a new integrated corporate philanthropy model. These founding principles have taken our company to great heights, including being named one of Forbes’s “World’s Most Innovative Company” six years in a row and one of Fortune’s “100 Best Companies to Work For” nine years in a row. We are the fastest growing of the top 10 enterprise software companies, and this level of growth equals incredible opportunities to grow a career at Salesforce. Together, with our whole Ohana (Hawaiian for "family") made up of our employees, customers, partners and communities, we are working to improve the state of the world.
Apply for Server-Side Developer - Heroku You will be taken to careers.force.com