Software developer

Systems Software Developer at The Focus Group – KwaZulu-Natal

The position exists to develop, test, and document quality enterprise-wide enterprise applications and subsystems, from specification to full release, that meet internal and external customer expectations.

Software development

· Ensure that all project delivery expectations are met in accordance with the Project Manager’s expectations.

· Ensure that issues impacting delivery expectations are highlighted and escalated to the Project Manager as early as possible to ensure impact is minimized.

· Design and implementation of test harnesses to aid in design validation.

· Ensure that all aspects of the development code of practice are understood and adhered to.

· Participate in code reviews, sprint reviews, sprint retrospective, sprint planning and stand-up sessions.

Software support

· Ensure that support is provided to departments and execution teams when required.

· Ensure that all Change Requests (RCRs) are fully assessed and processed accordingly.

Software quality

· Ensure that all software released conforms to customer expectations as defined in the requirements specification.

Identify all issues and risks and develop plans to mitigate these issues and risks

· Ensure that all software released is of a level of quality that does not compromise validation and deployment delivery expectations.

· Ensure software quality through unit testing, functional testing and final application testing in accordance with relevant specifications.

· Ensure that the solution is validated on all hardware and software platforms according to the project

· Generate supporting documentation to help the infrastructure team deploy and support the solution.

Customer relationship

· Provide problem solving and technical support to relevant departments.

· Interface with customers and suppliers to define/resolve specification(s) issues and recommend solutions if necessary.

Corporate dues

Participate constructively as a member of the extended team

Undertake any other ad hoc task or project that may be assigned from time to time

Ensure the protection of the business interests of the company always and in all circumstances

Take all possible measures to ensure personal safety and the safety of others as a priority

Demonstrate professional skills and a high level of fairness and integrity

Qualifications and experience

Matrix

Degree in Software Engineering/Computer Science/Computer Engineering

Microsoft developer certification is beneficial

2+ years designing and developing custom multi-tier software applications in a mid-sized enterprise environment

Experience in developing software solutions using various programming languages

· Driving license

The following indicates what would generally be expected for this role at a proficient level:

Mastery of DotNet Framework, DotNetCore ecosystem

Mastery of Rest API and web services in a SOA architecture

Proficiency in Asp.Net, Asp.Net MVC

Proficiency in T-SQL, Entity Framework

Working knowledge of HTML, CSS, JavaScript (Angular/React or any JS Framework would be advantageous)

Working knowledge of Windows Services development

· Working knowledge of messaging queuing technologies e.g. RabbitMQ, NServiceBus

· Working knowledge of agile development methodologies e.g. Scrum, sprint planning, review and retrospective

· Working knowledge of Azure DevOps

Mobile development would be beneficial but not required

· Able to design models, refactor and perform unit tests

Able to use best practices and procedures related to custom software development and software

development cycle

· Able to secure and optimize applications

Exposure to working with Docker and Kubernetes environments

Exposure to working with TCP, UDP protocols

Exposure to working with sockets, AT commands and interfacing with hardware

Able to handle source control using Git

· Understanding of good application design

· Excellent written and verbal communication skills

· Strong business acumen

· Excellent Microsoft Office skills

· Negotiation and networking skills

· Professional approach

· Commitment to customer service

· High level of integrity and confidentiality

· Able to work under pressure

Find out more/Apply to this position