Sr Software Engineer, Platform
Vancouver, BC /
Treasure Data began by offering data warehousing and processing services; since then we've moved further up the value chain with our Customer Data Platform application (CDP), which is seeing a lot of traction with customers new and old. This growth has prompted a greater focus on consistent improvement in our development and operational practices, and we’re looking to add new experienced members to our team who can play an essential role in maturing the company’s approach to engineering excellence.
We're looking for an experienced Sr Software Engineer who is excited to work within our Platform operating group. This group is made up of 5 teams that span a wide area including streaming ingestion of customer data, columnar data storage and optimization, OSS query engines like Presto and Hive, and the multi-tenant fair scheduling that underpins it all. This combination of systems encompasses the background processing and execution of all customer actions within the Treasure Data platform.
As part of our larger Platform group, you will also be regularly involved in the production operation of our systems. Being able to combine customer and operational experience will provide many opportunities to directly impact the direction of our product development and key platform improvements.
Success in this role requires a commitment to collaboration and maintaining an open work environment, and comfort doing so in a globally distributed team. Engineers at Treasure Data appreciate and value working alongside their team members, both inside their immediate team and across the entire organization. They recognize that a key aspect of a responsible and open engineering culture is being comfortable with asking for help, and always being willing to go the extra mile to help each other and the customer.
Staff Engineers in particular are adept at scoping and staging multi-quarter work into clear, well-defined milestones to ensure that their delivery, along with the team’s, is gradual and decreases risk over time. Inside their teams, they foster and drive a culture of active learning and are known for smooth, drama-free launches. They regularly coordinate and collaborate with all essential stakeholders, valuing resilient and operable systems for all those involved.
Things you will do
Make the tricky customer-focused choices between maintaining and improving existing systems vs the design and implementation of new systems to improve the resilience and operability of the Treasure Data platform.
-Write testable, maintainable, observable code with an eye to enabling iterative improvement and experimentation.
-Take initiative to identify and solve the most important problems, proactively working across team and department lines.
-Work with Product, Customer Success, Sales Engineering, and Platform teams to improve the customer's day-to-day experience.
-Work with Platform and SRE team members to improve the delivery of tested systems to production.
-Participate in on-call rotation with other members of the team
-With team leadership and the Product Management team, help define and drive the product roadmap
Your background and skills should include
-A BS in Computer Science or a related field, or equivalent work experience.
-A minimum of 5 years of professional experience as a Software Engineer.
-Demonstrated ability working collaboratively in cross-functional teams and a strong track record for delivery as part of a team
-Industry experience running services in public cloud IaaS providers, specifically around computing, storage, relational databases, and load balancers to achieve service redundancy and robustness
-Experience with MySQL, PostgreSQL, Hadoop, Presto, or other open-source databases and distributed database engines
-Experience with one or more JVM languages (e.g. Java, Kotlin, Scala.)A solid understanding of computer science (data structures, algorithms, etc.)Experience designing and developing APIs, middleware, and/or backends to support data-heavy analysis -systems
-Articulate and personable with strong spoken and written language abilities
-Able to work with a distributed team
-Ability to handle stressful situations with rigor and composure
-Experience mentoring and collaborating directly with other team members
-Strong self-motivation, and sensitivity about on-time delivery
We would be thrilled if you
-Have had experience building and managing data-centric services that support a large user base
-Have had experience with Ruby, and operating Ruby systems in production
-Have strong UNIX systems programming background which should include experience with operating systems, multithreading, distributed computing, and related challenges
-Are familiar with security best practices
-Have hands-on experience with infrastructure as code (Terraform, Chef).Take equal pride in optimizing as well as building systems and are able to share a success story around the former
-Own or are actively contributing to any open-source project.