AFAR’s engineering team is looking for a Full-stack Software Engineer to join our mission of rebuilding our technology platform – from the ground up! You will be part of a full-stack engineering team to completely redefined our digital capabilities using the MERN stack and other open-source technologies. We are a team of folks who are passionate about engineering quality and scalability, robust design and implementation, as well as great user experience. You will be interacting with product managers and designers to understand and refine detailed requirements, designing and implementing elegant technical solutions following best practices, defining API contracts with UI engineers, as well as contributing to technical discussions leveraging your expertise in all areas of the engineering spectrum.

We give our engineers an environment in which they can contribute from day one while also providing opportunities for learning and growth. You’ll learn how our entire stack works – from data ingestion, storage, analysis and search, and building exciting user experiences which will directly impact our users.

What We’re Looking For:

As a full-stack JavaScript engineer, your duties will involve heavy server-side API development and integration efforts, as well as client-side development. The engineering team is one of the key strategic pillars of AFAR, with a major contribution to the company’s technology capabilities, user growth, and innovation. The right individual will be self-driven, positive, and able to amplify the talents of others.

Job Responsibilities:

  • Build great products that help provide values to travelers and enhance their experience on our digital platform
  • Work closely with PM, UX, and data analysts to create great user experience
  • Write clean and efficient code using modern frameworks, including React/Redux and Node/Express
  • Write code that scales on the back end
  • Use data and analytics to improve the product and customer experience
  • Solve end-to-end problems
  • Test your code (e.g. writing unit tests and API contract tests)
  • Adopt agile methodologies to continuously release and deploy iterations of our applications

Job Requirements:

  • BS (or greater) in Computer Science
  • 3+ years of professional experience building products and services
  • Strong understanding of full stack JavaScript development
  • Solid architecture skills
  • Understanding of standard web technologies (HTTP, JSON, etc.)
  • Experience with implementing APIs with REST or graphQL
  • Experience with implementing JWT or other token-based authentication standards
  • Experience with unit testing code and using testing frameworks (i.e. Jest, Cucumber, etc.)
  • Media experience strongly preferred
  • Highly motivated, highly collaborative individual
  • Passion to develop elegant and cutting-edge solutions for real-world small business problems
  • Strong desire to learn and to grow
  • Nice to haves: Experience with Data Mining, Machine Learning

What We Use:

  • Node, Express, React, Redux
  • SASS
  • MongoDB, Redis, Elasticsearch
  • graphQL
  • Git
  • Docker + Kubernetes
  • Continuous Integration & Continuous Deployment (CI/CD)

What We Offer You:

  • A constant stream of new things to learn. We’re always expanding into new areas, bringing in open source projects and contributing back, and exploring new technologies.
  • A set of incredibly talented and dedicated peers, all the way from engineering to product management and customer support.
  • Breadth and depth. You want to work on an area that spans backend and frontend? We have that. You want to go deep into optimizing how we recommend content based on interest relevancy? We have that too, and more.
  • Growth and mentorship. We believe in growing engineers through ownership and leadership opportunities. We also believe mentors help both sides of the equation.
  • Occasional travel to our office in San Francisco or New York City (depending on where you are based!). We also have annual company offsite events where we get together to celebrate for our successes and recharge!
  • Annual stipend for personal travels.
  • A stable, collaborative and supportive work environment. We work in an open environment, have a shared kitchen and huddle for a quick standup every morning.
  • We don’t expect people to work 12-hour days. We want you to have a successful time outside of work too. Want to work from home sometimes? No problem. We trust our colleagues to be responsible with their time and commitment and believe that balance helps cultivate a great environment.