Senior .net Developer
Senior .net Developer Princeton, NJ Remote office, but candidates must live within a 200 mile radius 115-130k SUMMARY Our Innovation Team needs a Senior Developer who will assist in designing, building and testing of business software applications using a Microservices architectural framework. The candidate will have demonstrable, real-world experience in Microsoft technologies and will be a primary driving force in the transition of the current development efforts from a largely monolithic architectural style to a microservices architecture-based system.
PRIMARY RESPONSIBILITIES Design and development of microservices using the C language, .NET Core framework, SQL Server (with Entity Framework) and related Microsoft technologies. Orchestrate asynchronous event-driven communications between these microservices using Azure Service Bus, RabbitMQ or similar message broker systems. Decompose current monolithic applications and services into scalable, low-latency microservices that are containerized using Docker and deployed on Kubernetes clusters. Build and maintain application projects using Visual Studio, Visual Studio Code, Git repositories and deploy them to various environments using automated CICD pipelines and processes in TFS, Azure DevOps and GitHub. High level proficiency in writing unit-tests and integration-tests using xUnit (or a similar framework), writing and maintaining a healthy test-suite with a good amount of code coverage for all code thatrsquos produced, at all times. 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. Build application persistence layers using MongoDB (or a similar NoSQL datastore) for situations that require them. Participate in standups, code and design reviews, including testing to ensure adherence to the latest coding practices and industrycompany standards.
QUALIFICATION REQUIREMENTS 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. Five years+ of computer programming experience. Proficiency in Microsoft related technologies ndash such as C, .NET, .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 REST and gRPC. Working knowledge of building event-driven, asynchronous systems using pubsub patterns and tools such as Azure Service Bus, RabbitMQ or similar technologies. 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 CICD platformstools such as TFS, Azure DevOps, GitHub Actions. Experience with Azure CLI, Power
Shell, Bash and other command-lines. Experience with one or more SPA frameworks (Angular preferred) and the ability to traverse Java
Script code. Familiarity and minimal experience with NoSQL database systems such as MongoDB. Experience working in an Agile environment. Strong communication skills with the ability to present complex subjects clearly and effectively to audiences of varying backgrounds, including internal and external stakeholders.