Software Engineer, Backend (Metrics Platform) 3+ YOE
Snap Inc. is a camera company. We believe that reinventing the camera represents our greatest opportunity to improve the way people live and communicate. Our products empower people to express themselves, live in the moment, learn about the world, and have fun together.
We’re looking for a Software Engineer to join the Data Analytics Platform organization! As a member of the Metrics Platform team, you will ensure that Snapchat’s metrics are well-defined, centrally managed, and accessible to everyone, from engineers to executives to data scientists. Working from our Los Angeles or Mountain View, CA offices, you’ll collaborate with the experimentation, business intelligence, data science, and software engineering teams to create an ambitiously novel approach to metric definition & computation.
What you'll do:
Snap employees need access to accurate and reliable metrics -- accessed through a variety of tools, and from many data sources -- every single day, to ensure our business operates at peak performance. You will build frameworks, APIs, and tools that democratize access to this data. Some examples include:
Creating an intuitive API, SDK/platform, and domain specific language (DSL) for metric definers and consumers
A powerful and flexible computational backend to power metric-based services and data tools
Supporting a variety of data storage and retrieval technologies
Knowledge, Skills and Abilities:
A commitment to writing understandable and maintainable code
Demonstrated skills in connecting directly with internal customers, understanding their pain points, and bridging their needs to product requirements
Experience with helping elevate technical quality of output for senior engineers on team, with deep involvement in code and design reviews
Interest in building new products, platforms, and abstractions around existing legacy systems
Empathetic and inclusive, with commitment to respecting diversity in all forms
Ability to code 50%+ of the time on an ongoing basis
Minimum Qualifications:
Bachelor's degree or higher in a science, math, or engineering field, or equivalent experience
Programming experience with one or more JVM languages (Java, Scala, Kotlin, Clojure, etc.) for 3+ years, with knowledge of best practices and pitfalls
Experience extending and/or implementing large-scale data processing, streaming, or batch platforms (Spark / Spark SQL, Samza, Storm, Kafka, YARN, Dataflow, Flink, Hive, Pig, etc.) for 1+ years
Use of Google Cloud Platform (e.g. Dataproc, Dataflow, BigQuery, GCS), Amazon Web Services (e.g. EMR, S3), or Azure (e.g. Blob, Databricks) for 1+ years
Preferred Qualifications:
Skills in cloud resource optimization, performance tuning, and profiling
People management or technical lead/architect experience
Strong interest in data space and familiarity with how data flows via data/compute engines and data pipelines
Knowledge of parsing, abstract syntax trees, and code generation
4-10+ years of experience in software engineering
At Snap, we believe that having a team of diverse backgrounds and voices working together will enable us to create innovative products that improve the way people live and communicate. Snap is proud to be an equal opportunity employer, and committed to providing employment opportunities regardless of race, religious creed, color, national origin, ancestry, physical disability, mental disability, medical condition, genetic information, marital status, sex, gender, gender identity, gender expression, pregnancy, childbirth and breastfeeding, age, sexual orientation, military or veteran status, or any other protected classification, in accordance with applicable federal, state, and local laws. EOE, including disability/vets. If you have a disability or special need that requires accommodation, please don’t be shy and contact us at [email protected].