Software Engineer Job Description

Nearly 5,000 companies are looking to recruit Software Engineers and only one in four are looking to leave their current jobs (Glassdoor jobs database, Q1 2014). The competition is fierce, but one of the best ways you can beat out the competition is perfecting your job description.

Gathering the required skills is the first part of the equation. Ensuring the list of requirements speaks to the nuances of the job at your company as well as conveys your company’s mission, can be challenging.

Here at Glassdoor, we spend a lot of time analyzing what constitutes a great job description – and we have the full complement of best practices to show for it. So we’ve crafted a near-perfect Software Engineer Job Description. 

Software Engineer Job Description Template

About:

We are looking for a Software Engineer to join our growing Engineering team and build out the next generation of our platform. The ideal candidate is a hands-on platform builder with significant experience in developing scalable data platforms. We’re looking for someone with experience in business intelligence, analytics, data science and data products. They must have strong, firsthand technical expertise in a variety of configuration management and big data technologies and the proven ability to fashion robust scalable solutions that can manage large data sets. They must be at ease working in an agile environment with little supervision. This person should embody a passion for continuous improvement and test-driven development.

Key Responsibilities:

  • Analyze, design and develop tests and test-automation suites.
  • Design and develop a processing platform using various configuration management technologies.
  • Test software development methodology in an agile environment.
  • Provide ongoing maintenance, support and enhancements in existing systems and platforms.
  • Collaborate cross-functionally with data scientists, business users, project managers and other engineers to achieve elegant solutions.
  • Provide recommendations for continuous improvement.
  • Work alongside other engineers on the team to elevate technology and consistently apply best practices.

Qualifications and Requirements:

  • Hands-on experience working with technologies like Hadoop, Hive, Pig, Oozie, Map Reduce, Spark, Sqoop, Kafka, Flume, etc.
  • Strong DevOps focus and experience building and deploying infrastructure with cloud deployment technologies like ansible, chef, puppet, etc.
  • Experience with test-driven development and automated testing frameworks.
  • Experience with Scrum/Agile development methodologies.
  • Capable of delivering on multiple competing priorities with little supervision.
  • Excellent verbal and written communication skills.
  • Bachelor’s Degree in computer science or equivalent experience.

We’re looking for someone with 3-5 years of experience in B2B, has a BS degree in computer science or similar, and is familiar with the following software/tools:

  • Experience with infrastructure automation technologies like Docker, Vagrant, etc.
  • Experience with build automation technologies like Maven, Jenkins, etc.
  • Experience with monitoring technologies like Nagios, Ganglia, etc.
  • Experience with modern programming languages like Java, Python, etc.
  • Experience with building APIs and services using REST, SOAP, etc.
  • Experience with scripting languages like Perl, Shell, etc.

With all the time you save writing job descriptions, you can move on to the next key piece: honing your interview process with resources from Glassdoor – from How to Conduct a Behavioral Interview to utilizing checklists and interview templates. You can also take some time to leverage feedback from Interview Ratings on your Glassdoor profile to improve candidate experience every step of the way.