Key Duties and Responsibilities:
Design, develop, and implement software systems and applications.
Analyze user requirements and convert them into technical solutions.
Write clean, efficient, and maintainable code.
Develop and maintain software applications, scripts, and utilities.
Integrate software components and third-party programs.
Ensure seamless integration and compatibility with existing systems.
Conduct unit testing, integration testing, and performance testing.
Identify and resolve bugs, performance issues, and security vulnerabilities.
Create and maintain comprehensive documentation for system designs, code, and technical processes.
Ensure documentation is up-to-date and accessible for team members.
Communicate effectively with team members to understand requirements and provide technical guidance.
Provide ongoing support and maintenance for existing systems.
Troubleshoot and resolve system-related issues and provide timely solutions.
Monitor system performance and optimize software for maximum efficiency.
Implement best practices for scalability and performance enhancement.
Implement security measures to protect software systems and data.
Ensure compliance with relevant security standards and regulations.
Stay updated with the latest industry trends, technologies, and best practices.
Continuously improve development processes and tools to enhance productivity and quality.
Qualifications:
Bachelor's degree in Computer Science, Information Technology, or a related field (or equivalent experience).
Proficiency in programming languages such as Java, C#, Python, or C++.
Strong understanding of software development methodologies, tools, and frameworks.
Proven six (6) years experience of which three (3) should be in database management systems (e.g., SQL, NoSQL), and cloud platforms (e.g., AWS, Azure, Google Cloud).
Familiarity with DevOps practices and tools (e.g., Docker, Kubernetes, CI/CD pipelines).
Knowledge of web technologies (e.g., HTML, CSS, JavaScript) and web services (e.g., REST, SOAP).
Understanding of network protocols and security best practices.
Knowledge of system architecture, design patterns, and best practices.
Excellent problem-solving skills and attention to detail.
Strong communication and collaboration skills.
Ability to work independently and in a team-oriented environment.