Software Engineer job description template | Workable

This Software Engineer job description template is optimized for posting on online job boards or careers pages. It is easy to customize with key duties and responsibilities for your company when hiring developers. Similar job titles include Software Developer, Senior Software Engineer, Programmer, Coder and Software Architect.

Software Engineer Responsibilities

Include:

  • Executing full lifecycle software development
  • Programming well-designed, testable, efficient code
  • Producing specifications and determine operational feasibility

software engineer job description

Job brief

We are looking for a passionate Software Engineer to design, develop and install software solutions.

Software Engineer responsibilities include gathering user requirements, defining system functionality and writing code in various languages, like Java, Ruby on Rails or .NET programming languages (e.g. C++ or JScript.NET.) Our ideal candidates are familiar with the software development life cycle (SDLC) from preliminary system analysis to tests and deployment.

Ultimately, the role of the Software Engineer is to build high-quality, innovative and fully performing software that complies with coding standards and technical design.

Responsibilities

  • Execute full software development life cycle (SDLC)
  • Develop flowcharts, layouts and documentation to identify requirements and solutions
  • Write well-designed, testable code
  • Produce specifications and determine operational feasibility
  • Integrate software components into a fully functional software system
  • Develop software verification plans and quality assurance procedures
  • Document and maintain software functionality
  • Troubleshoot, debug and upgrade existing systems
  • Deploy programs and evaluate user feedback
  • Comply with project plans and industry standards
  • Ensure software is updated with latest features

Requirements

  • Proven work experience as a Software Engineer or Software Developer
  • Experience designing interactive applications
  • Ability to develop software in Java, Ruby on Rails, C++ or other programming languages
  • Excellent knowledge of relational databases, SQL and ORM technologies (JPA2, Hibernate)
  • Experience developing web applications using at least one popular web framework (JSF, Wicket, GWT, Spring MVC)
  • Experience with test-driven development
  • Proficiency in software engineering tools
  • Ability to document requirements and specifications
  • BSc degree in Computer Science, Engineering or relevant field

More resources: