.NET Developer
Summary
This role involves designing, developing, and maintaining scalable back-end applications and microservices using .NET 8.0+, C#, and Azure DevOps. The developer will manage CI/CD pipelines, containerized deployments, and database components while collaborating in an Agile Scrum environment.
- Design, develop and maintain scalable back-end applications, services and APIs using .NET technologies
- Develop and support microservices, integrations and data processing solutions across multiple systems and data sources
- Implement secure, reliable and high-performance software solutions meeting functional and service level requirements
- Develop and maintain database components, including complex SQL Server queries and stored procedures
- Implement authentication, authorization, logging, auditing and secure coding practices
- Create and maintain automated testing solutions, including unit and integration tests
- Manage CI/CD processes, Azure DevOps pipelines, releases and testing activities
- Develop and maintain containerized application deployments and Kubernetes Helm charts
- Review source code, perform peer reviews and contribute to software quality improvements
- Develop monitoring, reporting and observability solutions, including Elasticsearch and Kibana dashboards
- Participate in Agile Scrum ceremonies, contribute to effort estimation and collaborate with cross-functional teams
- Create and maintain technical, design and architecture documentation
- Communicate effectively with technical teams, stakeholders and management
- Minimum 9 years of relevant software development experience, including at least 5 years of back-end development with .NET within the last 7 years
- Minimum 3 years of experience designing and developing scalable back-end solutions, including REST APIs, integrations and microservices, within highly scalable production environments
- Minimum 2 years of experience with containerized and orchestrated environments, including Kubernetes, Docker Swarm or similar technologies
- Experience delivering at least 2 production-ready projects using OAuth authentication and authorization standards
- Minimum 3 years of experience working in Agile Scrum environments
- Good knowledge of .NET 8.0+, C#, application development environments, software development methodologies, object-oriented programming (OOP) and SOLID principles
- Good knowledge of designing and developing scalable REST APIs, integrations and microservices, including microservice design patterns, asynchronous programming and messaging patterns
- Good knowledge of Git version control and branching strategies, including Git Flow
- Good knowledge of relational databases (SQL Server), message brokers (ActiveMQ, RabbitMQ or Apache Kafka), and CI/CD platforms such as Azure DevOps (Pipelines, Artifacts and Test Plans)
- Good knowledge of unit testing practices, Linux shell usage and basic Linux administration concepts
- Ability to produce clear and complete technical documentation, including solution design and architecture documentation
- Strong analytical, troubleshooting, communication, collaboration and documentation skills
- Desirable:
- More than 1 year of experience working in an international and multicultural environment
- Good knowledge of NoSQL databases, such as Elasticsearch, Redis or Neo4j
- Ability to communicate clearly and concisely with both technical and management stakeholders