In order to ensure your professional resume will support your goals, use this software engineer job description to inform what you should highlight on your resume.

By reviewing job description examples, you'll be able to identify what technical and soft skills, credentials and work experience matter most to an employer in your target field.

Software Engineer Job Description

We are looking for a passionate Software Engineer to design, develop and install software solutions. The successful candidate will be able to build high-quality, innovative and fully performing software in compliance with coding standards and technical design. Design, modify, develop, write and implement software programming applications. Support and/or install software applications/operating systems. Participate in the testing process through test review and analysis, test witnessing and certification of software.

Requires a bachelor's degree in a related area and 0-2 years of experience in the field or in a related area. Has knowledge of commonly-used concepts, practices and procedures within a particular field. Rely on instructions and pre-established guidelines to perform the functions of the job. Work under immediate supervision. Primary job functions do not typically require exercising independent judgment. Typically reports to a manager.

Responsibilities:

  • Full lifecycle application development

  • Design, code and debug applications in various software languages

  • Software analysis, code analysis, requirements analysis, software review, identification of code metrics, system risk analysis, software reliability analysis

  • Object-oriented Design and Analysis (OOA and OOD)

  • Software modeling and simulation

  • Front end graphical user interface design

  • Software testing and quality assurance

  • Performance tuning, improvement, balancing, usability, automation

  • Support, maintain and document software functionality

  • Integrate software with existing systems

  • Evaluate and identify new technologies for implementation

  • Project planning and Project management

  • Maintain standards compliance

  • Implement localization or globalization of software

  • Determine operational feasibility by evaluating analysis, problem definition, requirements, solution development and proposed solutions

  • Document and demonstrates solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code

  • Prepare and install solutions by determining and designing system specifications, standards and programming

  • Improve operations by conducting systems analysis; recommending changes in policies and procedures

  • Obtain and license software by obtaining required information from vendors; recommending purchases; testing and approving products

  • Update job knowledge by studying state-of-the-art development tools, programming techniques and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations

  • Protect operations by keeping information confidential

  • Provide information by collecting, analyzing and summarizing development and service issues

  • Accomplish engineering and organization mission by completing related results as needed

  • Develop software solutions by studying information needs; conferring with users; studying systems flow, data usage and work processes; investigating problem areas; following the software development lifecycle.

  • Write well designed, testable, efficient 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

  • Tailor and deploy software tools, processes and metrics

  • Serve as a subject matter expert

  • Comply with project plans and industry standards

Requirements:

  • Proven work experience in software engineering

  • Hands on experience in designing interactive applications

  • Ability to develop software in C, C++, C#, Java or other selected languages

  • Excellent knowledge of Relational Databases, SQL and ORM technologies (JPA2, Hibernate)

  • Experience in developing web applications using at least one popular web framework (JSF, Wicket, GWT, Spring MVC)

  • Experience with test-driven development

  • Mastery in software engineering tools

  • Ability to document requirements and specifications

  • Familiarity with software development methodology and release processes

  • BS degree in Computer Science or Engineering

Common IT Hardware, Software, Platform and Systems Knowledge:

C, C++, Java, .NET, Python, BEA WebLogic, WebSphere, J2EE, JBoss, ADO, Perl, HTML, JSP, JavaScript, Web services, SOAP, XML, ASP, JSP, PHP, MySQL, SQL Server, Oracle, UNIX, Linux, Redhat Linux, STL, XSLT, OWL, AJAX, J2EE, J2ME, J2SE, Sun Solaris

Software Engineer top skills & proficiencies:

  • Software Development

  • Analytical & Problem Solving Skills

  • Ability to Learn Quickly

  • Team Player

  • Agile Development Processes and Principles

  • Written and Verbal Communication

  • Customer-Oriented

  • Analysis

  • General Programming Skills

  • Software Debugging

  • Software Documentation

  • Software Testing

  • Software Development Fundamentals & process

Related Articles: