- Matric / Grade 12
- Degree in Computer Science/IT OR Diploma in Computer Systems Engineering
- Software Development Experience (Min 3 yrs)
- Time Management
- Experience in .Net Core & .NET Standard, Docker, Angular, Electron, Java – Android Development, Xamarin, Objective-C and Node.js
- Work closely with the developers, architects and the development manager to design and implement new features and address the maintenance backlog for existing products.
- Participate in and assist with troubleshooting sessions related to issues in the current systems.
- Participate in JAD (joint application development) sessions to thrash out the functional and technical requirements for business requirements that have been set forth.
- Participate in code reviews with peers from the development team to work through the logic and design of a system / technical requirement to ensure that all aspects of the development are efficient and correct.
- Design and implement reusable software components and application code.
- Write technical specifications detailing the approach and design for an extension to an existing system or a functional subset of a new system.
SKILLS & KNOWLEDGE
- Must be able to context switch between tasks and / or projects leaving the previous task at a clean point so that it's easier to pick it up later.
- Must be able to handle development tasks with interruptions from / interactions with other team members / clients / partners. Must communicate clearly to management if it is determined that a task or project will not make a deadline with valid justifications as to why.
- Must put in extra effort and time should the progress of a task or project indicate that a deadline will not be met if: The worker’s best effort has not been put in to this point, this will be judged objectively. The worker has had to back track on their design or code to accommodate a different approach to solving a problem outside of the scope of the architecture team
- Must have a firm understanding of the Waterfall and Agile software development methodologies.
- Must have a firm understanding of the software development tools utilised to design, develop, test and deploy systems within your predominant programming language as well as any other technical software artefacts necessary to establish a systems environment (e.g. Tomcat Web Server)
- Understand high level concepts such as process flows, work flows, UML diagrams, database model diagrams, project plans, version control systems and issue / enhancement tracking systems and be able to identify code design patterns
Only candidates who meet the outlined requirements and have the relevant experience should apply for this position. Email CV to: --------Please upload your CV here-------->
If you have not had any response in two (2) weeks, please consider your application unsuccessful. Your CV will be kept on file for any further suitable positions.