Software Engineer, Core Infrastructure
Remote, United States
Build the infrastructure powering work.
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 6 million simultaneously connected 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. Our team maintains and builds the lower levels of our stack, including:
- Edge services
- Data Stores and Caches
- Real-time messaging
- 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, and our backend services are written in Java and Go. Our data infrastructure is built on Kafka, Hadoop, Hive, Presto, Spark, and MySQL/Vitess. Our Chief Architect, Keith Adams, spoke about our architecture at QCon in 2016. Bing Wei and Michael Demmer, Backend Engineers on our team spoke about Flannel (our homegrown application aware cache) at QCon in 2017 and Vitess/MySQL at Percona Live in 2017 respectively.
We are a small team making a large impact. We rapidly iterate and work closely with other teams in engineering to ensure we build resilient systems that can scale. We have a strong commitment to quality and understand that simplicity and reliability should be primary aspects of the systems that we build. We are ambitious, independent, and pragmatic.
If you were to join Slack, here the types of things you would do over the course of a typical week:
- Test out a patch or new build of HHVM
- Upgrade the Hack language and HHVM runtime
- Develop shared components in our Hacklang monolith
- Make improvements to the test harness, linter, and other developer tools that impact all Hack developers at Slack
- Contribute to the open source Hack/HHVM ecosystem, including projects open sourced by Slack like hack-sql-fake as well as those published by others
- Collaborate with peers across Engineering to triage bugs and troubleshoot complex production issues across the stack, especially with respect to performance.
- Write, review, or provide feedback on a technical design proposal.
You may be a fit for this role if you:
- Have a Bachelor's degree in Computer Science, Engineering or related field, or equivalent training, fellowship, or work experience.
- Possess strong Computer Science fundamentals: data structures, algorithms, programming languages, operating system, distributed systems, and information retrieval.
- Have been building large scale systems professionally for 10-15+ years and can point to things you’ve worked on.
- Have experience building, profiling, and debugging programming languages
- Have experience in static analysis and static type systems
- Have experience working on build systems, deployment tools, and other forms of developer tooling
- Can jump into situations with few guardrails and make things better.
- Write code that can be easily understood by others with an eye towards clarity and maintainability.
- 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 and when things break you are eager and able to help fix them.
Infrastructure is a diverse and inclusive team 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!
Slack is registered as an employer in many, but not all, states. If you are not located in or able to work from a state where Slack is registered, you will not be eligible for employment.Visa sponsorship may not be available in certain remote locations.
Visa sponsorship is not available for candidates living outside the country of this position.
Explore more DevOps and Cloud career opportunities
- Open Lead DevOps Engineer Jobs
- Open Staff, Product Manager - Global Infrastructure Jobs
- Open Data Platform Engineer Jobs
- Open Manager of DevOps & Engineering Infrastructure Jobs
- Open Senior Automation Engineer Jobs
- Open IT DevOps Engineer Jobs
- Open Site Reliability Engineer II Jobs
- Open DevOps Infrastructure Engineer Jobs
- Open Reliability Engineer Jobs
- Open Senior Software Engineer - Site Reliability - Toronto Hub Jobs
- Open Principal Cloud Architect Jobs
- Open Staff DevOps Engineer Jobs
- Open Senior DevOps Engineer - Pleasanton Hub Jobs
- Open Senior Software Engineer, DevOps Jobs
- Open Sr. Site Reliability Engineer Jobs
- Open DevOps Engineer - Raleigh Hub Jobs
- Open Sr Software engineer (Infrastructure) Jobs
- Open Senior Security Automation Engineer Jobs
- Open Senior Quality Automation Engineer Jobs
- Open Software Development Engineer, AWS Security Jobs
- Open QA Automation Engineer - Workforce Engagement Management Jobs
- Open Senior Devops Engineer Jobs
- Open Cloud DevOps Systems Engineer Jobs
- Open Senior Software Development Engineer, AWS Security Jobs
- Open Lead Site Reliability Engineer Jobs
- Open MySQL-related jobs
- Open REST-related jobs
- Open CloudFormation-related jobs
- Open Prometheus-related jobs
- Open S3-related jobs
- Open Jira-related jobs
- Open Elasticsearch-related jobs
- Open Virtualization-related jobs
- Open High availability-related jobs
- Open Reliability engineering-related jobs
- Open Golang-related jobs
- Open EC2-related jobs
- Open VMware-related jobs
- Open Redis-related jobs
- Open MongoDB-related jobs
- Open JS-related jobs
- Open Node-related jobs
- Open Gitlab-related jobs
- Open Grafana-related jobs
- Open PostgreSQL-related jobs
- Open Perl-related jobs
- Open Jenkins-related jobs
- Open Web applications-related jobs
- Open Spark-related jobs
- Open Vault-related jobs