Main Job Purpose
Main Job Purposes To develop and maintain propriety software applications.
Organogram and Position
Superior 2nd Level : Business Manager
Superior : Product Development & Support Manager
This Position : Senior Software Developer
Subordinate 1st Level : None
Education & Experience
Education (minimum requirements to perform the job) :
School : Grade 12 Certificate
Post School : Degree / Diploma in ICT / Computer Science or equivalent
Experience : At least 8 years of related experience in software development.
Technical Expertise
- Proficiency in C# programming language: Strong understanding of object-oriented 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.
- Proficiency in WPF and MVVM architecture for building desktop applications.
- Strong experience with .NET Core and .NET Framework (v4.7 and up).
- 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 (Object-Relational Mapping) tool for database interaction and data access.
- Web Services: Knowledge of creating and consuming RESTful APIs or SOAP-based 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.
- Design Patterns: Understanding of common software design patterns such as MVC, MVVM, and Dependency Injection for building scalable and maintainable applications.
- General MS Office skills.
- Other Travel: Valid Unendorsed Light Motor Vehicle Driver's License.
- Excellent writing, documenting, and communication skills in English.
- Excellent computer literacy skills.
- Excellent problem-solving and troubleshooting skills.
- Understanding of networks and network principals.
- Excellent knowledge of software programming concepts and techniques.
- Comprehensive understanding of the implementation methodologies for the technology being utilized in product development.
- DevOps knowledge and experience advantageous.
- Knowledge of data backup and recovery principles advantageous.
- Soft Skills: Attention to detail, Communication, Conflict Management, Adaptability, Stress tolerance and management, Planning and organizational, Time Management.
Physical Demands & Work Environment
Driver of a light motor vehicle on public roads. Working conditions are normal for an office and Toll Plaza environment with extensive computer use and occasional driving. The work environment is typical of an office with an IT environment, driving a light motor vehicle on public roads as well as in the open at Toll Plaza’s.
Key Responsibilities
- Software Development: Develop, create, and modify general computer applications software or specialized utility programs.
- Analyse user needs and develop software solutions using industry best‑practice principles.
- Design and customise 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 obtain information on project limitations, 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.
- Perform R&D activities to increase performance, functionality, and develop new products that meet the company’s overall business development strategy and client requirements.
- Assist in determining the approach to be utilised in a project implementation.
- Participate in every aspect of the development and implementation process to understand change implications to current business processes.
- Identify and escalat(e) technical design or specification issues to the Development Manager.
- Follow good development practices and software development life cycle methodologies throughout product development.
- Maintenance and Administration: Reporting to management; investigation, analysing, and resolving system errors pertaining to system software and IT-related hardware.
- Liaison and resolution of system problems with third‑party vendors / suppliers.
- Software Licence Compliance.
- System documentation.
- Client interface and relations.
This Job Specification indicates only the main duties and responsibilities of the position and therefore is not intended as an exhaustive list.
Should you not be contacted within two weeks of your application, kindly consider your application as unsuccessful.