- Follow up full software development cycle (analysis, design, implementation, testing, documentation)
- Understand and verify the functional and business requirements of the software
- Ability to gather business requirements from appointed focal points
- Ability to write clear understandable technical documents
- Understand the software design strategies and method Model for the system structure and behavior
- Has the ability to design and evaluate different solutions for and identical business case.
- Be able to work on sophisticated architecture level cases.
- Implement and maintain software applications using a variety of tools and solutions
- Involved in developing estimates for the project
- Periodically report project status to team leader.
- Communicate with Team Leader for any deficiencies or conflicts in design
- Consult his technical lead and peers on the proposed design solution
- Acts as the first and second level of support for production systems users.
- Transfer knowledge and know-how to other developers
- Ability to research new technologies, tools, and solutions.
- Mentor and collaborate with his colleagues
- Conduct training sessions for end-users
- Minimum three 3 years of software development experience.
- Bachelor’s Degree in computer science, IT
- Excellent awareness of the software lifecycle.
- Strong object-oriented design and programming skills in Java
- Familiar with design pattern
- In-depth Working knowledge of Database Management Systems.
- Experience with databases and Object-Relational Mapping (ORM) frameworks (e.g. Hibernate)
- Experience with deployment and available servers (Tomcat, WebLogic,..)
- Experience with Spring, Spring boot, Angular, spring-security, J2EE and J2SE platform using Object-oriented methodology.