The purpose of the Full Stack C# software engineer is to provide technical advice, choices and solutions and to monitor the work of other developers in the team. The software engineer is further focused on ensuring that developers meet delivery dates on projects and to alert the Product Owner and Delivery Manager where delivery date are going to be missed.

Design, Implement and Maintain world-class Software.

  • Ensure the solution performs efficiently delivering a solution in which throughput rates, response and processing times meet stated requirements.
  • Effectively and efficiently utilise resources to ensures the maximum operational capacity requirement is achieved or exceeded.
  • Ensure the solution is compatible and effectively/efficiently exchange information with other products.
  • Deliver an interoperable solution which can exchange and use information between different solutions not necessarily on the same environment.
  • Ensure the solution has a high usability factor, the solution can achieve specified goals with effectiveness, efficiency, and satisfaction, user of the system can comfortably recognise the systems flow and the system logically supports user self-learning.
  • Investigates implementation risk sufficiently throughout the specification-building process, by ensuring that that the risks associated with the specification are manageable and achievable with the deadline.
  • Understands the technical design specification and commits to the deliverables.
  • Provides input into the technical design specification to ensure the client’s requirements are met.
  • Ensures a clear understanding of the functional and technical design specifications are gained, escalating any questions to Lead Developer and Product Owner.
  • Develop and build the system according to the approved design and in accordance with the programming standards.
  • Builds a prototype development in accordance with the specification on instruction from Product Owner
  • Provides design and analysis input into the specification when required.
  • Provides project planning input as required.
  • Ensure that the front-end website architecture and back-end applications are functionally complete to deliver a correct, complete and an appropriate solution which covers all the agreed specified tasks and user objectives.

Ensure Quality Software Solutions are Developed.

  • Use diagnostic tools/techniques to identify the root cause of software failures.
  • Ask pertinent questions and obtain answers where possible.
  • Perform trouble shooting and effectively resolve issues to increase solution stability and reduce intervention required over time.
  • Recommend and execute improvements to software.

Design Fit for Purpose Solutions & Algorithms

  • Ensure the solution is reliable, robust, maintainable and durable.
  • The solution simplifies support and maintenance through traceability and effective error messaging.

Developer Testing and Verification

  • Ensure the solution is test friendly by creating effective mechanisms for test data, automated testing hooks and simulations.
  • Ensure reported defects are categorised by priority and fixed as appropriate.
  • Ensure the project management team is informed of potential risks stemming from defects.

Mentorship / Training

  • Provide mentorship and guidance to internal staff on technical and system processes.
  • Perform internal training for technical staff as required.
  • Ability to mentor and assist others, and to lead internal training sessions.
  • Mentor junior resources on specialised knowledge.

Minimum Requirements
Qualification and Experience Requirements

• 5-8 years software development experience.

• BSc Computer Science or Information Systems.

Technical / Technology Skills

· Extensive experience as a full stack developer.

· Highly competent in C# .Net Core 5, Angular 12, RDBMS (PostgreSQL), Web Services, HTML and CSS.

· Deep experience building web applications using Angular 1, RESTful Services, JSON and Micro-Services, RDBMS, HTML5, JavaScript, CSS3

· Deep experience in building APIs and documenting with Swagger

· Experience in Domain Driven Design/Development

· Deep knowledge and proficiency in microservices design patterns including CQRS, Event driven programming, aggregator, asynchronous messaging, API gateway.

· Extensive experience in designing Restful APIs.

· Extensive experience in Entity Framework, Code First Development and Migrations

· Extensive experience working on Azure DevOps Boards, Repos, Pipelines, Releases

· Deep understanding of DevOps techniques, including CI/CD essential.

· Deep understanding of RDBMS’s with proven experience with Data Modelling, Design, SQL Function, Stored Procedures

· Databases & web storage – PostgreSQL, MySQL, Dynamo DB, Amazon RDS, Oracle, AWS S3

· Clear understanding SaaS Cloud based concepts.

· Development experience in either Azure or AWS on serverless architectures

· Extensive experience using CI/CD tools.

· Extensive experience using repositories such as Git / GitHub / SVN

· Deep experience in Visual Studio and VS Code

Desired Skills:

  • C#/ .NetCore
  • Angular
  • Code First

Learn more/Apply for this position