Lead Software Developer (.Net Core) - iMPact Business Group
Grand Rapids, MI 49544
About the Job
Our client, a family-owned Midwestern grocery/retailer striving to better people's lives in all communities, is seeking a Mid-level Infrastructure Lead Software Developer (.Net Core).
Location: Prefer Hybrid onsite in West MI or remote located in 6 states (MI, OH, IN, KY, IL and WI)
Start Date estimate: 12/9/2024
End Date estimate: 12/31/2025
There is a strong potential to be a temp-to-hire position.
Equipment will be provided.
What you'll do:
- Build Real Solutions:
- 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.
- 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.
- 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.
- The modern, unified version of .NET, which combines the capabilities of .NET Core, .NET Framework, and Xamarin.
- 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.
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.
- The modern, unified version of .NET, which combines the capabilities of .NET Core, .NET Framework, and Xamarin.
- 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.
Source : iMPact Business Group