Java Software Developer Job at Byteworks Technology Solutions

Byteworks Technology Solutions - We are intense and serious about providing the highest grade of software for you. Our values are deeply embedded in all we do for our customers, from organization to benefit realisation and everything in between. Because we understand information and beauty, we involve art, delicacy and rare Quality to produce whatever service or product we offer you. And our people are simply experienced and trained to be adaptive to your needs. For Success, Trust and Peace of mind, people come to byteworks.

We are recruiting to fill the position below:

Job Position: Java Software Developer

Job Location: Abuja (FCT)
Employment Type: Full-time

Job Description


  • As a Java Developer, you will be part of a team of Developers that will be the brain behind crafting, developing, testing, going live, and maintaining the system
  • You must be passionate about learning and understanding the development process that drives a better customer experience and adoption.

Responsibilities / Requirements

  • Advanced knowledge of the software development lifecycle: SDLC (Requirement gathering and analysis, Design, Implementation and Coding, Testing [including unit and integration testing], Deployment, Maintenance).
  • Advanced knowledge in data layer design (relational databases). Practical knowledge of related concepts such as normalization (up to the 3rd normal form).
  • Designing, implementing, and maintaining Java applications that are often high-volume and low-latency, required for mission-critical systems
  • Interacts professionally with clients and internal business units to assist in developing core business requirements for applications.
  • Advanced knowledge of Java programming language.
  • Knowledge of Webservices / API implementation with Java (proficiency in the Spring framework is an advantage) and web application frontend (Angular, React, HTML/CSS).
  • Knowledge of data structures and algorithms.
  • Designing applications in line with best practice and the specific requirements of clients (clean code, test coverage, source code version control, pull requests, code review, issue tracking, graceful as well as aggressive error handling).
  • Documenting and communicating design approach and methodology to clients.

Experience / Skills / Certifications

  • Bachelor's Degree in Computer Science, Management Information Systems, Engineering, or any of the Physical Sciences from a reputable University.
  • 2+ years of software development experience.
  • Rich experience in Application Development is a requirement.
  • An Advanced Degree is an added advantage.
  • Experience in the design, development, deployment, and management of at least 3 large-scale enterprise application (JAVA) projects
  • Certifications in Java programming, HTML 5, Angular, Python, CSS, JavaScript and SQL, and OCPJP is an added advantage.

Competencies:

  • 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).
  • Understands and can 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).
  • Very proficient in Java/Java EE and any other programming and/or scripting languages.
  • Proficient in Webservices / API design and implementation with Java (proficiency in the Spring framework is an advantage) and web application frontend (Angular, React, HTML/CSS).
  • Practical knowledge of data structures and algorithms
  • At least some basic agile / project management skills; are required to deliver on a software feature/project.
  • Have a working understanding of application security concepts (security of data at rest or in transit, access control, audit logging) and be able to apply them in application design and development.
  • 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
  • Critical thinking.
  • Ability to communicate effectively verbally and in writing.
  • Knowledge of modern computer hardware, and software and ability to work on multiple assignments with efficiency.
  • Honesty, integrity, and commitment to work.
  • Teamwork, proactive, self-driven, results-oriented with a positive outlook.