Software Developer/Engineering

Website byteworksng Byte Works

Job Summary

As a software developer, you will be the brain behind crafting, developing, testing, going live, and maintaining the system. You are passionate about understanding the business context for features built to drive better customer experience and adoption.


  1. The candidate should have a very good grasp of the software development lifecycle: SDLC (Requirement gathering and analysis, Design, Implementation and Coding, Testing [including unit and integration testing], Deployment, Maintenance).

  2. Proficient in data layer design (for both relational and NoSQL databases). Practical knowledge of related concepts such as normalization (up to the 3rd normal form).

  3. Understands and is able to design and implement software to support performance on the scale (when it’s interacting with a lot of users and/or a lot of data).

  4. Follows good practice for software development (clean code, test coverage, source code version control, pull requests, code review, issue tracking, graceful as well as aggressive error handling).

  5. Very proficient in Java/Java EE and any other programming and/or scripting languages.

  6. Proficient in Webservices / API design and implementation with Java (proficiency in the Spring framework is an advantage), as well as web application frontend (Angular, React, HTML/CSS).

  7. At least some basic agile / project management skills; required to deliver on a software feature/project.

  8. Practical knowledge of data structures and algorithms.
  9. Proficiency in the use of modern tools and technologies that help with the software development lifecycle. Specifically:
    – Git for version control.
    – Maven or Gradle for project lifecycle management.
    – UML2.0+ (Class diagrams, Use case diagrams).
    – Docker for containerized deployment.
  10. Attitude to fit, and a decent dose of effective curiosity. Our values are Excellence, Commitment, Innovation, and Integrity; and our approach to work is Kaizen – Continuous Improvement.

Educational Qualification and professional qualification

  1. Bachelors Degree in Computer Science, Management Information Systems, Engineering or any of the Physical Sciences from a reputable University.

  2. Certification is an added advantage.


  1. Practical knowledge of data structures and algorithms.

  1. Must possess experience in the design, development, deployment, and management of at least 1 large-scale enterprise application (JAVA) project.


  1. Critical thinking.

  2. Good communication skills.

  3. Ability to communicate effectively verbally and in writing.

  4. Knowledge of current computer hardware, software and ability to work on multiple assignments with efficiency.

Interpersonal Competencies

  1. Honesty, integrity, and commitment to work.

  2. Teamwork, proactive, self-driven, results-oriented with a positive outlook.