Responsibilities

  • Collaborating with management, departments, and customers to identify end-user requirements and specifications
  • Designing algorithms and flowcharts to create new software programs and systems
  • Producing efficient and elegant code based on requirements
  • Testing and deploying programs and applications
  • Troubleshooting, debugging, maintaining, and improving existing software
  • Compiling and assessing user feedback to improve software performance
  • Observing user feedback to recommend improvements to existing software products
  • Developing technical documentation to guide future software development projects
  • Work with the Head of ICT in ensuring timely closure on all database related issues
  • Researching, designing, implementing, and managing software programs
  • Testing and evaluating new programs
  • Identifying areas for modification in existing programs and subsequently developing these modifications
  • Writing and implementing efficient code
  • Determining operational practicality
  • Developing quality assurance procedures
  • Deploying software tools, processes, and metrics
  • Maintaining and upgrading existing systems
  • Training users
  • Working closely with other developers, UX designers, business, and systems analysts

Qualifications

  • BSc/BA in Computer Science, Software Engineering, or a related field
  • Proven experience as a Software Developer, Software Engineer, or similar role
  • Familiarity with Agile development methodologies
  • Experience with software design and development in a test-driven environment
  • Knowledge of coding languages (e.g., C++, Java, JavaScript) and frameworks/systems (e.g., AngularJS, Git)
  • Experience with databases and Object-Relational Mapping (ORM) frameworks (e.g. Hibernate)

Desired Competencies

  • Customer Focus
  • Continuous Improvement
  • Adaptability/Flexibility
  • Accountability
  • Building Relationships
  • Teamwork
  • Communication