A software developer is a person concerned with the facts of the software development process wider than design and coding, a somewhat broader scope of computer programming or a speciality of project managing including some aspects of software product management. This person may contribute to the overview of the project on the application level rather than component level or individual programming tasks.
A software developer could be involved in wider aspects of the software development process such as:
- participation in software product definition, including business case or gap analysis
- requirements analysis
- development and refinement of throw-away simulations or prototypes to confirm requirements
- feasibility and cost-benefit analysis, including the choice of application architecture and framework, leading to the budget and schedule for the project
- implementation (e.g. installation, configuration, programming/customisation, integration, data migration)
- authoring of documentation needed by users and implementation partners etc.
- testing, including defining/supporting acceptance testing and gathering feedback from pre-release testers
- participation in software release and post-release activities, including support for product launch evangelism (e.g. developing demonstrations and/or samples) and competitive analysis for subsequent product build/release cycles
Software developers are often still guided by lead programmers but also encompasses the class of freelance software developers.
A software developer exhibits capabilities in line with the Skills Framework for the Information Age (SFIA) and the Queensland Public Service Workforce Capability Success Profile.
Within the SFIA profile, the software developer has level 4 and 5 capabilities, i.e. enables, ensures and advises on the skills outlined below.
Works under general direction within a clear framework of accountability. Exercises substantial personal responsibility and autonomy. Plans own work to meet given objectives and processes.
Influences customers, suppliers and partners at account level. May have some responsibility for the work of others and for the allocation of resources. Participates in external activities related to own specialism. Makes decisions which influence the success of projects and team objectives.
Work includes a broad range of complex technical or professional activities, in a variety of contexts. Investigates, defines and resolves complex issues.
Selects appropriately from applicable standards, methods, tools and applications. Communicates fluently, orally and in writing, and can present complex information to both technical and non-technical audiences. Facilitates collaboration between stakeholders who share common objectives. Plans, schedules and monitors work to meet time and quality targets. Rapidly absorbs new information and applies it effectively. Maintains an awareness of developing technologies and their application and takes some responsibility for driving own development.
SFIA Skill Code
SFIA Skill Level of Responsibility
SFIA Skills Level Descriptor
Systems development management
Defines solution development projects which support the organisation's objectives and plans. Ensures that senior management is both aware of and able to provide the required resources. Contributes effectively to improving solution development processes within the organisation justified by measurable business benefits. Facilitates availability and optimum utilisation of resources, especially in Agile projects. Monitors and reports on the progress of development projects, ensuring that projects are carried out in accordance with agreed standards, methods and procedures (including secure software development). Applies secure development improvement practices.
Programming / software development
Designs, codes, tests, corrects and documents complex programs and scripts from agreed specifications, and subsequent iterations, using agreed standards and tools, to achieve a well engineered result. Takes part in reviews of own work and leads reviews of colleagues' work.
Accepts responsibility for creation of test cases using own in-depth technical analysis of both functional and non-functional specifications (such as reliability, efficiency, usability, maintainability and portability). Creates traceability records, from test cases back to requirements. Produces test scripts, materials and regression test packs to test new and amended software or services. Specifies requirements for environment, data, resources and tools. Interprets, executes and documents complex test scripts using agreed methods and standards. Records and analyses actions and results, and maintains a defect register. Reviews test results and modifies tests if necessary. Provides reports on progress, anomalies, risks and issues associated with the overall project. Reports on system quality and collects metrics on test cases. Provides specialist advice to support others.
Maintains an in-depth knowledge of specific specialisms, and provides expert advice regarding their application. Can supervise specialist consultancy. The specialism can be any aspect of information or communication technology, technique, method, product or application area.
Queensland Government roles align with the Queensland Public Service Workforce Capability Success Profile.
The success profile is a sector wide, one-government approach to the leadership behaviours expected of all public sector employees to support high performing workplaces. The profile describes three performance dimensions (vision, results and accountability) and 13 leadership competencies required against four role types:
- Individual contributor (manages self)
- Team leader (manages individuals)
- Program manager (manages multiple teams/projects)
- Executive (manages program managers)
When developing a Role Description, identify the role type and then focus on the most important attributes and create a balance between SFIA skills and leadership skills.
A degree level qualification in information technology or computer science are highly regarded in this field.
 The Skills Framework for the Information Age (SFIA) provides a common language that integrates with an organisation’s way of working, to improve capability and resource planning, resource deployment and performance management. This role profile quotes extensively from the SFIA, under licence from the SFIA Foundation. Information about the SFIA can be found at http://www.sfia-online.org/en
 The Queensland Public Service Workforce Capability Success Profile plays a key role in translating the government’s ‘talent management requirements’ into clear behavioural terms, while at the same time delivering organisational change and growth. The success profile is being utilised to align sector-wide talent management strategies, including workforce planning, talent acquisition, leadership development, capability development, performance management, career management and succession planning. See http://www.psc.qld.gov.au/includes/assets/PSC_Workforce_Capability_Success_Profile.pdf