Senior Full-stack Java Developer
Cairo, Cairo, Egypt
Full Time
Experienced
Overview:
The Senior Full-stack Java Developer role is for a skilled and experienced Java Developer with a full-stack profile and expertise in Spring Boot. This role is responsible for developing both frontend and backend components of web applications and requires a strong understanding of core Java concepts, proficiency in Spring Boot, and familiarity with frontend technologies. The ideal candidate will have knowledge in version control systems like Bitbucket and experience with continuous integration tools like TeamCity. We are looking for someone who is passionate about delivering high-quality software solutions, possesses excellent problem-solving skills, and is proactive in staying updated with the latest industry trends.Job Description:
- Maintain robust and scalable web applications using Java and the Spring Boot framework.
- Test, and maintain RESTful APIs to facilitate seamless communication between frontend and backend systems.
- Utilize frontend technologies (HTML, CSS, JavaScript, JQuery) to create responsive user interfaces and interactive web elements.
- Implement business logic, perform database operations, and ensure data integrity using relevant Java frameworks (Spring boot MVC- web flux, Hibernate) with knowledge of S3 Minio, Kafka, and Ignite and relational databases (e.g., PostgreSQL).
- Collaborate with DevOps teams to ensure smooth deployment and scalability of applications using tools like Docker and Kubernetes.
- Conduct thorough testing (unit, integration, and end-to-end) to verify the quality and functionality of developed applications.
- Debug, troubleshoot, and resolve issues to maintain and enhance existing applications.
- Stay updated with the latest trends in the Java ecosystem, Spring Boot, and related technologies, and continuously explore new tools and frameworks.
- Utilize version control systems like Bitbucket for efficient code collaboration and management.
- Utilize TeamCity for continuous integration and continuous deployment processes.
- Collaborate with stakeholders to identify data requirements and design data pipelines accordingly.
- Collaborate with other members of the team to ensure efficient delivery of the solution.
- Mentor junior members of the team.
Job Requirements:
- Bachelor's degree in Computer Science, Engineering, or a related field from a reputable university.
- Minimum 3 years of relevant experience.
- Strong proficiency in Java programming language, including core concepts and object-oriented programming.
- Experience developing web applications using Spring Boot and other relevant Java frameworks.
- Proficiency in frontend technologies (HTML, CSS, JavaScript, JQuery) and familiarity with frontend frameworks/libraries (React, Angular, Vue.js, D3.js).
- Solid understanding of backend development, including server-side programming, API design, and working with databases. Experience with Spring MVC and Webflux is a plus.
- Familiarity with relational databases, SQL queries, and ORM tools like Hibernate.
- Knowledge of version control systems like Bitbucket for effective code collaboration and management.
- Experience with continuous integration tools like TeamCity to streamline the build and deployment process.
- Familiarity with deployment practices and tools such as Docker, Kubernetes, and CI/CD pipelines.
- Strong testing skills, including unit testing, integration testing, and end-to-end testing methodologies.
- Excellent problem-solving and debugging skills.
- Continuous learning mindset, proactive in staying updated with the latest industry trends and advancements in the Java ecosystem.
- Excellent communication and collaboration skills, with the ability to work effectively in a cross-functional team environment.
- Attention to detail and a strong commitment to delivering high-quality work within established timelines.
- Ability to work independently and manage workload effectively.
- Ability to multitask and prioritize workflow.
- Proactive and self-motivated approach to work, with a willingness to take ownership of tasks
- A team player with a positive attitude and ability to work well in a fast-paced and dynamic environment.
Apply for this position
Required*