Description
At OSN we believe that every good story is a unifying tool with the power to heal, connect, and inspire everyone regardless of age, gender, language, or nationality. For over 2 decades we have been in the business of showcasing these incredible stories from around the world, curated for our viewers here in MENA. We intend, through our services, our innovation, and our commitment to superior content, to bring the most powerful experiences to every screen.
OSN is the MENA region's leading entertainment company for premium content services serving 26 countries. Our subscribers across both OSN+ (streaming) and OSN channels enjoy curated series, films, and documentaries across genres and languages focusing on Western, Arabic, Turkish, and more. Our purpose is and always will be to elevate the boundaries of great content in MENA, and that's why our people are the most vital part of our success. We believe that having the right team is how we can be successful at everything we do now and in the future.
Job Purpose
The Senior Full Stack Developer will serve as a technical leader in the design, development, and maintenance of OSN's backend microservices and frontend applications. With a focus on innovative and secure coding practices, this role involves driving architectural decisions, mentoring team members, and optimizing system performance. You will align technical solutions with business goals, advocate for best practices, and foster collaboration across teams to enhance the reliability, scalability, and efficiency of our software products.
Key Accountabilities
- Lead architecture and design sessions, defining software solutions that align with OSN's security and coding standards. Establish architectural best practices, design patterns, and coding guidelines for the team.
- Liaise with internal and external stakeholders to gather requirements, define project scope, and ensure effective and timely delivery. Oversee project timelines and resource allocation in collaboration with the Software Development Lead.
- Advocate for clean, maintainable code, and implement SOLID principles, design patterns, and coding standards. Conduct code reviews and mentor junior team members in best practices.
- Develop and support in-house applications and microservices, ensuring security, scalability, and maintainability. Oversee integration, debugging, and testing phases to align solutions with business requirements.
- Identify and implement innovative technologies and processes to improve software efficiency and maintainability. Stay up to date with emerging tech trends and incorporate relevant practices within the team.
- Proactively monitor application health using APM tools and logs (Linux, Windows) to identify and address issues. Provide guidance on troubleshooting complex issues.
Qualifications, experience, skills and competencies
Education required:
- Bachelor's or Master's degree in computer science, Engineering or a relevant field.
Experience required:
- 8+ years of experience in full-stack development, with a focus on both backend and frontend technologies.
- Extensive experience as a senior developer or principal engineer, with hands-on involvement in architectural decision-making and technical leadership.
- Extensive experience in software and web design and development, specifically in C# (.NET Core), Python, ASP.NET, and REST/Web API development.
- Advanced knowledge of Angular 12+, JavaScript, TypeScript, HTML, and CSS for creating dynamic, responsive user interfaces.
- Strong experience with MongoDB, SQL Server, including expertise in database design, No SQL collection, performance optimization, and data management.
- Strong experience in caching, queuing, and message brokers using RabbitMQ, Redis, and Kafka.
- Extensive experience with Azure, including containerization (Docker, Kubernetes), CI/CD tools, and cloud infrastructure management.
- Hands-on experience with Azure development, including advanced cloud-native services and infrastructure management.
Knowledge and Skills
- Strong communication skills, both verbal and written.
- Good Knowledge of workflow design and tools like Apache NiFi for data integration and automation
- Good Experience mentoring developers, leading code reviews, and implementing knowledge-sharing practices.
- Skilled in designing, developing, deploying, and managing microservices, particularly within Kubernetes environments.
- Proficiency in script writing using Python, JSON, XML, YAML, and integration of diverse APIs and data sources.
- Strong proficiency in Dotnet Core, Dotnet 5/6, Python for creating web applications/APIs.
- Strong proficiency with Angular 12+ with libraries like PrimeNG.
- Strong proficiency in creating responsive UIs using Html5, CSS, bootstrap, JavaScript.
- Strong proficiency with MongoDB.
- Strong proficiency with CI/CD practices, Docker, Kubernetes.
- Strong proficiency workflow design
- Good Knowledge of OTT and broadcast-related technologies is advantageous.
- Good understanding of Unit Testing frameworks.
- Solid grasp of SOLID Principles & Design patterns.
- Excellent problem-solving and coding skills.
- Exceptional problem-solving skills, including debugging complex applications and reverse engineering code.
- Advanced understanding of Azure Cloud development.