Staff Software Engineer, Automation

Engineering · Full-time · Global

Job description

Slack is looking for Software Engineers in Test to join the Quality Engineering organization! Slack is a fast growing enterprise software company that makes work life simpler, more pleasant and more productive. We operate at tremendous scale with systems that process millions of user events per second. We are iterating on these large scale systems rapidly as we continue to evolve how work happens.

As a member of Quality Engineering, you will participate in the design and the development of innovative testing solutions that are specific to engineering challenges at Slack. You will build frameworks, tools, tests, and observability that covers the full depth and breadth of Slack’s client and server-side functionality. This includes the Slack desktop and web clients, our iOS and Android clients, our external service integrations, the Slack platform API, and supporting backend infrastructure.

Our product development team iterates rapidly and deploys new code several times each day. Our software engineers in test design and implement test suites that are fast, thorough, reliable, and maintainable. The Slack Quality organization’s vision is to Delight our customers by enabling teams to deliver enterprise quality at speed with an automation-forward approach.

What you will be doing:

  • Lead strategy and design sessions for test tooling and infrastructure
  • Define automation strategies for development teams to implement when testing new features and enhancements
  • Empower development and quality teams to do their best work by bringing clarity to projects with complex testing considerations
  • Develop intuitive processes by which engineering teams can intuitively integrate their test suites into our testing pipelines
  • Collaborate with the Customer Support team to identify common trends in issues that are reported and help transform quality engineering into a proactive organization
  • Lead investigations into production issues by partnering with the Operations team to conduct and oversee root cause analyses
  • Design and architect observability systems that provide the quality organization insight into the health of the pipelines in our continuous integration system
  • Lead discussions and own decision making for meaningful metrics to track in our observability model
  • Define auditing tools and processes that our quality organization will use to make decisions about the quality of features our teams ship
  • Define and develop accountability for test development best practices across testing layers (unit, integration, end-to-end, etc.)

What you should have:

  • 7+ years of automation experience
  • Motivated by helping other engineers and engineering teams succeed. You have a proven track record of implementing systems that make the working lives of those around you more pleasant and productive
  • Crafted solutions for complex problems in testing that have greatly improved test development velocity, test reliability, test execution, or test observability
  • Expert at building, testing, and debugging web/mobile applications and have a portfolio of projects that demonstrates this expertise
  • Know how the web works. You are comfortable with networking protocols and standards. You appreciate an intuitive, well-documented API
  • Expert in at least one programming language (a plus for Hack, PHP, Javascript, Ruby, or Python)
  • Extensive experience designing and developing automated test frameworks that are adaptable, observable, maintainable, and stable
  • Well-versed in architecting continuous integration systems. You have designed and implemented pre-production environments that enable test driven development
  • Write test code like production code. You develop standards for documentation and coding best practices. You hold yourself and others accountable and do it with grace and kindness
  • Flexible and know how to optimally deploy software on distributed teams. You have a track record of influencing and improving the quality of software that distributed development teams deliver
  • Deep understanding of networking as it pertains to web application development and debugging. You could run a seminar on a tool like Chrome DevTools, Post, Charles proxy, etc.
  • Write readable, extensible, maintainable, and testable code whether it’s a simple test or an automation framework that hundreds of engineers will apply every day
  • A strong communicator. You have an uncanny ability to explain complex technical concepts to folks with less technical backgrounds
  • Deep knowledge in one or more modern testing frameworks like Cypress, RSpec, Selenium, etc.
  • BS degree in Computer Science or equivalent. Masters and above is a plus. Individuals with non-traditional backgrounds are also encouraged to apply

View in org chart

Open roles at Slack

Two candidates
The Org
helps you hire
great candidates
It takes less than ten minutes to set up your company page.
It’s free to use - try it out today.