.Net Lead Software Developer
Ann Arbor MI
6 Months CTH
PREFER HYBRID! MonWed on site Thursday Friday remote (or onsite)
Job Description:
- Strong Experience with .NET Core/Framework: Youve 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 frontend 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 cloudnative applications is a big bonus.
- Agile Enthusiast: Youre comfortable working in an Agile environment and know how to break down tasks and deliver incremental value.
Required Skills
- C#: The primary language for .NET development. Strong proficiency in C# is essential including knowledge of objectoriented 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 (ObjectRelational 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 Microsofts 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.
- TestDriven 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 CrossSite 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 multithreading parallelism and asynchronous operations for highperformance applications.
Required Soft Skills:
- ProblemSolving: Ability to break down complex problems and develop effective efficient solutions.
- Collaboration & Teamwork: Communicating and working effectively in a team often with diverse colocated and crossfunctional teams.
- Communication: Clearly explaining technical concepts to both technical and nontechnical stakeholders.
- Adaptability: Willingness to learn new technologies frameworks and methodologies as the .NET ecosystem evolves.