The position exists to develop, test and document quality enterprise-wide business applications and sub-systems from specification to full release that meet both internal and external customer expectations.
Software Development
· Ensure all project delivery expectations, are met as per the Project Manager’s expectations.
· Ensure that issues impacting delivery expectations are highlighted and fed back to the Project Manager as early as possible to ensure that the impact is minimised.
· Design and implementation of test harnesses to assist 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 the services and execution teams when required.
· Ensure that all change requests (ICR’S) are fully evaluated and processed accordingly.
Software quality
· Ensure that all released software is in accordance with the customer expectations as defined in the requirements specification.
· Identify all issues and risks and develop plans to mitigate such issues and risks
· Ensure that all released software 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 as per project
· Generate supporting documentation to assist the infrastructure team to deploy and support the solution.
Customer liaison
· Provide problem solving and technical support to relevant departments.
· Interface with customers and suppliers to define/resolve specification(s) issues and recommend solutions where required.
Corporate contribution
· Constructively participate as a member of the wider team
· Undertake any other tasks or one-off projects which may be assigned from time to time
· Ensure protection of the company’s commercial interests always and in all circumstances
· Take all practicable steps to ensure personal safety and the safety of others as a matter of priority
· Demonstrate professional skill and a high standard of fairness and integrity
Qualifications and experience
· Matric
· Degree in software engineering/computer science/computer engineering
· Microsoft developer certification is advantageous
· At least 2 years’ designing and developing N-tier custom software applications in a medium-sized enterprise environment
· Experience in developing software solutions using various programming languages
· Driver’s license
The following indicates what would typically be expected for this role at a competent level:
· Proficient in DotNet Framework, DotNetCore ecosystem
· Proficient in Rest API and web services in an SOA architecture
· Proficient in Asp.Net, Asp.Net MVC
· Proficient with T-SQL, Entity Framework
· Working knowledge of HTML, CSS, JavaScript (Angular/React or any JS Framework would be advantageous)
· Working Knowledge of windows service 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 advantageous but not required
· Able to design patters, refactor and complete unit testing
· Able to use best practices and procedures related to custom software development and the software
development lifecycle
· Able to secure and optimise applications
· Exposure to working with with Docker and Kubernetes environments
· Exposure in working with TCP, UDP protocols
· Exposure in working with sockets, AT commands and interfacing with hardware
· Able to manage 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