Backend Software Engineer

Backend Software Engineer Job Description Template

Our company is looking for a Backend Software Engineer to join our team.

Responsibilities:

  • Create 3rd party developer APIs and tools;
  • A strategic engineer who constantly thinks of process and operational improvements;
  • Analyze/debug performance issues across distributed services;
  • Improve our infrastructure for the build, test, deploy and monitor engineering lifecycle;
  • Follow test-driven development practices;
  • Understand and apply software design concepts like security, availability, and scalability;
  • Experienced at designing clean, usable REST APIs;
  • Design efficient SQL queries;
  • Design and implement core backend microservices in Go;
  • Being a strong problem-solver with good communication and collaboration skills;
  • Participate in daily standups and weekly all-hands meetings;
  • Being flexible, a self-starter, and a fast-learner;
  • Deploying new features on our core product and iterate on improvements;
  • Collaborate with business analysts, users, and UI designers to jointly develop complex, mission critical applications;
  • Passionate about building high-availability, performant, and scalable systems.

Requirements:

  • Fast learner, ability to quickly pick up new technologies and rapidly assess pros/cons;
  • Hands-on experience with containerization (eg, Docker) and orchestration (eg, Kubernetes) is a plus;
  • Demonstrated ability to make practical design/implementation tradeoff decisions;
  • Experience integrating with Amazon MWS (Marketplace Web Service);
  • You have a Bachelor’s Degree in computer science or a related field;
  • You are comfortable learning new technologies and systems;
  • Understanding monitoring and alerting platforms is a plus;
  • Experience collaborating via Git;
  • Knowledge of Elastic Search;
  • Experience with Postgres and Redis;
  • You have strong interpersonal and communication skills with a bias towards action;
  • Experience with Redshift, writing performant analytical queries;
  • Interest or basic experience in the following areas: machine learning, recommendation systems, large-scale data mining is valued;
  • Expertise in one or more of the following languages: Python, Javascript, Go, Rust, or Java;
  • You have experience working with relational databases, Postgres preferred.