Uncubed
           

Mobile Developer

Segment, Vancouver

See jobs at Segment


Overview

At Segment, we believe companies should be able to send their data wherever they want, whenever they want, with no fuss. Unfortunately, most product managers, analysts, and marketers spend too much time searching for the data they need, while engineers are stuck integrating the tools they want to use. Segment standardizes and streamlines data infrastructure with a single platform that collects, unifies, and sends data to hundreds of business tools with the flip of a switch. That way, our customers can focus on building amazing products and personalized messages for their customers, letting us take care of the complexities of processing their customer data reliably at scale. We’re in the running to power the entire customer data ecosystem, and we need the best people to take the market.

As a developer at Segment on the Library Sources team, you will work alongside other skilled developers, product leads, front-end developers, and success engineers to craft high-performance and highly operable libraries that our rapidly growing user base will use at scale. You will empower Segment’s mission of data synthesis, building trust with our customers in our 100% reliable, astonishingly flexible, and immensely powerful data delivery.

Who we are:

The Segment Library Sources team builds software that brings 1.9 billion events every day into Segment from millions of sources so that we can make new types of data accessible to mid-market and enterprise businesses through the Segment platform. The data will be delivered to every downstream destination - including hundreds of streaming destinations and 4,400 customer data warehouses - so our customers can deliver amazing digital customer experiences.

What we do:

  • We build libraries in a variety of languages and paradigms to help our customers ship data.
  • We believe that teammates have each others’ backs - we build for operability and stand behind the libraries we write.
  • Supporting each others’ success with our drive and focus is our highest responsibility. 
  • We believe in using the best tool for the job. That’s why our 11 libraries are written in their native idioms for easy integration with customers’ code.
  • We use our creativity and imagination to reliably handle high data volumes and velocity
  • We are passionate about growth and we love conferences. (One of our engineers spoke in 4 different countries last year!)
  • We love open source: https://open.segment.com - our libraries are already open source! This role has lots of opportunity to work on open source projects.
  • We’re proud of the code we write, but we’re not dogmatic about methodologies or techniques. We believe building the "right thing" is more important than building things "right", as long as we build it “better” each time we touch it.

Who we are looking for:

  • You want to be able to imagine yourself in the shoes of your customers and teammates.
  • You have a strong and practiced learning reflex and you see challenges as a chance to grow.
  • You want to see customers getting value out of the software you wrote to solve their problems.
  • You are happy to help other developers learn from you, and you hope they challenge you to learn new things as well.
  • You're proud of the code you write, but you're also pragmatic about design vs iteration: you know when it is time to refactor, and when it's time to ship.
  • You're focused, driven and can get challenging projects across the finish line - but you know that sometimes it’s okay for deep work to take its time.
  • You take software quality practices personally. You write meaningful tests and understand the value of observability and operability and what they mean in different contexts.
  • Bonus points if you’ve worked with multiple languages or platforms such as Android or on browser-based apps.

 

Projects We Work On:

  • We're revising our client side libraries for increased performance and resilience
  • We are building new testing structures that allow us better visibility into the quality of our work
  • We’re building new, more actionable, adaptive, and insightful visibility systems so we can easily spot opportunities for improvement
  • We’re always looking at emerging technologies that could save us time or unlock new capabilities to pass on to our colleagues or customers, like React Native
  • Our work is inherently Open Source, we’re working to merge our work with the community so that we can support it and integrate our work with it

Requirements:

  • You’ve written Objective C and Swift for multiple generations of iOS devices and supported it in production
  • You have written code that uses concurrency and supported it in production
  • You have written a library for someone else to use
  • Apps you have written depend on API services that you or your colleagues wrote and operate.
  • You can tell us about architectural patterns of high-scale applications (e.g., well-designed APIs, high volume data pipelines, efficient algorithms.)
  • You have an interest in constantly learning how the team can build better, more scalable, and more sustainable solutions.

Segment is an equal opportunity employer. We believe that everyone should receive equal consideration and treatment. Recruitment, hiring, placements, transfers, and promotions will happen based on qualifications for the positions being filled regardless of sex, gender identity, race, religious creed, color, national origin ancestry, age, physical disability, pregnancy, mental disability, or medical condition.

Here are some topics that interest our team. You might still be a fit even if none of these apply to you, but if you have even one or two of these we particularly want to get to know you.

  • Testing
    • Property based testing
    • Fuzzing
    • Unit, Integration, and End-to-End testing
  • Distributed systems:
    • How clients fit into distributed systems
    • How they can fail, and how to mitigate those failures.
    • What Consistency, Availability, and Partition-tolerance are (and how to choose among them)
    • Why consensus is impossible to guarantee in asynchronous environments
    • Tracing and debugging distributed systems
    • Data Lineage and Fault Injection
  • Software construction
    • SOLID principles
    • Scientific method in software development
    • Event Sourcing
    • Domain Driven Design
  • Project Management
    • The Principles of Product Development Flow, with a strong emphasis on Shortest-Weighted-Job first
    • Kanban or Agile workflows

About Segment

About us Segment is a fast-growing startup building a platform for collecting customer data. We provide a single API to track customer data across multiple devices and channels, and send it to third-party tools, internal systems, or a SQL database with the flip of a switch. Segment eliminates the need to write code to integrate new tools, which saves time and removes dependencies across teammates. By consolidating tracking to one API, Segment sends consistent, complete data to every tool and database where companies need to use it. Segment is small, so everyone has a huge impact. With just a handful of people, we’re already processing billions of API calls every month. We love open sourcing our code and writing down everything we’ve learned. If you want to make an impact, and are excited about how data can change organizations, we want you.

Want to learn more about Segment? Visit Segment's website.