We are looking for a highly skilled full-time Senior Full-Stack Developer who has at least 5 years of experience in front-end and back-end development to join our team. Some travel might be required.
Responsibilities:
• Work collaboratively to design front-end and back-end solutions according to business requirements.
• Develop and maintain the user interface.
• Write clean and scalable codes.
• Identify and analyze user requirements.
• Develop, implement, and maintain Back-end Systems.
• Create interconnected Java modules.
• Develop and maintain RESTful APIs.
• Cover Full API life cycle management.
• Design database architecture.
• Document development phases.
• Ensure our applications are secure, scalable, high quality, and up to date.
• Integrate modules with different systems and protocols built on top of our products.
• Support and guide junior developers, peer review and testing of APIs.
• Collaborate with other teams, including QA, DevOps, and senior management, to ensure the successful implementation of features and enhancements.
• Prioritize, assign, and execute tasks throughout the software development life cycle.
Requirements:
• Bachelor’s degree in Computer Science, Computer Engineering or related fields
• Master’s degree in Computer Science, Computer Engineering is a plus
• Expertise in front-end technologies and frameworks (AngularJS, NextJs, ReactJS or any other alternative)
• Strong proficiency (5+ years of experience) in Java, Spring, and Node.js
• Strong knowledge in modular architecture
• Strong knowledge of SQL
• Strong Knowledge of Spring framework
• Strong Knowledge of JPA/Hibernate
• Strong knowledge of object-oriented programming
• Experience evolving and maintaining modern enterprise applications, with focus on advanced topics such as concurrency, security, performance, memory management, scalability, and robustness.
• Strong verbal and written skills, and proficiency in English and Arabic.
• Strong knowledge of Microservices architecture
• Strong understanding of asynchronous and synchronous programming techniques, and hands-on experience with Docker containers and PM2 production process manager
• Proficient understanding of code versioning tools such as Git
• Experience with microservices and SOA architecture, as well as Kubernetes or other orchestration frameworks
• Experience with AWS services like EC2, S3, SNS, and SES, and exposure to continuous deployment and integration processes
• Familiarity with DevOps practices and tools is a plus
• Understanding of software development methodologies, including Agile and Scrum is desirable
We welcome hearing from motivated and driven developers who are keen to take on new challenges.