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.