Role overview
We are currently seeking a Full Stack Engineer to join Pay10 Bahrain. The Full Stack Engineer will have expertise in Core Java, J2EE skills, Spring Framework, Spring Boot, Hibernate,Struts, and knowledge of MySQL C NoSQL Databases. As a Full Stack Engineer, you will be responsible for developing and maintaining both front-end and back-end components of our software applications.
Key Responsibilities:
Frontend Development (Angular):
-
Develop responsive and modern web interfaces using HTML5 and CSS3.
-
Build dynamic single-page applications using Angular and its core features such as components, services, routing, and forms.
-
Write robust and maintainable code using TypeScript.
-
Design and implement responsive layouts compatible with both desktop and mobile devices using frameworks like Bootstrap or Material Design.
-
Utilize Angular CLI to efficiently create components, run tests, and manage builds.
Backend Development (Java):
-
Develop robust and scalable backend services using the Spring ecosystem (Spring Boot, Spring MVC, Spring Data, Spring Security).
-
Design and implement RESTful APIs with Spring Boot.
-
Work with relational (MySQL, PostgreSQL) and NoSQL (MongoDB) databases.
-
Integrate ORM tools such as JPA and Hibernate for database operations.
-
Build and maintain microservices architecture using Spring Cloud and Docker.
-
Implement security features including authentication and authorization using Spring Security or OAuth2.
-
Write unit and integration tests using JUnit, Mockito, and Spring Test frameworks.
General Development:
-
Follow Agile/Scrum methodologies for collaborative development.
-
Apply strong analytical and problem-solving skills to debug and optimize application performance.
-
Use Git and version control tools (GitHub, GitLab, Bitbucket) for code collaboration and maintenance.
-
Ensure RESTful APIs are effectively designed and consumed.
-
Maintain cross-browser compatibility to ensure consistent user experience.
Soft Skills:
-
Work effectively in cross-functional teams including designers, developers, and product managers.
-
Demonstrate strong time management skills and the ability to meet tight deadlines.
-
Show adaptability and a willingness to learn new technologies and development practices.