Job
Description
As a highly skilled and experienced Senior .NET Developer, you will be joining our team to work closely with Red Hat and customer teams. Your role will be pivotal in designing, developing, and mentoring others in the adoption of modern Cloud Native Development practices. If you are passionate about pairing, fostering technical growth, and building robust microservices-based solutions with .NET and Podman, we are eager to hear from you. Key Responsibilities Lead the design, development, and implementation of high-quality, scalable, and secure microservices using C# and the .NET (Core) ecosystem. Drive the adoption and implementation of Continuous Delivery (CD) pipelines, ensuring efficient and reliable software releases for microservices. Demonstrate highly skilled Test-Driven Development (TDD) practices by writing comprehensive unit, integration, and end-to-end tests to ensure code quality and maintainability within a microservices architecture. Design, develop, and deploy .NET microservices within containers, leveraging inner loop practices. Utilize Podman/Docker Compose (or similar multi-container tooling compatible with Podman) for local development environments and multi-service microservices application setups. Implement robust API Testing strategies, including automated tests for RESTful APIs across microservices. Integrate and utilize Observability tools and practices (e.g., logging, metrics, tracing) to monitor application health, performance, and troubleshoot issues effectively in a containerized microservices environment. Collaborate closely with product owners, architects, and other developers to translate business requirements into technical solutions, specifically focusing on microservices design. Play a key mentoring role by actively participating in pairing sessions, providing technical guidance, and fostering the development of junior and mid-level engineers in microservices development. Contribute to code reviews with an eye for quality, maintainability, and knowledge transfer within a microservices context. Actively participate in architectural discussions and contribute to technical decision-making, particularly concerning microservices design patterns, containerization strategies with Podman, and overall system architecture. Stay up-to-date with emerging technologies and industry best practices in .NET, microservices, and containerization, advocating for their adoption where appropriate. Troubleshoot and debug complex issues across various environments, including Podman containers and distributed microservices. Required Skills and Experience You should have 10+ years of professional experience in software development with a strong focus on the Microsoft .NET (Core) ecosystem, ideally .NET 6+ or .NET 8+. Expertise in C# and building modern applications with .NET Core is required. Demonstrable experience in designing, developing, and deploying Microservices Architecture is necessary. Experience with Continuous Delivery (CD) principles and tools such as Azure DevOps, GitLab CI/CD, Jenkins is essential. A proven track record of applying Test-Driven Development (TDD) methodologies is expected. Practical experience with Podman, including building and running .NET applications in Podman containers, and understanding its daemonless/rootless architecture benefits is required. Proficiency in using Podman Compose (or similar approaches) for managing multi-container .NET applications locally is a must. Extensive experience with API Testing frameworks and strategies such as Postman, Newman, SpecFlow, Playwright, XUnit/NUnit for integration tests is necessary. Deep understanding and practical experience with Observability principles and tools like Application Insights, Prometheus, Grafana, OpenTelemetry, ELK Stack, Splunk is required. Solid understanding of RESTful API design and development is necessary. Experience with relational databases (e.g., SQL Server, PostgreSQL) and ORMs (e.g., Entity Framework Core) is expected. Excellent mentorship and communication skills, with a passion for knowledge sharing and team development are essential. Excellent problem-solving, analytical, and communication skills are necessary. You should have the ability to work independently and as part of a collaborative team.,