About Birchbox: We started Birchbox in 2010 to redefine the way consumers discover and shop for beauty and grooming. The company quickly grew from an exciting idea to a business that has materially shaped the beauty industry: we've activated an enormous group of underserved, untapped consumers, awakening their relationship with beauty by making the experience relevant, easy and fun. Our innovation isn't the simple concept of delivering a box of samples - it's understanding that although not everyone is passionate about beauty and grooming, everyone still deserves to have a great experience finding, trying and buying it.
Birchbox operates in six countries, reaching more than 2.5 million active customers with a portfolio of 500 best-in-class prestige brand partners. We have retail locations within select Walgreens stores across the US as well as a flagship Birchbox store in Paris.
About the role: Birchbox is seeking an ambitious and experienced Data Engineer to help evolve our data systems as we continue to grow. In addition to fueling our recommender system and beauty box optimization toolkit, our data services enable and support decision-making company-wide. This software engineering role will be very impactful as we build out the next generation of our data services, and will have considerable leeway in leading architectural direction.
You'll be joining a lean Agile team supporting Data Infrastructure and Machine Learning. Primary upcoming initiatives include refreshing our algorithmically-driven subscription box optimization system, iterating on our e-commerce recommender services, retooling our event data collection systems, and supporting the next generation of our A/B testing machinery. Each of these projects will involve some DevOps work and some amount of data extraction and loading, but will also involve substantial backend software development.
As a Birchbox Engineer, you will:
- Build fault-tolerant, scalable batch and real-time distributed data processing systems to drive our personalization and BI systems.
- Design and configure hosted and cloud-based data and machine learning infrastructure (Hadoop, Spark, AWS EMR).
- Implement fault tolerant data integrations between internal systems and with third-party APIs as needed, supporting product and marketing needs.
- Build and support internal A/B testing tooling for the engineering and product teams.
- Support the Business Intelligence team as needed, advising them on data provenance and reliability. Design and build components of internal tooling used by our subscription operations team (Python, MILP, CP).
- Tool our systems for observability, including logging, metrics monitoring, and dashboarding (Datadog).
- Contribute to maintaining an open, empowering, responsible, and proactive engineering culture.
Ideally, we're seeking somebody with:
- 3+ years of professional software experience (or equivalent).
- Bachelor's degree in Computer Science or related field (or equivalent experience).
- Expert in Python, and comfortable with at least two other languages (e.g., Java, Ruby, PHP).
- Strong command line skills for working within virtualized machines (bash, tmux / screen, vim / emacs).
- Experience orchestrating data infrastructure (e.g., Pig/Hive, HBase, Spark, S3, Kafka/Kinesis, Redshift).
- Experience with modern workflow management systems (e.g., Airflow, Luigi, Azkaban).
- Advanced SQL skills (MySQL and/or Postgres), familiarity with data warehousing and dimensional modeling.
- Familiarity with non-relational data stores and/or indexes (e.g., MongoDB, HDFS, Cassandra, Solr, ElasticSearch).
- Experience working on teams using distributed version control (e.g., Git, Mercurial).
- Insatiable curiosity, a commitment to precision and excellence, and a desire to work collaboratively within and between teams. Bonus Points We'll definitely want to have a conversation if:
You're committed to enabling DevOps culture with development, deployment, and observability / monitoring tooling. You've read more IETF RFCs than you'd admit in polite company. You're opinionated about when and how to leverage different algorithms, data manipulation techniques, and frameworks. You're passionate about idiomatic code style, readability, and when to use which software design patterns.
At Birchbox you will:
- Take your ideas to the next level right away. We experiment, iterate, learn, and repeat.
- Build things people love. Our goal is to surprise and delight our customers as much as possible. Great design, simple user experience, and access to data to make smart decision help us to achieve it.
- Collaborate with purpose. You’ll work in small groups with other talented thinkers and figure out how to make Birchbox’s software even better.
- Work with people who care. We’re a group of talented professionals who pride ourselves on what we do. We’re smart, innovative, energetic, and lots of fun.
Tech @ Birchbox:
The technology team at Birchbox spans software engineering, technical operations, product, and business intelligence. We are responsible for developing the company's customer-facing sites in six countries, managing hosted and cloud infrastructure, and closely supporting other teams (logistics, marketing, et al.) in our 230+-person global company. Our service-oriented platform is built on a wide variety of open-source technologies: AWS, Apache Mesos, Marathon, and Docker; Salt, Jenkins, and Shippable for automation and CI/CD; Apache Spark and Hadoop ecosystem tools; Ruby on Rails, Java, Python, and PHP backing our React-based customer sites; Datadog, Kibana, and PagerDuty for observability and alerting. We rely on engineers to be self-motivated and quickly follow through on tasks without requiring close supervision. In return, engineers are given substantial freedom to use their own initiative and make their own decisions.
Our challenges include:
- Evolving our software and systems architecture to support a rapidly growing customer base across multiple countries and languages.
- Designing and implementing the best user experience for our customers. We strive to revolutionize online retail.
- Using data, complex algorithms, and statistics, to personalize the Birchbox experience for our customers, both offline and online.
As an engineer at Birchbox you:
- Are self-sufficient: you've learned how to navigate projects you're unfamiliar with.
- Exercise wisdom: you're able to identify opportunities to apply lessons learned, and do so with confidence and care.
- Take humble initiative: you're always on the lookout to improve technology and processes, but understand how and when to best present this to your peers.
- Cultivate passion: not only do you continue to improve your craft, you share your discoveries with your colleagues.
- Are given empowering responsibility: you're trusted with tools and processes to implement your vision, and you create this chance for others.
- Document kindly: your code and processes have documentation that will help those who come after you, regardless of skill level.
- Collaborate eagerly: you understand that helping others isn't a distraction, but a vital part of what we do.