Staff Software Engineer, Database Infrastructure
To get the best candidate experience, please consider applying for a maximum of 3 roles within 12 months to ensure you are not duplicating efforts.
Job CategorySoftware Engineering
We’re Salesforce, the Customer Company, inspiring the future of business with AI+ Data +CRM. Leading with our core values, we help companies across every industry blaze new trails and connect with customers in a whole new way. And, we empower you to be a Trailblazer, too — driving your performance and career growth, charting new paths, and improving the state of the world. If you believe in business as the greatest platform for change and in companies doing well and doing good – you’ve come to the right place.
Slack's Datastores team builds and operates the database platform powering Slack. We write software to manage thousands of stateful hosts, providing several petabytes of online database capacity. We are building one of the fastest-growing database platforms in the world. Our MySQL databases run in Vitess. You can read more about our migration to Vitess at: Scaling Datastores at Slack with Vitess
Slack enables people all over the world to communicate and collaborate together. Teams of all scales — from the world’s largest public companies to the smallest of startups — use Slack to get work done, so we take performance and reliability very seriously. A taste of our scale:
The average user spends over 10 hours connected and 2.5 hours active in Slack every single day
1.5 billion+ messages are sent per month, half of those outside the United States
Every day we see over 10M+ daily active users, over a billion web requests, and 10s of billions of database queries.
For millions of people, Slack is the primary communication tool they use at work all day long. They expect it to be exceptionally reliable and fast, all the time.
Infrastructure at Slack
We operate at tremendous scale with systems that process millions of events per second. Teams in our group maintain and build the lower levels of our stack, including:
Data Stores and Caches
Asynchronous background job processing
We know we’ve done our job correctly when none of our users think about us. We don’t typically ship new user-facing features, but rather ensure our systems are incredibly performant, highly available, reliable, and scalable. In other words, Slack just works seamlessly.
Slack's API and web backend is built on PHP/Hack, our backend services are written in Java and Go, and we use Vitess as our storage engine. Our architecture is constantly evolving to handle millions more users. You can read about how we scaled our datastores with Vitess, how we respond to incidents, and much more on our blog.
If you were to join Slack, here the types of things you would do over the course of a typical week:
Operate and enhance our large, highly-available database infrastructure, utilizing technologies such as MySQL and Vitess.
Develop tools to enable self-service and self-managing capabilities of our database infrastructure so that other teams can operate full-stack while rapidly building new features for our customers.
Collaborate with engineering teams on their database storage needs, and advise them throughout the development lifecycle.
Write code to capture database performance, and create tools and dashboards to provide actionable insight into that data.
Participate in our on-call rotation and collaborate with our operations team to triage and resolve production issues.
You may be a fit for this role if you:
Have been working in data storage, core infrastructure, or distributed system-owning teams with increasing responsibilities for 7-10+ years.
Have professional experience using Go, PHP/Hacklang, Python, Ruby, or Java.
Write code that can be easily understood by others with an eye towards clarity and maintainability. Collaborate with other teams to integrate new features of your platform or adopt self-service features.
Operated at least one distributed system, at scale and in a team environment. Some examples include: a relational database like MySQL/Postgres, or systems like Kafka, Cassandra, or ElasticSearch.
Deployed server software on Linux, and then operated it at scale. You’ve debugged its problems, and analyzed and optimized its performance.
Have experience operating cloud infrastructure, especially AWS.
Are familiar with deployment automation/configuration management tools like Chef, Ansible, Puppet, or Terraform.
Are a very strong communicator. You’re excited to explain complex technical concepts and share your knowledge with different audiences.
Are curious how things work; when they break you are eager and able to help fix them.
Infrastructure is a diverse and inclusive group that treats their colleagues exceptionally well. We are happy to help you learn what you need to know; we encourage and support each other’s growth and thus it’s not expected that you would have expertise across all of these areas.
Come join us!
If you require assistance due to a disability applying for open positions please submit a request via this Accommodations Request Form.
At Salesforce we believe that the business of business is to improve the state of our world. Each of us has a responsibility to drive Equality in our communities and workplaces. We are committed to creating a workforce that reflects society through inclusive programs and initiatives such as equal pay, employee resource groups, inclusive benefits, and more. Learn more about Equality at www.equality.com and explore our company benefits at www.salesforcebenefits.com.
Salesforce is an Equal Employment Opportunity and Affirmative Action Employer. Qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender perception or identity, national origin, age, marital status, protected veteran status, or disability status. Salesforce does not accept unsolicited headhunter and agency resumes. Salesforce will not pay any third-party agency or company that does not have a signed agreement with Salesforce.
Salesforce welcomes all.