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