Senior Technical Lead
Reports To: Manager of IT
The Verus Development Team needs a Senior Technical Lead who is responsible for overall solution architecture, implementation and lifecycle using a Microservices architectural framework. The candidate will have experience as a team leader and demonstrable, real-world experience in building microservice applications on Microsoft technologies. This person will play a key role in transitioning Verus from a largely monolithic architectural style to a microservices architecture-based system. This role is supported by the Innovations department, which provides initial implementations, proofs-of-concept, and working models for the development team to adopt or adapt.
- As a senior member of the technology team, this positon will play a key role in creating a technical/architectural vision. Take the lead in turning that technical vision into reality.
- Design, implement and lead a solid code review process to ensure that the developers adhere to standards and architectural principles.
- Participate in standups, code and design reviews, ticket grooming, and testing to ensure adherence to the latest coding practices and industry/company standards.
- Address cross-cutting concerns in the development efforts such as centralized logging, monitoring, alerting, and develop technical solutions to handle these efficiently within the application.
- High level proficiency in writing unit-tests and integration-tests using xUnit (or a similar framework), writing and maintaining a healthy test-suite with good code coverage.
- Build and maintain application projects using Visual Studio, Visual Studio Code, Git repositories and deploy them to various environments using automated CI/CD pipelines and processes in TFS, Azure DevOps and GitHub.
- Decompose current monolithic applications and services into scalable, low-latency microservices that are containerized using Docker and deployed on Kubernetes clusters
- Orchestrate asynchronous event-driven communications between these microservices using Azure Service Bus, RabbitMQ or similar message broker systems.
- Build application persistence layers using MongoDB, Cosmos DB (or a similar NoSQL datastore) for situations that require them.
- Lead the design and development of microservices using the C# language, .NET 5 (previously known as .NET Core) framework, SQL Server (with Entity Framework) and related Microsoft technologies.
Knowledge and Skill Requirements:
- Bachelor’s Degree in a related field such as software, computer science, or computer engineering.
- Strong communication skills with the ability to present complex subjects clearly and effectively to audiences of varying backgrounds, including internal and external stakeholders.
- Experience working in and contributing to an Agile environment.
- Team player with leadership qualities who thrives when collaborating. Must be a critical thinker with strong business analysis skills. Committed to ongoing learning and must be flexible and adaptable in order to explore new ideas and innovate.
- Working knowledge of SQL database systems such as MS SQL Server and NoSQL database systems such as MongoDB or Cosmos DB.
- Proficiency in Microsoft related technologies – such as C#, .NET 5, .NET Core, SQL Server, Entity Framework, ASP.NET MVC.
- Working knowledge of Unit Testing frameworks such as xUnit and Mocking frameworks such a Moq.
- Working knowledge of modern orchestration, integration, and communication mechanisms, including REST APIs, messaging systems such as Azure Service Bus, RabbitMQ or similar, webhooks, and gRPC.
- Working knowledge of authentication systems and mechanisms (OAuth 2/OpenID Connect), best practices for securing web-applications and data at rest.
- Real-world experience in building applications with technologies such as Docker (Linux containers), Kubernetes and deployment platforms such as AKS.
- Experience with CI/CD platforms/tools such as TFS, Azure DevOps, GitHub Actions.
- Experience with Azure CLI, PowerShell, Bash and other command-lines.
Normal business office conditions. Working for prolonged periods of time at a computer screen. To submit a resume, please email us at email@example.com.