Software Engineer Job Description Template

We are looking for a Software Engineer to join our development team. The ultimate goal of this role will be to build high-quality, innovative, and functional software that complies with coding standards and technical design specifications. This role will direct software system validation and testing, as well as overarching programming initiatives. To thrive in this role, you should have experience with multiple coding languages and an in-depth understanding of industry best practices, as well as the ability to express technical decisions clearly to non-technical stakeholders. Our ideal candidate will be a team player who is comfortable working in an agile environment and has the ability to take charge when required. 

Typical Duties and Responsibilities

  • Execute the full software development lifecycle
  • Analyze user requirements and develop flowcharts, layouts, and documentation to identify requirements and solutions
  • Produce specifications and determine their operational feasibility
  • Develop and execute project plans
  • Create innovative, scalable software solutions
  • Write and test code to ensure its compatibility and stability, and rewrite as necessary
  • Create clear technical specifications
  • Develop and direct software validation and testing methods
  • Troubleshoot, debug, and upgrade existing systems
  • Develop and oversee documentation
  • Deploy programs and evaluate user feedback
  • Ensure software is updated with the latest features
  • Expand existing software to meet the changing needs of our business and clients
  • Collaborate with project managers, UX designers, system analysts, sales and marketing professionals, and other team members 

Education

  • Bachelor’s degree in software engineering, computer science, information technology, or a related field

Required Skills and Experience

  • 5+ years of experience in software engineering or software development
  • Experience developing software using Java, Ruby on Rails, C++, or similar languages
  • Experience designing interactive applications
  • Experience with coding tool suites
  • Experience managing the software development lifecycle
  • Experience developing web applications using at least one popular web framework
  • Experience with test-driven development
  • Experience working with Linux/Unix, Perl, and/or shell scripts
  • Thorough knowledge of computer architecture, operating systems, and data structures
  • Knowledge of relational databases, SQL, and ORM technologies
  • Knowledge of agile methodologies
  • Knowledge of UI toolkits and frameworks
  • Strong interpersonal and communication skills
Contact us

Recruit with Nexus IT Group