Mission
JOB PURPOSE:
The Software Developer plays a critical role in the end-to-end delivery of high-quality digital solutions. This role is responsible for designing, developing, and maintaining scalable, secure, and user-centric applications across web and mobile platforms. The incumbent will collaborate closely with design and product teams to bring innovative business applications to life, contributing to RDMC's ongoing digital transformation journey. A strong focus is placed on performance, maintainability, and continuous improvement in both code and processes.
Profile
RESPONSIBILITIES/DUTIES
Requirements Analysis
• Engage with stakeholders to understand and translate business needs into technical requirements.
• Collaborate with UX/UI designers, product owners, and other developers to create functional and user-friendly applications.
• Develop wireframes, mockups, and prototypes to validate concepts and gather feedback early in the development process.
• Contribute to backlog grooming and sprint planning activities in Agile/Scrum environments.
Development & Testing
• Build responsive and interactive web applications using HTML5, CSS3, JavaScript (ES6+), and PHP.
• Develop backend components and services using PHP (Drupal 9/10), Node.js, and modern frameworks like Vue.js or React.
• Conduct thorough unit, integration, and end-to-end testing to ensure code reliability and performance.
• Ensure applications are optimized for performance across all devices and browsers.
• Lead troubleshooting and debugging efforts to resolve technical issues effectively.
• Integrate third-party APIs and ensure seamless data exchange across systems.
Code Quality & Compliance
• Write clean, efficient, and reusable code that follows industry standards and internal best practices.
• Use Git for version control and collaborate via pull requests and code reviews.
• Ensure all developed features adhere to company standards for security, accessibility, and privacy.
• Contribute to the enforcement of secure development practices (e.g., input validation, encryption standards).
• Document software functionality, design decisions, and configuration steps for future reference.
Continuous Improvement & Knowledge Sharing
• Stay informed of emerging trends, tools, and best practices in web and mobile development.
• Share insights and technical knowledge with team members through documentation, workshops, or mentorship.
• Contribute to internal frameworks or libraries to streamline future development work.
Cross-functional Collaboration
• Work closely with QA, DevOps, and infrastructure teams to ensure successful deployment and monitoring of applications.
• Support product demos, presentations, and user training where required.
• Participate in retrospectives and actively suggest ways to enhance team performance and project delivery.
ESSENTIAL QUALIFICATIONS, KNOWLEDGE & EXPERIENCE
QUALIFICATIONS:
• Bachelor’s degree in Computer Science, Information Systems, or a related field (preferred).
• Technical certifications in web development, mobile frameworks, or database management are advantageous.
• Fluent in both English and Arabic; French is a plus.
KNOWLEDGE:
• Solid understanding of front-end and back-end technologies: PHP, Node.js, HTML, CSS, JavaScript (ES6+).
• Proficiency in working with MySQL-based databases (e.g., Percona Server 8.0.33).
• Familiarity with security protocols, performance tuning, and basic DevOps practices.
• Competency in using Git and collaborative version control systems.
• Understanding of RESTful APIs, web services, and third-party integrations.
• Familiarity with Agile development methodologies (Scrum, Kanban) is a plus.
EXPERIENCE:
• 3-5 years of experience in application development, software testing, or related technical roles.
• Hands-on experience with modern JavaScript frameworks (Vue.js or React).
• Experience working on team-based development projects, internships, or freelance work will be considered an asset.
DESIRED BEHAVIORS & EXPERIENCES
• Self-driven and proactive, with the ability to work both independently and in collaborative team environments.
• Strong problem-solving skills and attention to detail.
• Effective time management and organizational abilities.
• Eagerness to learn new technologies and adapt in a fast-paced digital landscape.
• Open to feedback and continuous personal and professional growth.