We are looking to hire someone who relishes designing and building systems and services that can manage large data sets (billions and beyond) with a high transaction volume that are scaling constantly to meet customer demand. The ideal person takes pride in building coherent and usable interfaces making it easy to use and operate on data. This role would allow you to take on on challenging problems, choose the right tools for the job and build elegant, scalable solutions. Your work as an experienced Java engineer will empower over 9,000 businesses around the world to provide great customer service, and will support the other senior engineers on your team.
We leverage Solr for several tools at Help Scout. Knowledge or even expertise in Solr is desired. However, as our data needs grow we look beyond search and towards Big Data solutions. We are seeking someone who can join the team and help us solve all kinds of data processing and analysis problems.
Currently at Help Scout
- We leverage AWS, RabbitMQ, Aurora MySQL, PostgreSQL, MongoDB, Apache Solr
- We also use Slack, Jira, Trello, Github, Jenkins
About the role
- You will be the fourth member of our search and data services team, collaborating on the next generation of our large-scale search and reporting service and associated infrastructure. On a daily basis, you'll work on adding new functionality, improving existing code, and API endpoints while maintaining focus on testing and documentation.
- We currently index millions of search and report events every day and at peak hours our API handles tens of thousands of transactions a minute. You will play a key role in evolving our services to handle 10X that.
- You will own some of our large, upcoming challenges and collaborate with your team on all of these: building a streaming data reports pipeline, reworking how we index data and retrieve data to scale while controlling infrastructure costs, and significantly improving our search relevancy and customer-facing reporting capabilities.
- Our engineering team is over 40 people, more than half the company. As part of the search and data team you will be involved in the decisions made regarding implementation, testing, and backlog prioritization. You will collaborate with the rest of the engineering team through code, reviews. You will participate in making architectural discussion.
- We work in using iterative software approach, communicate mostly via Slack and are committed to remote, agile development. When you are ready, you’ll create and send a pull request with tests and tag your team for review - using video and screen-sharing as needed. Your development builds can be easily tested on environments that closely match production. You’ll work autonomously for the most part and we trust you to get work done when/where you can be productive.
- Your team performs engineering support when a question can’t be answered by our in-house support team and passes triage. We’ll get you up-to-speed with engineering support so you can help our customers and improve the product along the way.
- Everything is secondary to the customer experience. We expect you to have a keen sense of how your code will impact the experience in terms of performance, security and usability.
- You'll be working with product people that challenge you to get better every day. The founders are technical and committed to creating a magical experience for customers. You'll deploy work that moves the needle for businesses around the world.
- To ensure sufficient overlap with your teammates, we're looking for candidates that live in UTC+3 (Eastern Europe) and UTC-7 (as far as San Francisco) time zones.
- You became an engineer because you like writing software that helps people.
- You bring a level of Java-specific expertise that will help us craft an outstanding experience for customers and fellow developers.
- You have experience building information systems and data processing platforms.
- You are skilled in the modern tooling that is used in data processing and retrieval domain. Big Data, Streaming Pipelines, Data Grids and Data Lakes are not just buzzwords to you.
- You are excited about JVM ecosystem. We also like Kotlin here.
- You are a skilled and passionate engineer who is friendly, collaborative, and supportive.
- You value personal growth and constructive feedback.
- You demonstrate an empathetic, organized and collaborative communication style with fellow engineers and non-engineering stakeholders.
- You will consider how your work impacts others, and demonstrate thoughtful, flexible approaches to mentoring and guiding technical decisions.
- Your code is not only a pleasure for customers to use, but for other engineers to read and understand easily.