The Backend team and Core Services group build and manage our primary control plane, orchestration systems, computation layer (Trino, Hive), streaming ingestion, and data lake.
We are looking for engineers and team leads with a growth mindset who want to work both inside each of these areas, but also across them to deliver the best experience possible for our customers.
Team leads at Treasure Data prioritize solving people and communication challenges before technical problems, but are still active technical contributors. They are eager to build effective and dynamic teams that iteratively and rapidly deliver resilient systems. This will require working across both product and engineering teams on complex problems where solutions require in-depth analysis and evaluation of multiple competing factors, identifying the best trade-offs for successful delivery.
Success in this role requires a passion for helping others and making their lives better. You do this by working with people to make team collaboration more effective, and by helping them simplify complex systems to make them understandable. You are able to effectively communicate decisions, ideas, designs, and operation of systems and services in a clear and concise manner but more importantly, derive a lot of satisfaction from teaching and enabling others to do this as well.
As a Team Lead within the Backend team you will be reporting to an Engineering Manager.
- Manage 2 to 3 team members, setting clear expectations, providing constructive feedback, and handling difficult management situations.
- Hire, train, and coach new team members to grow our delivery capabilities.
- Work with Product and other engineering teams to focus the team on high customer value projects.
- Actively coach the people you work with to grow each member’s communication, collaboration, and self-management capabilities.
- Establish and encourage networks of communication. A Team Lead should always look for opportunities for engineers to directly communicate and self-organize, within and across teams.
- Work with technical leads and engineers directly to break down the roadmap and product requirements for delivery.
- Spend approximately 50% of your time as an individual contributor: writing high quality, testable code for our storage and ingest subsystems, and assisting with production operations as part of our full team on-call rotation.
- Pairing with other engineers to help overcome challenges.
- Assisting with system design activities, bringing an experienced perspective to discussions to make the right tradeoffs.
- Help surface challenges and areas for improvement, assisting in driving our product roadmap.
- A minimum of 5 years relevant working experience, operating systems in production.
- Strong Software Engineering experience, with an ability to work in multiple programming languages (we use JVM languages including Kotlin and Java, as well as Ruby.)
- Experience with Distributed Systems and operating them as they scale.
- Experience operating services running in the cloud (AWS primarily) or virtualized API-driven platforms.
- Articulate and personable with strong spoken and written English language abilities.
- Demonstrate the ability to work independently and collaboratively as part of a specialized team.
- Ability to slow down and communicate clearly and effectively across language barriers.
Nice to haves
These aren’t required, but be sure to mention them in your application if you have them.
- Are a student of complex systems theory and how to build resilient and adaptive systems and teams.
- Have experience working in highly distributed teams, across large time zone differences.
- Have a deep understanding of the common failure modes in distributed systems.
- Have read and enjoyed books like “The Manager’s Path”, “Nonviolent Communication”, “High Output Management”, “A Philosophy of Software Design”, and “Systems Performance.”