What is expected of you:
- Over 2 years of hands-on experience in software development, with a strong emphasis on C# and the .NET framework.
- Proven experience in developing microservices-based applications, ideally within an Azure cloud environment.
- Familiarity with Azure services such as Functions, Durable Functions, Service Bus, and Event Grid.
- Skilled in building distributed systems that are scalable, fault-tolerant, and easy to maintain.
- Solid understanding of software architecture patterns, design principles, and industry best practices.
- Strong analytical and problem-solving abilities, with a keen eye for identifying and addressing technical issues.
- Effective communication skills in English, both written and spoken, for seamless collaboration with cross-functional teams.
Nice-to-have:
- Understanding of containerization tools such as Docker and orchestration platforms like Kubernetes.
- Experience with DevOps methodologies and tools, including CI/CD pipelines and infrastructure as code (IaC).
- Relevant certifications in Microsoft Azure or .NET technologies (e.g., Azure Developer Associate, .NET Core Developer) are a plus.
Responsibilities:
- Design and develop features for .NET-based microservices and Azure cloud infrastructure.
- Collaborate with senior developers to interpret technical designs and convert them into functional code.
- Engage in code reviews, applying feedback and adhering to coding standards and best practices.
- Continuously expand knowledge of emerging technologies and industry best practices.
- Build robust, scalable, and maintainable microservices using the latest .NET framework.
- Leverage Azure services such as Functions, Durable Functions, Service Bus, and Event Grid for cloud-native development.
- Contribute to codebase improvement by identifying technical debt, refactoring existing code, and enhancing system architecture.
- Apply security-focused principles in all aspects of development.
- Partner with the Product team to understand business needs and provide effective technical solutions.
- Take part in sprint planning, backlog grooming, and estimation to ensure timely and high-quality feature delivery.
- Maintain clear and consistent communication with engineering teams and stakeholders to align on project goals and dependencies.
- Offer technical assistance throughout the development lifecycle, including during testing and deployment phases.