Back-End Software Engineer: Job Description Template

Back-End Software Engineer are responsible for designing, building out and maintaining the server-side of web applications.

Looking for a job posting template for a Back-End Software Engineer that can help you attract top talent? We’ve got you covered. Use this free sample job description template to assist you in finding the most qualified and experienced Back-End Software Engineer to support your company’s needs—and make the hiring process easier on you, too. Just post this template to our site and make necessary edits to highlight your company’s specific requirements and offerings.



Back-End Software Engineer Summary

We’re in search of a Back-End Software Engineer that specializes in server-side components. In this role, you’ll primarily work in C++, Java, Scala and Ruby and will bring a depth of knowledge on basic algorithms and data structures. As a Back-End Software Engineer, on any given day you might be architecting new features for our customers, refactoring existing code to be more scalable, and seeing changes through to completion in a live environment.

Back-End Software Engineer Responsibilities

  • Build robust and scalable software in C++, Ruby, Scala and/or Java.
  • Design and create services and system architecture for your projects, and contribute and provide feedback to other team members.
  • Help improve our code quality through writing unit tests, automation and performing code reviews.
  • Collaborate with multidisciplinary team of Back-End Software Engineers, Project Managers and System Administrators.
  • Participate in brainstorming sessions and contribute ideas to our technology, algorithms and products.
  • Work with the product and design teams to understand end-user requirements, formulate use cases, and then translate that into a pragmatic and effective technical solution.
  • Dive into difficult problems and successfully deliver results on schedule.

Back-End Software Engineer Requirements

  • 2-7 years of recent hands-on coding and software design.
  • Bachelor degree or more in Computer Science or a related field.
  • A track record of projects completed on time – you are a flawless executor, not a procrastinator.
  • You find satisfaction in a job well done and want to solve head-scratching challenges.
  • Experience with all phases of the software development life cycle, best practices and Agile Software Development.
  • Solid OOP and software design knowledge – you should know how to create software that’s extensible, reusable and meets desired architectural objectives.
  • A strong familiarity of Web Server technologies including NGINX, Apache and J2EE.
  • Experience with Java or Ruby, and the willingness to learn new technologies (experience with other object-oriented languages is okay too, but our code is Java, Ruby and Scala, so you should be able to get up-to-speed on at least one of them quickly.
  • Establish Back-End Software Engineer best practices.
  • Work autonomously, are excited by new technologies, and will never back down from the challenges of scale.
  • Experience with Linux/Unix and scripting languages like Python, Perl, shell scripting, etc.
  • Knowledge in database systems and NoSQL databases such as DynamoDB.
  • Experience deploying machine learning models is a plus.