Job Description
We are seeking a skilled software professional to design, develop, and maintain high-quality software solutions. The ideal candidate will possess strong expertise in C#, .NET, ASP.NET, JavaScript, and SQL Server.
As a member of our cross-functional team, you will work collaboratively to deliver scalable and reliable systems that meet our clients' needs and business objectives.
This is an excellent opportunity for someone who is passionate about clean code, continuous learning, and making a meaningful impact.
Responsibilities
* Design, develop, and unit test applications according to established standards.
* Analyze and resolve technical and application issues to ensure system reliability and performance.
* Create and maintain developer documentation to support maintainability and knowledge sharing.
* Ensure software quality and security by adhering to development best practices and standards.
* Deliver projects on time, aligning with prioritised requirements.
* Collaborate with cross-functional teams to drive project success.
* Contribute to group technology initiatives, actively participating in team objectives and innovation efforts.
* Demonstrate mentorship and teamwork, supporting less experienced developers and fostering a collaborative environment.
* Participate in Agile development methodologies, such as Scrum, XP, or Kanban.
Requirements
* University degree in Computer Science or a related discipline; relevant experience will be considered.
* Minimum 3 years' experience as a software engineer.
* Highly proficient with Microsoft .NET development using C# and web development technology using ASP.NET, MVC, HTML, Web API, and JavaScript.
* Knowledge and experience of Vue.js, cloud-based services (GCP), Docker are highly desirable.
* Experience in relational database design and programming, especially using Microsoft SQL Server.
* Knowledge and experience in NoSQL databases are highly desirable.
* Extensive experience designing and developing enterprise-grade software.
* Experience with source control management systems and continuous integration/deployment environments, such as Git, CI/CD pipeline.
* Experience with automated unit testing.
* Experience with Agile development methodologies, such as Scrum, XP, or Kanban.
* Experience with multi-threading and concurrency.
* Experience with debugging, performance profiling, and optimisation.
* A solid understanding of networking and distributed computing concepts.
* A comprehensive understanding of object-oriented and service-oriented application development techniques and theories.