JOB PURPOSE STATEMENT
The job holder is responsible for designing, developing and maintaining robust software systems, including:
Software system development
Improving system reliability and supporting the ICT department in achieving its objectives.
Code reviews.
Resolving technical issues to support the team’s overall productivity and success.
KEY RESPONSIBILITIES
Software Systems Development: Develop scalable and efficient software systems that meet business needs and handle growth.
Software Systems Maintenance: Maintain existing systems and implement security measures to protect systems from vulnerabilities and threats.
User Support: Facilitate user satisfaction through collaboration with relevant stakeholders and adhering to best practices and
Innovation and Continuous improvement: Innovate new ideas to improve developed processes.
Reporting and Documentation: Create systems and projects documentation processes.
Any other responsibilities assigned.
KEY ACCOUNTABILITIES
Effective use of project management tools
Scalable software systems.
Efficient and high-quality codes
MAIN ACTIVITIES
Software Systems Development (25%)
Design and build software solutions that can handle growing volume of data and user interactions without compromising performance.
Gather requirements for designing system architecture, and coding with scalability in mind.
Carry out effective Business reviews with users
Document comprehensive Business Review Documentation
mplement security measures by incorporating best practices such as encryption, access controls, and secure coding practices.
Carry out unit testing for solutions developed.
Carry out user testing.
Ensure effective system integration.
Software Systems Maintenance (25%)
Continuously monitor and review existing software systems to identify and address bugs or performance issues.
Implement fixes and improvements to resolve problems and prevent recurring issues.
Perform routine maintenance, update software components, and testing for potential issues.
Implement security measures through the software development process to protect systems from potential threats and vulnerabilities.
Regularly review and update security protocols to address new and emerging threats.
Analyze and improve database performance by optimizing queries, indexing strategies, and schema designs.
Ensure that database interactions are efficient and do not create performance bottlenecks for applications.
Monitor database performance and make adjustments as needed to enhance overall application efficiency and responsiveness.
Regularly evaluate and adjust the system to accommodate increasing demands and enhance overall efficiency.
Fixing bugs and optimizing performance
Enhance database performance and queries
Code Reviews (10%)
Review code to ensure it meets quality standards and follows coding conventions.
Evaluate code for efficiency, readability, and maintainability.
Provide feedback and suggest improvements to ensure consistency and adherence to best practices.
Identify potential errors, bugs, or vulnerabilities before they become issues in production.
Share feedback, best practices, and involve mentees in various stages of the development lifecycle.
Recommend secure coding practices to safeguard the application.
Address any issues or potential risks before code is merged into the main codebase.
User Support (10%)
Participate in meetings and discussions to align development efforts with broader business goals, gather feedback, and make necessary adjustments to software projects.
Collaborate with users to align software solutions with business goals.
Innovation and Continuous improvement (10%)
Stay updated with the latest technologies, frameworks, and tools that could enhance the development process or improve product offerings.
Conduct feasibility studies and present findings to stakeholders.
Streamline development processes, through automation, adopting new tools, or refining existing workflows.
Develop prototypes for new features or products.
Provide constructive feedback during retrospectives or team meetings to help refine development practices, tool usage, and team workflows.
Actively participate in initiatives that aim to improve efficiency, reduce waste, and enhance the overall development process.
Participate in regular code reviews with peers to identify and rectify issues early in the development process, fostering a culture of continuous improvement.
Reporting and Documentation (10%)
Create documentation for system architecture, design decisions, and development for future developers
Write user manuals and guides that help end-users navigate and make the most of the software features.
Maintain and update documentation as systems evolve,
Facilitate knowledge sharing within the team and supporting long-term system maintenance.
Learning & Development (5%)
Participate in training sessions and workshops to enhance skills.
Stay updated with industry trends and technologies relevant to the company’s needs.
Other duties assigned from time to time (5%)
KEY FOCUS AREAS
Supervisory Responsibility/ Work Relationships
Work with all departments in regards to ICT software.
Processes
Software Development & Management
Systems Onboarding
Change Management
IT Security Management
Decision Making & Communication
Resolving complex bugs in the system
Determining the best architecture for a new feature
Ensuring code quality during reviews
Deciding when to refactor existing code
Revenue generation and cost management
COMPETENCY REQUIREMENTS
Expertise in full-stack development
Strong knowledge in version control
Dev Ops knowledge
Good interpersonal skills
Mentorship skills
Communication skills
Problem-solving skills
Analytical skills
QUALIFICATION AND EXPERIENCE REQUIREMENTS
Bachelor’s Degree in Computer Science, Software Engineering, Or A Related Field
Advanced training in JavaScript, node.js, react, Django, Python and database management.
Minimum 2 years of experience in software development with a focus on full-stack development.
TOOLS & TECHNOLOGY
Development Tools: Visual Studio Code, Git, GitHub
Frontend Technologies: React, JavaScript, HTML/CSS
Backend Technologies: Node.js, Express.js, Go, Django, Python
Database: MySQL, MongoDB
Version Control: Git
Operating Systems: Linux, Windows
go to method of application »
Apply via :
Leave a Reply