Software Development Engineer

Location: Pietermaritzburg, Kwazulu Natal, South Africa
Date Posted: 30-07-2018
Job Description
This post involves the research and development of new software products for all of the four business units, namely, Traffic, Parking, Headcount and Identipark.  The job will involve the full software development life cycle from requirement gathering through to support.  All products developed will be competing in international markets and, therefore, need to be of the highest quality standard.
Interfacing with the end user will be required to determine product requirements and provide high-tech support for complex in-field issues when escalated from Operations.
Functions of the Job
The purpose will be achieved through the following functions:
  • Compile technical software specifications
  • Design and write software programs from technical specifications
  • Test and release software according to ISO procedures
  • Maintain and support software as requirements change and new technologies arise
  • Develop clean, well documented code according to established software engineering guidelines
  • Solve problems through deep understanding and simple design
  • Apply strong programming skill across a wide range of software languages:
    • Java, C, TCL, Ruby, HTML, Javascript, CSS, .NET
  • Respond quickly and competently to complex, unplanned technical challenges
  • Keep abreast of technology changes and how they affect the company

Activities connected with the Job
The following activities will be undertaken in pursuance of the job functions:
Activity % Time spent
  • Requirement gathering and program specification
  • Programming
  • Documentation and training
  • Interfacing with other departments
  • Testing
  • Support and maintenance

The Software Development Engineer will report to the Software Development Manager.
His/her interpersonal roles within the organisation will be:
  • To liaise with the sales and marketing departments
  • To liaise with operations staff
  • To liaise with distributors and end users
Requirements of the Candidate
  • Minimum BSc Degree, preferably in Electronic Engineering
  • Aptitude for writing code
  • Ability to visualise and implement solutions to complex problems
  • Familiarity with all operating systems in common use
  • Familiarity with all ancillary software in common use
  • Familiarity with the theory of relational databases
  • Familiarity with object orientated programming
  • Familiarity with scripted languages
  • Familiarity with web development, MVC and client-server development
  • Familiarity with mobile application development
  • Ability to impart knowledge and train distributors and support staff.
  • Ability to communicate clearly and professionally.
  • An eagerness to embrace change and previously unused technologies.
  • A responsible, self motivated individual driven to meet deadlines.
  • A meticulous individual with significant attention to detail.
The  Software Development Engineer is accountable to the Software Development Manager.
Success in the function is more objectively measured by:
  • The ability to translate market requirements into a technical specification
  • The ability to accurately plan projects to meet all specifications and requirements
  • The ability to meet the deadlines set out in the project planning phase
  • The quality and reliability of products designed
  • The aesthetic appeal of software interfaces
  • The ability to speedily resolve problems arising
  • The ability to maintain control of the entire project while working on sub-components
  • The ability to distil complex problems down to small, manageable tasks
  • The ability to interface with other departments within the organisation, support staff, distributors and customers
The candidate appointed to this position will be expected to:
  • Manage himself/herself with little supervision
  • Produce results in line with commitments and agreed objectives
this job portal is powered by CATS