One of the primary factors influencing staff happiness, and therefore retention, is that of career growth and the visibility of career opportunities.
Software engineers are often left with no option for career growth other than to move into management. This is less than attractive to many technical staff who would far prefer to remain on the technical side of the fence. Our structure addresses this common problem.
The management team, consisting of the General Manager and the Senior Manager/Systems Architects, are responsible for the technical wellbeing, direction and strategy of the company as well as the acquisition, training, management and retention of the software development staff complement.
The primary focus of the Project Leader is to manage his or her project development team. It is not, however, entirely a management role, as the Project Leader also performs active work on the project in one or more of the technical disciplines namely analysis, development and testing.
Senior Software Engineer
This role serves to acknowledge the seniority of the more experienced developers as well as provides a role which Project Leaders can default to if they are not currently leading a project. The entry criteria are that the staff member has four or more years’ experience and that they pass a technical test and interview.
The duties of a Senior Software Engineer require that they follow best practices, produce high-quality code, have a thorough understanding of development technologies and that they take responsibility for the quality of our code.
When staff are employed who satisfy the entry criteria for the role, they are promoted to Senior Software Engineers upon the successful conclusion of their probation period.
The entry criteria are that the applicant has five or more years’ experience, is a Senior Software Engineer and that they pass a stringent review process by a panel of senior technical and management staff.
This role represents a serious technical achievement and has a number of additional technical duties and tasks against which the staff member is reviewed.
They are required to be an example to other developers in all respects, have a respected opinion on development matters, assist in improvement of our processes, follow industry events and keep up to date technically. Their additional duties include being a registered code reviewer, participation in the Application Architect forum, technical presentations, owning and championing a particular technology or technologies and suggesting and prototyping innovative ideas.
Software Quality Analyst (SQA)
The SQA role entails the creation, review and execution of software testing specifications and involves working as part of the development team and mentoring other team members. The role includes responsibility for creating and maintaining testing environments, as well as creation and use of automated testing.
In addition to the SQA duties listed above, this role also exposes the staff member to release management, the software build processes, analysis, design and documentation of software, user requirement gathering and documentation, user acceptance testing, agile development methodology, scrum management techniques, database querying and maintenance, troubleshooting, web technologies and maintenance of test and development environments.
Senior Software Quality Analyst (SSQA)
This role serves to acknowledge the seniority of the more experienced SQA. The entry criteria are that the staff member has four or more years’ experience and passes a technical test, a quality assurance theory test and an interview.
The duties of a SSQA require that they follow best practices, produce high-quality test artefacts, have a high-level understanding of our technical environment and that they take responsibility for the quality of our SQA in terms of improving the test processes and project test strategies, the quality of our released software, producing consistent reproducible tests and take part in running the SQA forum.
The Analyst role at covers a range of activities that span both business and systems analysis. The two main functions of the role are the gathering of business requirements for future sprint work under the guidance of the product owner and the performing of detailed analysis work for the team.
Responsibilities include all of the responsibilities of the Analyst role as well as assisting the Product Owner in managing the backlog and determining priority of items thereon, mentoring, and reviewing the work of Analysts and development of business cases for new products or enhancements to existing ones.