Uncubed
           

Software Engineer (Backend)

Birchbox, New York

Birchbox is changing the way consumers discover and purchase beauty, and lifestyle products.


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 Software Engineer (Backend) to help contribute to a new systems architecture initiative.

As a backend engineer, you’ll collaborate with other backend engineers, frontend engineers, internal users, data scientists and product managers to continuously improve our platform services and tools. You’ll strive to continuously improve the experience of customers and engineers by building robust, maintainable, and evolvable technology that’s straightforward to understand and monitor. Software Engineers at Birchbox are always encouraged to be pragmatic and autonomous, taking considerable ownership of the software they create.

Our backend systems comprise a core e-commerce application, a Rails API tier, a Python pipeline that automates our assortment and allocation process, and several Java services coordinating warehousing, shipping, inventory tracking, and financial reporting. We're planning a major greenfield rearchitecture project for 2019, including a revamped e-commerce backbone and subscription service, and are seeking ambitious engineers to join our team!

Responsibilities

As a Birchbox Engineer, you will:

  • Develop new features within our existing backend software with a commitment to DRY code, observability, and evolvability.
  • Design and maintain comprehensive unit and integration test coverage, to ensure site stability and development confidence.
  • Maintain and develop third-party integrations, including documentation and testing.
  • Keep up with industry trends and best practices, and continually suggest improved strategies and initiatives.
  • Monitor the performance and usability of backend systems, ensuring that SLOs are met and faults remain uncommon.
  • Contribute to maintaining an open, empowering, responsible, and proactive engineering culture.
  • Participate in (and lead!) engineering lunch-and-learns and engineering design discussions.

About You

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).
  • Excellent coding skills in at least two of Java, Python, Ruby, or PHP.
  • Experience using modern web development frameworks (e.g., Ruby on Rails, Spring, Django).
  • Advanced SQL skills (MySQL and/or Postgres), with experience in ORM and data modeling.
  • Strong Unix / Linux command line skills for both software development and service monitoring.
  • Interest in agile processes (scrum / kanban), data-driven development, reliability, and responsible experimentation.
  • Familiarity with Docker and AWS, and have used them to streamline the lifecycle of software development projects.
  • Insatiable curiosity, a commitment to precision and excellence, and a drive to work collaboratively within and between teams.

Bonus Points

We’ll definitely want to have a conversation if:

  • You’re familiar with non-relational data stores and/or indexes (e.g., MongoDB, HDFS, Cassandra, Solr, ElasticSearch).
  • You practice principles of Extreme Programming or other paradigms for reliable iterative software development.
  • 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 committed to enabling DevOps culture with development, deployment, and observability / monitoring tooling.
  • You’ve worked with containerization, virtualization and cloud computing in a production environment and are familiar with pitfalls and best practices.
  • You have experience with microservices or SOA: designing, creating, deploying, testing and monitoring.
  • You’re passionate about idiomatic code style, readability, and when to use which software design patterns.
  • You’re interested in FOSS, and having continued involvement within the broader engineering community.

 

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, and Python 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.

About Birchbox

Birchbox is changing the way consumers discover and purchase beauty, and lifestyle products.

Birchbox

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