We are looking for a highly skilled and experienced Senior Integration Developer to join our team and take the lead on Azure-based integration projects. The successful candidate will be responsible for designing and implementing efficient, scalable, and secure integration solutions using C# and the .NET framework, with a focus on Azure Functions and Dynamics 365. This role requires a deep understanding of integration patterns, message processing, and data transformation, as well as strong leadership and mentorship skills.
- Expertise in C# and modern .NET (.NET Core / .NET 6 / 7 / 8) is a must.
- Strong OOP fundamentals, including abstraction, encapsulation, and clean API design.
- Proven experience with Azure Functions, dependency injection, and Microsoft Dataverse integrations.
- Hands-on experience with Kafka-based integrations and message deserialization (JSON/Avro).
- Solid understanding of SOLID principles and common design patterns (Factory, Strategy, etc.).
- Experience with unit testing frameworks like NUnit and mocking frameworks (Moq).
- Familiarity with Confluent Schema Registry and Avro tooling is a plus.
- Knowledge of Cosmos DB for caching and DLQ storage is desirable.
- Proficiency with Azure DevOps, Azure Artifacts, and branching policies.
- Excellent problem-solving skills and a proactive approach to development and troubleshooting.
- Design and develop robust, testable integration services in C# (.NET 8) as Azure Functions.
- Implement reliable message ingestion and processing from Kafka, handling deserialization, filtering, and batching.
- Build resilient integrations with Microsoft Dataverse, including efficient data querying and upserting.
- Apply OOP principles and design patterns to create maintainable and scalable solutions.
- Write comprehensive unit and integration tests, perform code reviews, and mentor team members.
- Troubleshoot production issues, implement observability practices, and handle DLQ scenarios.
- Collaborate with cross-functional teams to understand business requirements and deliver effective solutions.
- Stay updated with the latest Azure technologies and best practices, and share knowledge with the team.
- Ensure code quality, performance, and security throughout the development lifecycle.