A.
Position:
SOFTWARE DEVELOPER
B.
Main Job Purposes
To develop and maintain propriety software applications.
C.
Employment Specification
Education & Experience (minimum requirements to perform the job):
School : Grade 12 Certificate
Post School : Degree/Diploma in ICT/Computer Science or
equivalent
Experience : At least 5 years of related experience in software development.
Technical Expertise : Proficiency in C# programming language: Strong understanding of objectoriented programming (OOP) concepts data types variables and control structures in C#.
Angular: Experience with Angular framework for building single page web applications (SPAs) and implementing components services and routing.
Web Development: Knowledge of HTML CSS and JavaScript for building interactive and responsive user interfaces.
Database Management: Familiarity with SQL Server or another relational database management system (RDBMS) for data storage and retrieval.
TypeScript: Proficiency in TypeScript including its features such as static typing interfaces and generics used for building scalable and maintainable web applications.
Entity Framework: Experience with Entity Framework or another ORM (ObjectRelational Mapping) tool for database interaction and data access.
Web Services: Knowledge of creating and consuming RESTful APIs or SOAPbased web services.
Performance Optimization: Skills in optimizing the performance of ASP.NET applications including minimizing latency and improving scalability.
Troubleshooting: Ability to diagnose and resolve technical issues in web applications including performance bottlenecks and runtime errors.
Familiarity with Design Patterns: Understanding of common software design patterns such as MVC MVVM and Dependency Injection for building scalable and maintainable applications.
General: MS Office
Other : Travel: Valid Unendorsed Light Motor Vehicle Driver’s License
H.
Main Duties & Responsibilities:
1. Software Development
•Develop create and modify general computer applications software or specialized utility programs
•Analyse user needs and develop software solutions using industry bestpractice principles
•Design and customize software for client use with the aim of optimizing operational efficiency
•Analyse and design databases within an application area working individually or coordinating database development as part of a team
•Confer with system analysts engineers programmers and others to design systems and to obtain information on project limitations and capabilities performance requirements and interfaces
•Modify existing software to correct errors allow it to adapt to new hardware or improve its performance.
•Analyse user needs and software requirements to determine the feasibility of design within time and cost constraints
•Consult with customers about software system design and maintenance
•Assist with software system installation and monitor equipment functioning to ensure specifications are met
•Analyse and design databases within an application area working individually or coordinating database
•Perform R&D activities to find ways to increase performance and functionality and new products that could meet the company’s overall business development strategy and the client’s requirements
•Assist in determining the approach to be utilized in a project implementation
•Participate in every aspect of the development and implementation process to ensure a full understanding of the change implications to current business processes.
•Identify and escalate technical design or specification issues to the Development Manager
•Follows good development practices and software development life cycle methodologies throughout the product development.
2. Maintenance and Administration
•Reporting to management
•Investigation analysing and resolving system errors pertaining to system software and ITrelated hardware
•Liaison and resolution of system problems with thirdparty vendors/suppliers
•Software Licence Compliance
•System documentation
•Client interface and relations