Responsibilities
The successful candidate will play a key role in the design, development, maintenance, and enhancement of in-house software solutions. Responsibilities include, but are not limited to:
- Develop, maintain, and enhance high-quality software applications and system components.
- Write clean, efficient, scalable, and well-documented code.
- Create and maintain concise technical documentation to support development and operational requirements.
- Deliver solutions in accordance with agreed development standards, timelines, and project objectives.
- Collaborate closely with the development team to continuously improve processes, innovation, efficiency, and software quality.
- Analyse business requirements and translate them into effective technical solutions.
- Develop a strong understanding of business processes and operational workflows to ensure software solutions align with business needs.
- Participate in testing, troubleshooting, debugging, and ongoing system optimisation.
Core Competencies
The ideal candidate will possess a strong understanding of software development principles, system architecture, and database design, with the ability to quickly adapt to new technologies and development environments.
Key competencies include:
- Strong software engineering and problem-solving skills.
- Ability to translate real-world business requirements into practical software solutions.
- Understanding of application architecture and design patterns.
- Strong analytical and logical thinking capability.
- Commitment to producing high-quality, maintainable, and efficient code.
- Ability to balance quality, performance, and delivery deadlines effectively.
Technical Skills & Experience
Development Technologies
- C# and .NET Framework
- ASP.NET Blazor
- HTML, CSS, JavaScript, and jQuery
- Windows Forms (WinForms) Development
- Development of backend services and server-side components
- RESTful APIs and web integration technologies
Database & SQL
- SQL development and query optimisation
- Database design and data modelling
- CRUD operations and data management
- Concurrency and transaction handling
- Complex query development and performance tuning
Application Architecture
- Multi-tier and enterprise application architecture
- Networking and internet technologies
- Application integration and data exchange
- Report design and data presentation
Advanced Technical Knowledge
C# / .NET
Strong practical knowledge of:
- Object-Oriented Programming (OOP)
- Classes, Structs, Interfaces, and Inheritance
- Generic Types and Methods
- Events and Delegates
- Extension Methods
- Exception Handling
- Type Conversion and Reflection
- Collections and Enumerators
- Globalisation and Localisation
- Data Serialisation
- Hashing and Encryption Fundamentals
- Date and Time Processing
- Asynchronous Programming and Multithreading
- HTTP Protocol Fundamentals
- ADO.NET, including DataTables, DataReaders, Commands, and Parameters
Front-End Development
- Responsive web design principles
- HTML structure and semantic markup
- Modern CSS styling and layout techniques
- User interface design and usability best practices
- Interactive web development using JavaScript and jQuery
Required Coding Standards
The successful candidate should demonstrate a strong commitment to the following development principles:
- Accuracy: Deliver solutions that fully meet business and technical requirements.
- Performance: Develop efficient, high-performing applications and processes.
- Resource Optimisation: Minimise memory consumption and system resource usage.
- Maintainability: Produce clean, structured, and easily understandable code.
- Delivery: Work efficiently and effectively to deliver quality solutions within agreed timeframes.
Ideal Candidate Profile
We are looking for a hands-on
Software Developer who is passionate about building robust, scalable applications and enjoys solving complex business challenges through technology. The successful candidate will thrive in a collaborative team environment, demonstrate strong technical depth across the Microsoft development stack, and contribute to the continuous improvement of systems, processes, and development practices.