ByteWorks Technology Solutions is a Software Development Company. Our people have competencies spanning numerous facets of enterprise engineering and solutions design.
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).
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, 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.
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
5+ years of software development experience.
Rich experience in Application Development is a requirement.
Must possess experience in the design, development, deployment, and management of at least 3 large-scale enterprise application (JAVA) projects
Bachelor’s Degree in Computer Science, Management Information Systems, Engineering, or any of the Physical Sciences from a reputable University.
An Advanced Degree is an added advantage.
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
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.