Senior Software Engineer - Visibility

About the Team

The Visibility team at Slack develops platforms and tools which provide insights into the availability, performance and reliability of Slack production services. We develop configuration management tools for distributed applications and infrastructure, maintain datasets for business and system analytics, and build interfaces and backend systems to answer questions and infer behavioral patterns about our users and systems. Our toolset is varied. We work with open-source technologies like Elastic Stack and Prometheus, cloud providers such as AWS and GCE, and write software using a combination of Go, JavaScript, Python, and PHP/Hack.

As part of the Visibility team you will work closely with other teams in engineering, product development and customer experience to provide valuable insights to drive decisions and ensure a positive user experience for our Slack customers. You will also help build distributed services with the ability to self-heal and scale up or down to meet demand. We are an inclusive team with deep empathy for our colleagues and customers.

You can see the team at work here at Monitorama 2017.

About the Role

This is a senior engineering position based in San Francisco.

Your responsibilities may include:

  • Collaborating with an engineering team to write a client library to collect traces and metrics from customer-facing systems.
  • Whiteboarding and soliciting feedback from peers for a next-generation monitoring system that will scale to meet growth — and then making it happen.
  • Prototyping tooling interfaces or building new features for engineering use cases.
  • Improving auto-remediation in our telemetry infrastructure to avoid common failures.
  • Teaching engineers how to use our tools to introspect their systems.
  • Participating in the Visibility on-call rotation, triaging and addressing production issues as they arise.

You might be a good fit if:

  • You are a strong communicator. Explaining complex technical concepts to designers, support, and other engineers is no problem for you.
  • You enjoy helping onboard new team members, mentoring, and teaching others.
  • You model best practices for unit tests, code review, design documentation, debugging, and troubleshooting.
  • You have curiosity about how things work.
  • You are motivated by helping others 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 your coworkers.
  • 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.



  • Firm grasp of computer science fundamentals: data structures, algorithms, programming languages, distributed systems, and information retrieval.
  • Bachelor's degree in Computer Science, Engineering or related field, or equivalent training, fellowship, or work experience.


  • Experience with functional or imperative programming languages -- e.g., PHP, Python, Ruby, Go, C, or Java (used without frameworks).
  • Experience deploying, operating and debugging server software on Linux at scale.

Bonus Points:

  • Solid competency with ELK, Prometheus, and/or Icinga.
  • Experience using PHP without a framework.
  • Experience using deployment automation/configuration management, especially Chef.
  • Experience with AWS and other virtualized environments.
  • Prior experience with or knowledge of large scale, high volume systems and data.

Back to top