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.
· 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.
· Ensure that support is provided to departments and execution teams when required.
· Ensure that all Change Requests (RCRs) are fully assessed and processed accordingly.
· 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.
· 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.
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
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 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
· 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