Work on high-impact applications and systems that are used by thousands of users and vital to our organization.
Collaborate with a Talented Team:
Partner with architects, product managers, and other developers in an agile environment to deliver exceptional software.
Innovate:
Bring fresh ideas to the table and contribute to the evolution of our tech stack.
Solve Complex Problems:
Take on interesting challenges and develop creative solutions to enhance user experience and system performance.
What We're Looking For:
Strong Experience with .NET Core/Framework: You've built, maintained, and optimized applications using .NET technologies.
C# Mastery:
You know your way around the C# language and can use it to write clean, efficient, and maintainable code.
Web Development:
Familiarity with ASP.NET, RESTful APIs, and front-end frameworks (e.g., JavaScript, HTML, CSS) is a plus.
Database Knowledge:
Experience with SQL Server or other relational databases, with the ability to write optimized queries and design efficient schemas.
Cloud Skills:
Familiarity with cloud platforms and tools (Azure & Cosmos) and building cloud-native applications is a big bonus.
Agile Enthusiast:
You're comfortable working in an Agile environment and know how to break down tasks and deliver incremental value.
Required Soft Skills:
Problem-Solving:
Ability to break down complex problems and develop effective, efficient solutions.
Collaboration & Teamwork
Communicating and working effectively in a team, often with diverse, co-located and cross-functional teams.
Communication:
Clearly explaining technical concepts to both technical and non-technical stakeholders.
Adaptability:
Willingness to learn new technologies, frameworks, and methodologies as the .NET ecosystem evolves.
Qualifications:
C#:
The primary language for .NET development. Strong proficiency in C# is essential, including knowledge of object-oriented programming (OOP) principles, LINQ, async/await, and exception handling.
.NET 5/6/7+:
The modern, unified version of .NET, which combines the capabilities of .NET Core, .NET Framework, and Xamarin.
ASP.NET / Core /ASP.NET MVC, web services and APIs. Understanding of ORM (Object-Relational Mapping) for working with databases. This includes knowledge of database migrations, LINQ queries, and performance optimization techniques.
SQL:
Proficiency in SQL and relational databases (SQL Server) Cloud Platforms and DevOps
Azure:
Proficiency in Microsoft's cloud platform, including services like Azure App Services, Azure Functions, Azure SQL Database, and Azure DevOps.
CI/CD:
Familiarity with Continuous Integration and Continuous Deployment practices, using tools like GitHub Actions, Azure DevOps, Jenkins, or GitLab CI.
Unit Testing:
Writing and maintaining unit tests with tools like xUnit, NUnit, or MSTest
Mocking Frameworks:
Tools like Moq or NSubstitute to simulate dependencies and isolate the code being tested.
Integration Testing:
Testing interactions with databases, APIs, and other external services.
Test-Driven Development (TDD):
Knowledge of TDD principles can improve code quality and reduce defects. Understanding of Design Patterns & Principles (Required)
SOLID Principles:
Understanding of SOLID principles for writing clean, maintainable, and scalable code.
Design Patterns:
Familiarity with common design patterns like Singleton, Factory, Observer, Decorator, and Repository.
Microservices:
Understanding how to design and implement microservices, with an emphasis on distributed systems and service communication (e.g., using REST, gRPC, or messaging queues)
Authentication & Authorization:
Knowledge of OAuth, OpenID Connect, JWT, ASP.NET Identity, and other security mechanisms.
Data Security:
Secure coding practices, handling encryption, and working with secure data storage solutions.
OWASP:
Familiarity with common security vulnerabilities (e.g., SQL Injection, Cross-Site Scripting) and how to mitigate them.
Accessibility:
Understanding of web and app accessibility standards (WCAG) to make applications usable for all users. Proven experience optimizing performance
Profiling and Debugging:
Familiarity with tools like Visual Studio Profiler, dotTrace, Application Insights, and New Relic for optimizing performance.
Caching:
Implementing caching strategies using tools like Redis, MemoryCache, or Distributed Cache.
Concurrency:
Knowledge of handling multi-threading, parallelism, and asynchronous operations for high-performance applications.