Key responsibilities:
Full Stack Application Development
Develop maintainable backend services and RESTful APIs using C#/.NET, ASP.NET Core and/or TypeScript/NestJS, following agreed architecture and coding standards.
Build responsive, accessible interfaces with reusable components, form validation, state management, and reliable API integration using Angular, React or similar frameworks.
Implement authentication, authorization, input validation, and consistent error handling; address security and performance throughout development.
Data Management and Service Integration
- Design relational data models and migrations; optimize queries, indexes, and transactions to protect data integrity and support application performance.
- Integrate services using clear API contracts, appropriate timeouts, and reliable failure handling.
- Diagnose application and database bottlenecks using logs, query analysis, and performance evidence.
- Use approved AI coding assistants such as GitHub Copilot, ChatGPT/Codex or Claude Code for analysis, design, implementation, testing, debugging, refactoring, and documentation.
- Break work into clear tasks, supply relevant context, and critically review AI-generated code and dependencies. Validate behavior, edge cases, security, and performance through tests and review.
- Protect source code, secrets, and sensitive data in line with company policy. Explain, troubleshoot, and maintain all delivered code, including AI-assisted changes.
Key responsibilities
Software Delivery and Quality Assurance
- Translate business requirements into technical tasks and acceptance criteria; estimate work, identify dependencies, and communicate delivery risks early.
- Write unit and integration tests, support end-to-end and regression testing with QA, and resolve findings from code reviews and security checks.
- Use Git, pull requests, and CI/CD pipelines to deliver traceable changes; support release validation, deployment, and rollback planning.
Production Support and Continuous Improvement
- Investigate production issues, identify root causes, and implement lasting fixes with platform and operations teams.
- Maintain API documentation, technical decisions, configuration guidance, and deployment notes to support ongoing maintenance.
- Improve reliability and development efficiency through refactoring, reusable components, knowledge sharing, and evaluated AI-assisted workflows.
Required qualifications
ExperienceMinimum 5 years of professional software development experience.
LanguagesEnglish is mandatory; Arabic is an advantage.
Technical Skills
- Strong skills in at least one backend stack: C#, ASP.NET Core/Web API and Entity Framework Core or similar; OR TypeScript, Node.js and NestJS with an ORM and dependency injection.
- Hands‑on SQL Server, PostgreSQL or MySQL experience, including data modeling, joins, indexes, transactions, schema migrations, and query optimization.
- Practical understanding of REST, HTTP, API contracts, and failure handling; authentication and authorization using OAuth 2.0, OpenID Connect and/or JWT‑based mechanisms.
- Ability to apply object‑oriented design, SOLID principles, separation of concerns, secure coding, and appropriate design patterns.
- Experience in Clean Architecture and application architecture, including clear separation between domain, application, and infrastructure layers, dependency inversion across boundaries, and sound component and layering decisions for enterprise applications.
- Working knowledge of Agile delivery, Git, pull requests, automated testing, CI/CD, and release management.
- AI‑assisted development: effective prompting and context management, critical review of generated outputs, test‑based verification, and responsible handling of company data.
Soft Skills:
- Communicate technical choices, progress, and risks clearly to technical and business audiences.
- Strong written and verbal communication skills in English, including clear documentation, concise status updates, effective participation in stand‑ups and design discussions, and active listening when gathering requirements.
- Break down complex problems, assess trade‑offs, and investigate issues systematically.
- Own features through delivery and support; raise blockers early and follow through on commitments.
- Collaborate constructively, respond to feedback, and adapt to new technologies and business needs.
Education Requirements:
- Bachelor’s degree in Computer Science, Software Engineering or a related field, or equivalent practical experience.
Specific Experience Requirements:
- Demonstrated delivery and support of production web applications across frontend, backend, and database layers, including changes to existing systems.
- Practical AI‑assisted development experience, with examples of validating generated code, correcting faulty suggestions, and improving delivery without compromising quality.
Preferred qualifications:
Preferred Technical Skills
- Experience working across both .NET and NestJS ecosystems.
- Experience with MongoDB or other NoSQL databases, Redis caching, and appropriate data‑store selection.
- Cloud platforms such as Azure, AWS or Google Cloud; Docker and container‑based deployment.
- Microservices, asynchronous processing, and message queues.
- CI/CD tools such as Azure DevOps or GitHub Actions.
- Monitoring, structured logging, production troubleshooting, accessibility, and performance optimization.
Preferred Soft Skills:
- Mentoring and constructive technical feedback through code reviews and knowledge sharing.
- Ability to improve engineering practices and collaborate across multiple teams.
- Awareness of how technical decisions affect business value, operating cost, and maintainability.
Preferred Education:
Relevant postgraduate study or professional certifications in software engineering, cloud platforms or related fields.