
Software Engineer, Search Data Infrastructure
Salesforce
full-time
Posted on:
Location Type: Remote
Location: Washington • United States
Visit company websiteExplore more
Salary
💰 $117,200 - $223,900 per year
About the role
- Design and develop scalable, resilient offline indexing pipelines that process and transform data for Slack's search infrastructure
- Work with product engineering to conceptualize and build new features for our large (and growing!) user base
- Collaborate with team members to ensure high availability and reliability of a distributed search system
- You’ll produce high-quality results by contributing heavily to team projects that have a significant impact on the business
- You’ll actively own team features or systems and define their long-term health, while also improving the health of surrounding systems
- Deploy, configure, test, troubleshoot, maintain, upgrade Solr clusters and environments
- Plan resources and continuously optimize the infrastructure and configuration of our Solr clusters to maintain cluster health and search performance
- You'll assist our skilled support team and operations team in triaging and resolving production issues
- You'll collaborate with other engineers and deeply review code
- You’ll improve engineering standards, tooling, and processes
Requirements
- 3+ years of experience
- Have worked extensively with distributed data processing frameworks such as Spark, Hadoop, Map/Reduce, or EMR
- Have worked with Solr, ElasticSearch, Lucene, or other search technology
- Have had exposure to infrastructure/ops tools and frameworks such as Terraform, Chef, and Kubernetes
- You are proficient with functional or imperative programming languages — e.g., PHP, Python, Ruby, Go, C, or Java
- Track record of developing high-availability, performant, and scalable systems accessing large volumes of data over multiple clusters across different geographical regions
- Have experience planning, implementing, and deploying software migrations and upgrades in a production environment
- You can contribute to technical architecture discussions and help drive technical decisions within your team
- You write understandable, testable code with an eye towards maintainability
- You are a strong communicator
- possess 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 required
Benefits
- time off programs
- medical
- dental
- vision
- mental health support
- paid parental leave
- life and disability insurance
- 401(k)
- employee stock purchasing program
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard Skills & Tools
distributed data processingSolrElasticSearchLuceneSparkHadoopMap/ReduceTerraformChefKubernetes
Soft Skills
strong communicatorcollaborationproblem-solvingteamworktechnical architecture discussionscode reviewownershipimproving engineering standardsmaintainabilityhigh-quality results
Certifications
Bachelor's degree in Computer ScienceBachelor's degree in Engineeringequivalent trainingfellowshipwork experience