Software Developer Job Description: Top Duties and Qualifications

A Software Developer creates, tests and maintains computer programs and websites for businesses. Their main duties include writing code, identifying areas for software modification and monitoring analytics efficiently.

 

Build a Job Description

Software Developer duties and responsibilities

Tasks for a Software Developer can vary and can be more specialised, depending on the company. Generally, they perform the following functions:

  • Meeting with the development team to discuss client requirements
  • Clearly and regularly communicating with management and technical support colleagues
  • Writing and repairing computer code
  • Leading software development projects
  • Ensuring that all SLAs (Service Level Agreements) are met
  • Performing trials, testing and quality checks to ensure strong functionality and optimisation
  • Maintaining and supporting systems and improving the performance of existing software
  • Keeping detailed records of development processes
  • Meeting individual client’s requirements and standards
  • Designing and updating software databases

 

Build a Job Description

Software Developer Job Description Examples:

 

Example 1

*This is a UK-based Remote position but we prefer candidates based in the Greater London area for periodic in-person meetings. WHO WE ARE Hanzo brings context and a greater understanding of enterprise data to corporate legal and compliance teams by providing in-house control over dynamic and collaborative data sources. This control allows organizations to reduce billions of dollars in risk, litigation, and compliance costs and elevate their corporate legal and regulatory compliance responses. In addition, Hanzo's software empowers defensible preservation, targeted collection, and efficient review of dynamic content from enterprise collaboration applications and complex websites. Hanzo is SOC 2® Type 2 certified, demonstrating its commitment to data security. Some of the most recognizable brands in the world trust Hanzo to manage the challenges of modern enterprise e-discovery and compliance today. Our team has always been globally distributed and remote, with a few satellite collaboration spaces enabling us to work with the best people around the world. THE ROLE As a Software Developer, you will be responsible for architecting, implementing our in-house distributed systems. If you have strong Python experience, or strong experience in Java/C# and more recent experience with Python and have worked with distributed systems we would be interested in talking to you. Ideally, you would also have experience GCP or AWS, have worked with large unstructured datasets. You also would have experience with agile and continuous deployment, have developed enterprise software, and have worked with configuration deployment and workflow tools. This position will report to the VP of Engineering. WHAT YOU’LL DO Write clean, documented, debuggable code across Hanzo’s backend systems to add new functionality and systems and improve the existing architecture. Test your own code’s functionality. Perform code review and testing of software produced by other team members so that your team delivers reliable and secure software. Follow Hanzo’s development process in order to effectively communicate your progress. Participate in the design of new systems and functionality across Hanzo’s backend (and frontend for full-stack position) systems to meet the needs of user stories produced from other business areas. Perform research and evaluation of analysis methods and system design so as to optimally produce new data products and software systems. Understand user stories and deciding how to fulfill them. Understanding the field of text analysis and deciding on appropriate analysis methods for given data and user stories. When debugging distributed systems determining the optimal fix. Understand the technical problem domain of a new system to pick existing design patterns if one applies. WHAT YOU’LL BRING Fluent written and spoken English Strong python experience or strong Java/C# and more recent Python Experience working with distributed systems, dealing with large volumes of data and hard problems: concurrency, [website] Experience of cloud, either AWS or GCP Experience developing enterprise software WHAT WILL SET YOU APART Experience with agile and continuous deployment. Experience with configuration, deployment, workflow tools. NoSql - Cassandra, CouchDB, or other Elastic search highly valued Frontend experience with React.js or similar framework WHY YOU Should WORK AT HANZO When you join Hanzo, you become part of a global company that was founded by a team of entrepreneurs and technologists. Today, we have expanded to become a group of technologists, entrepreneurs, PhDs, lawyers, (lawyers with PhDs), creatives, and data scientists who thrive on collaboration, innovation, and execution. At Hanzo, you'll work hard and be given a ton of responsibility, but you'll have fun in the process. Of course, the greatest thing about Hanzo is what we're able to accomplish for our customers - we are honored that some of the most recognized brands in the world trust Hanzo. Benefits Work with some of the most recognized brands in the world Opportunities for growth and advancement Virtual and in-person team-building activities Medical, vision, and dental coverage Hanzo considers qualified individuals on the basis of race, religion, color, gender, age, national origin, physical or mental disability, genetic information, veteran’s status, marital status, gender identity and expression, sexual orientation, or any other status protected by applicable law. Hanzo is also committed to diversity and inclusion and building a culture where all Hanzonians (employees) are celebrated and valued for bringing their authentic and best selves to work.

Example 2

As a member of our Software Engineering Group, we look first and foremost for people who are passionate around solving business problems through innovation and engineering practices. You'll be required to apply your depth of knowledge and expertise to all aspects of the software development lifecycle, as well as partner continuously with your many stakeholders on a daily basis to stay focused on common goals. We embrace a culture of experimentation and constantly strive for improvement and learning. You'll work in a collaborative, trusting, environment-one that encourages diversity of thought and creative solutions that are in the best interests of our customers globally. This role requires a wide variety of strengths and capabilities, including: BS/BA degree or equivalent experience Advanced knowledge of application, data, and infrastructure architecture disciplines Understanding of architecture and design across all systems Working proficiency in developmental toolsets Knowledge of industry-wide technology trends and best practices Ability to work in large, collaborative teams to achieve organizational goals Passionate about building an innovative culture Proficiency in one or more modern programming languages Understanding of software skills such as business analysis, development, maintenance, and software improvement [website] Morgan is a global leader in financial services, providing strategic advice and products to the world's most prominent corporations, governments, wealthy individuals and institutional investors. Our first-class business in a first-class way approach to serving clients drives everything we do. We strive to build trusted, long-term partnerships to help our clients achieve their business objectives. We recognize that our people are our strength and the diverse talents they bring to our global workforce are directly linked to our success. We are an equal opportunity employer and place a high value on diversity and inclusion at our company. We do not discriminate on the basis of any protected attribute, including race, religion, color, national origin, gender, sexual orientation, gender identity, gender expression, age, marital or veteran status, pregnancy or disability, or any other basis protected under applicable law. In accordance with applicable law, we make reasonable accommodations for applicants' and employees' religious practices and beliefs, as well as any mental health or physical disability needs.

Example 3

Java Software Engineer Glasgow Technology Centre As one of the main technology HUBS For EMEA the scope of work in Glasgow is truly remarkable, we are at the forefront of innovation within the financial services industry and are pioneering the use of cutting edge technologies. As an experienced Software Engineer, your mission is to help lead our team of innovators and technologists toward creating next-level solutions that improve the way our business is run. Your deep knowledge of design, analytics, development, coding, testing and application programming will help your team raise their game, meeting your standards, as well as satisfying both business and functional requirements. Your expertise in various technology domains will be counted on to set strategic direction and solve complex and mission critical problems, internally and externally. Your quest to embracing leading-edge technologies and methodologies inspires your team to follow suit. And best of all, you'll be able to harness massive amounts of brainpower through our global network of technologists from around the world. Role Summary Our team is focused on building highly-performant trade event processing systems utilizing a common architecture with component re-use across lines of business. This role provides the opportunity to work with a flexible, modern technology stack, utilizing best-practice software engineering techniques to build software in a cloud-native environment. The IMOS Instruction Capture team is responsible for building a processing platform consuming trade instruction messages from our expanding client base and performing a number of key services for these trades including: validation, enrichment, counterparty matching, operational repair and STP to downstream collaborating systems for further processing. Ideal candidates will have a strong Java background with hands-on experience in design and implementation of highly-resilient event processing platforms and a proven track record of delivering solutions. Candidates will be expected to have a key role in the architecture, design and implementation of the product. Developers will be working as part of an agile team and will be expected to participate in sprint planning, backlog grooming and to be actively engaged in our continuous improvement process. This role requires a wide variety of strengths and capabilities, including: Expertise in application, data and infrastructure disciplines Ability to work collaboratively in teams and develop meaningful relationships to achieve common goals Experience in modern versions of Java Hands-on design and development of complex, distributed software systems Experience with automated testing - unit testing and acceptance testing Solid expertise of enterprise integration technologies - [website] Spring Integration, Messaging [website] JMS), XML, JSON, Protocol Buffers Software Design Patterns RDBMS experience, [website] Oracle or Sybase Maven, Hudson/ Jenkins, Sonar Cube, GIT Familiar with Agile/Scrum methodologies The hiring manager for this job opening would welcome a conversation about flexible working. This could range from ad hoc flexibility in a full time position, to a more formal Flexible Work Morgan is a global leader in financial services, providing strategic advice and products to the world's most prominent corporations, governments, wealthy individuals and institutional investors. Our first-class business in a first-class way approach to serving clients drives everything we do. We strive to build trusted, long-term partnerships to help our clients achieve their business objectives. We recognize that our people are our strength and the diverse talents they bring to our global workforce are directly linked to our success. We are an equal opportunity employer and place a high value on diversity and inclusion at our company. We do not discriminate on the basis of any protected attribute, including race, religion, color, national origin, gender, sexual orientation, gender identity, gender expression, age, marital or veteran status, pregnancy or disability, or any other basis protected under applicable law. In accordance with applicable law, we make reasonable accommodations for applicants' and employees' religious practices and beliefs, as well as any mental health or physical disability needs.

Example 4

*Software System Engineer (C#) * Semiconductor devices provide the foundations on which progress in the technology sector are enabled. From Smartphones to Artificial Intelligence, 5G communications to autonomous vehicles, all are made possible through advances in semiconductor processes. Scaling these processes requires sub-nanometre measurement of increasingly complex 3D structures to enable more powerful devices. At *Infinitesima* we have pioneered a revolutionary atomic precision 3D metrology technology which has been qualified by leading companies in the semiconductor industry and we believe is essential for continued progress. To quote Lord Kelvin, _‘If you can’t measure it you can’t improve it!’_. Come and join our dynamic team to enable the semiconductors for tomorrow’s technological developments. Do you have experience in Software Systems C#? we currently have an exciting opportunity for an Software Systems Engineer to join our Software team, Location: Abingdon Reporting to: Software Manager. *The Opportunity: * The position of Software System Engineer will work within the Software Engineering team to produce high-quality leading-edge software used to operate the RPM tool to obtain the precision measurements required by the Semiconductor Industry. The role will include both developing existing software for the RPM platform directly as well as developing the software to control the RPM head on integrated platforms. In the second configuration control of a third-party system will be required. The role requires strong Software development skills and a good knowledge of talking to additional systems. The role requires both Software and System Engineering discipline. *Key Responsibilities: * · Work within the Software team to help with the design and implementation of key software features for the tool. · Produce high quality software to communicate with the systems and the User Interfaces to report data back to the User. · Develop tools and algorithms to both control and analyse the data produced by the RPM tools. · Work effectively as part of a multidisciplinary team of engineers and scientists. · Communicate effectively with the whole Engineering team. *Personal Qualities: * · Good written and spoken English. · Self-driven and motivated worker. · Problem solver. *Education / Qualifications: * _Essential_ · Degree or above in a Software or related engineering discipline. · Experience of hands-on Software engineering development. · C# coding experience on a Windows PC Platform. · User Interface development. (WPF preferred) · Writing software in a Machine Control. · Excellent communicator - Fluency in written and oral technical English. · Willingness to support other team members to meet team goals _Desirable_ · Agile Software Development Processes · C# .Net architecture · Software design patterns (MVVM for UI preferred) · Knowledge of writing software using TCP Sockets. · Understanding and using Threading models. _Beneficial_ · Python experience. *Benefits: * In addition to a competitive starting salary and a yearly bonus. Infinitesima offers flexible working hours, 25 days annual leave, personal pension contributions and EMI Share scheme. _All qualified applicants will receive consideration for employment without regard to race, colour, religion, sex, sexual orientation, gender identity, national origin, or disability. _ _Note to recruitment agencies: Infinitesima Ltd only works with approved agencies and does not accept unsolicited agency CVs. Please do not submit candidate details in response to this advert, or to any Infinitesima Ltd employees. Infinitesima Ltd is not responsible for a_ Job Types: Full-time, Permanent Salary: per year Additional pay: * Yearly bonus Benefits: * Company pension * Flexible schedule * On-site parking * Sick pay Schedule: * Monday to Friday COVID-19 considerations: Our site is fully Covid secure Education: * Bachelor's (required) Experience: * software engineering: 2 years (required) Work remotely: * Temporarily due to COVID-19

What does a Software Developer do?

A Software Developer maintains and repairs a company’s existing software and may also create new software to improve  the company’s workflows. Usually, there are two types of Software Developers: Front-End and Back-End. A Back-End Developer focuses on hardware, such as the server and how the site operates, while a Front-End Developer is responsible for both the site’s visual design and the functionality of the website, from the perspective of the user. A Software Developer that can perform both functions is known as a Full-Stack Developer. 

 

Software Developer skills and qualifications

A Software Developer has differing specialised skills depending on if they are Front-End, Back-End or Full-Stack Developers. However, a successful Software Developer should have various prerequisite skills and qualifications needed for their duties. These include:

  • Strong attention to detail
  • Creative problem-solving skills
  • Excellent verbal communication skills
  • Knowledge of algorithms and data structures
  • Experience with software languages such as Java, C/C++, Python and others 
  • Persistence when solving a problem
  • Ability to work independently and multi-task effectively
  • Flexibility in thinking and in attitude, with the ability to accept a change in priorities as necessary
  • Demonstrated understanding of projects from the perspective of both client and business

 

Software Developer experience requirements

Some Software Developers may apply directly after university and have only relevant school experience. Some may have hands-on experience through working closely with Software Developers as an intern. 

Apart from the relevant schooling, a Software Developer should have experience outside of studies and the traditional work environment. There are many free online learning resources for learning about programming languages and for learning new software development. A dedicated Software Developer should always look for new ways to stay connected and up-to date with the latest languages and programming processes. 

 

Software Developer education and training requirements

Most applicants have a degree related to:

  • Computer Science
  • Information Technology
  • Software Development
  • Software Engineering for Business
  • Maths

Some people also do a college course in computing or programming which can lead to a higher apprenticeship, or possibly a trainee position within a company. Some job seekers can also complete a Digital and Technology Solutions Degree apprenticeship. Many companies offer a position as a Junior Developer as a way to train and develop candidates.

 

Software developer salary expectations

According to Indeed Salaries, the average salary for a Software Developer is £42, 767 per year. The average workweek is typically about 40 hours, and an employee may work the occasional evening or weekend. The starting salary may depend on experience, location and company.

 

Job description samples for similar positions

If Software Developer does not match your specific job role needs, similar positions include:

 

Ready to Hire? Build a Job Description

Software Developer job description FAQs

How can a Hiring Manager make their Software Developer job description stand out?

Highlight benefits that differ from the traditional ones offered at most companies. Focus on some of the unique aspects such as a flexible working environment, continuous learning through training or the possibility of becoming a Senior Developer. 

 

Who reports to a Software Developer?

Software Developers work in a team of other Developers, which can be quite large, depending on the size of the company. In this team, there will usually be a Senior Software Developer who oversees the overall projects. There may also be Junior Developers, or interns, who report directly to and work closely with an individual Software Developer.

 

Do Software Developers have different responsibilities in different industries?

Back-End Developers’ responsibilities, such as maintaining hardware, writing code and analysing databases, are much the same throughout different industries.  However, the responsibilities and skills for Front-End Developers change, depending on the client each industry serves. Developing software for the NHS website is very different to developing software for a primary school, so a Front-End Developer must be aware of their user base.

 

What is the difference between a Front- End Developer and a Back- End Developer?

Both of these titles refer to a type of Software Developer. A Front-End Developer works with the public side of a company’s software. They work in the areas of design and accessibility to make the software more appealing and user-friendly. A Back-End Developer deals with the technology, such as servers and databases. Both types of developers are essential for making a website run efficiently. 

Job Description Examples

No search results found