Senior Test Infrastructure Engineer
Slack is looking for an engineer to develop our test infrastructure and continuous integration systems.
Slack is the fastest growing enterprise software company ever. We operate at tremendous scale with systems that process millions of events per second. But we're also iterating on those systems rapidly as we continue to evolve how work happens. We average several large feature releases every week, with over a hundred individual deployments to our major systems every workday.
To support this pace we are building tooling to make the development and release of new code safe, reliable and enjoyable for our developers. We need stable infrastructure that allows us to run test suites against every layer of our stack, including browser-based UI and integration tests.
The Internal Tools team works closely with other teams in engineering, product development and customer experience to craft humane systems that help everyone get things done. We are a small team making a large impact; every improvement we ship has a corresponding impact on the velocity of the company as a whole. We have a strong commitment to quality, and understand that we're now working at scale where a one-in-a-thousand edge case is going to impact one of our colleagues every week. We are an inclusive team with deep empathy for our colleagues.
Our tools are written using a combination of PHP/Hack, Go, MySQL and Redis. These are reliable tools that the wider Slack engineering team knows well and trusts. Where possible we build on top of existing systems including Github, JIRA and Jenkins.
This is a senior engineering position based in San Francisco.
If you were to join Slack here are the kinds of things you would do over the course of a typical week:
- Work with engineering teams to integrate their test suites into our continuous integration pipeline
- Iterate on the test frameworks we use to make them more efficient
- Automate a manual step in the running of a test suite
- Whiteboard a new feature in our test reporting tools, then add it
- Build new tooling to help the team scale and build for the future
- Respond to an outage preventing new code deployments
- Help an engineer from another team debug an issue in their test suite
Here are some things we consider critical to being a good engineer on the Internal Tools team:
- You are motivated by helping other engineers succeed. When things break — and they will — you are eager and able to help fix things. You like thinking of ways to improve efficiency or bring delight to the people you work with.
- You’ve been building web applications professionally for a while and can point to things you’ve worked on. You know how the web works. You know HTTP and TCP/IP and what a good API looks like.
- You understand the fundamentals of git.
- You have experience with functional or imperative programming languages -- e.g., PHP, Python, Ruby, Go, C, or Java (used without frameworks). You possess strong computer science fundamentals: data structures, algorithms, programming languages, distributed systems, and information retrieval.
- You write understandable, testable code with an eye towards maintainability.
- You are a strong communicator. Explaining complex technical concepts to designers, support, and other engineers is no problem for you.
- You also know that the internet is a scary place and understand security concepts deeply and can put them into action to protect us and our users.
- You are someone that others enjoy working with due to your technical competence and positive attitude.
- Bachelor's degree in Computer Science, Engineering or related field, or equivalent training, fellowship, or work experience.
Meet Some of Slack's Employees
Sr. Customer Success Manager
Gina works with Slack’s clients at a high level to ensure that they’re getting the most value from the product and having a positive experience overall.
Back to top