About the position
To design, develop, implement, and maintain all application systems and associated technologies, with a strong focus on SQL database development. The incumbent is responsible for ensuring optimum performance, efficiency, and high availability of data systems and related applications for internal and external clients.
Key responsibilities:
SQL development and database engineering
- Write advanced SQL queries, stored procedures, functions, views, and triggers.
- Design, normalise, and implement relational database models and schemas.
- Perform performance tuning and query optimisation, including execution plan analysis and troubleshooting.
- Define and implement indexing strategies, including clustered, non-clustered, and columnstore indexes.
- Develop and maintain ETL pipelines and data integration processes.
- Apply data warehousing concepts and dimensional modelling techniques.
- Manage database security, permissions, and access control.
- Plan and execute backup, recovery, and disaster recovery procedures.
- Handle transaction management and concurrency control in high-volume environments.
- Support data migration initiatives and database deployments.
Design:
- Meet with developers and development team leaders to discuss the scope of software projects and delivery deadlines.
- Analyse existing programs and database structures for modification and improvement purposes.
- Research and design new software systems, data models, and application components.
Development:
- Write clean, scalable, and well-documented code in Java, C#, or PHP as required.
- Troubleshoot and debug application code and database scripts.
- Review code for accuracy, functionality, and adherence to standards.
- Perform coding assignments as directed by the development team lead.
Implementation:
- Verify and deploy software systems and database changes across environments.
- Create and execute implementation plans, ensuring minimal disruption to production systems.
Maintenance:
- Evaluate user feedback and translate it into actionable improvements.
- Recommend and implement software and database enhancements.
- Maintain application code, database scripts, and security configurations.
- Create technical documentation and provide training to staff where required.
- Conduct regular code and database reviews to ensure ongoing quality.
- Stay abreast of new technologies and developments in the SQL and software development space.
Communications and working relationships:
Internal:
- Developers
- Guides and mentors’ new staff in the processes of the organisation and relevant systems.
- Perform code reviews.
- Business Analyst
- Get better understanding of user requirements
- Explain and teach existing process and flow of systems
Qualifications, Experience, and Skills:
Educational qualifications:
- Software Development related Qualification will be an added advantage.
Professional qualifications:
- BSc Degree (Computer Science) or related qualification.
Years of experience:
- 5 – 10 years in SQL and software development, with demonstrable experience in database design, query optimisation, and application development. Capable of performing
- Capable of writing code in Java, C# or PHP
- Proficiency Level - Advanced: Applied Theory
Technical skills and competencies:
Core technical requirements
- Proficient in MSSQL and/or MySQL database development and administration.
- Capable of writing application code in Java, C#, or PHP.
- Strong understanding of relational database theory and normalisation.
- Experience with stored procedures, functions, views, triggers, and indexing strategies.
- Familiarity with ETL development, data warehousing, and dimensional modelling.
- Solid understanding of Web API integration and consumption.
- Proficient in version control using Git or SVN.
- Experience with large-scale databases and high-volume data processing environments.
Soft Skills:
- Excellent written and verbal communication skills.
- Strong time management and organisational skills.
- Demonstrated leadership and mentoring ability.
- Conflict resolution and team collaboration skills.
- Strong analytical, critical thinking, and problem-solving abilities.
- Sound understanding of both procedural and object-oriented programming principles.
Required Proficiency Level:
- Advanced (Applied Theory).
Behavioral competencies:
The incumbent is required to have demonstrated the following competencies:
- Adaptability/decisiveness: Ability and confidence to vary between being flexible and holding firm on a decision, depending on what the situation requires. Showing leadership by adjusting one's approach to the demands of a task by taking and maintaining a position in a self-assured manner.
- Initiative/perseverance: Ability to be willing to take action to address needs without being requested to do so. Staying on-task to completion, particularly in the face of obstacles or other trying circumstances.
- Interpersonal skills: Ability to work effectively with different people and teams of people by putting [Email Address Removed]owledging diverse opinions, addressing relevant concerns, minimizing conflict, promoting harmony. Cooperating with others and working toward consensual solutions to achieve the group's objectives.
- Organizational skills: Ability to identify and set priorities, plan and effectively allocate appropriate resources. To attend to detail so that relevant issues are addressed and result in high-quality outcomes.
- Stress management: Ability to work well under pressure or opposition, while maintaining effectiveness and self-control during any one or combination of stressors, including emotional strain, ambiguity, risk to self and fatigue.
- Valuing service and diversity: Ability to be sensitive to client and community needs and perceptions by providing prompt, efficient and equitable service, involving clients and community in the resolution of problems that affect them.
Desired Skills:
- SQL and software development
- writing code in Java
- C# or PHP
- Web API integration
- Git or SVN.
- MSSQL and/or MySQL database development