Job Title: Software Developer
Reports To: Systems and Cyber Security Team Lead
Department: ICT Division: Finance, Legal And ICT
Location: Absa Towers
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
APPLICATION GUIDELINES
- How to Apply: Submit your application to recruitment@optiven.co.ke
- Deadline: Applications close on 31st January 2025.
- Shortlisting Process: Applications will be reviewed on a rolling basis.
- Recruitment Fee: Optiven Group does not charge any fee for job applications, interviews, or placements.
- Communication: Only shortlisted candidates will be contacted due to high application volumes.
- Disqualification: Any form of canvassing leads to automatic disqualification.
- Consent: By applying, candidates agree to allow background checks as necessary.
- Equal Opportunity: Optiven Group is an equal opportunity employer.•
Leave A Comment
You must be logged in to post a comment.