The Lead MS Software Developer will be responsible for leading a small team of MS Software Developers to develop customer facing applications that are the main portal of interaction for our customers. We are building our system landscape entirely on a Microsoft NET-based MVC/MVVM full stack web platform environment that fully utilizes the full MS stack including Azure for both middleware and platform as a service. The customer facing applications team works primarily with MSSQL Server, ASP.NET, MVC, Web API, and C#, however there is work that may require the use of other languages, specifically Java, PHP, and Python so experience with these is a plus. The team employs Agile software development methodologies.
In this role, you will be responsible for the development, evolution, and implementation of the customer facing software systems - to lead in the development of architectural designs and standards and to provide technical thought leadership. This role has a very high impact to the company!
What's in it for you? This is based in Charlotte, NC and is a 50% remote opportunity!
What the role looks like:
Develop best-in-class customer-facing Web applications and services
Create high quality, well-designed, efficient, and testable code in accordance with current industry standards, documenting development in a meaningful and transferrable way for continuity.
Architecture and Design: Lead and/or participate in the definition and documentation of requirements, architecture, and design of complex systems, based on knowledge of relevant software technologies being developed and/or used in commercial and scientific communities.
Software Development: Develop, test, document, deploy and maintain high-quality software, including full-stack web applications, REST interfaces, command-line interfaces, and distributed resource integration software
Establishes continuous integration, continuous delivery, and continuous deployment pipelines and practices
Team Coordination and Professional Development: Maintain a working knowledge of relevant software technologies being developed and/or used in scientific and commercial communities. Participate in team coordination and development activities, including project planning, project reporting, recruitment, training new staff, and mentoring junior software developers and students
Designs new systems, features, and tools. Solves complex problems and identifies opportunities for technical improvement and performance optimization. Reviews and tests code to ensure appropriate standards are met
Utilizes technical knowledge of existing and emerging technologies, including public cloud offerings from Microsoft Azure
Acts as a technical consultant and resource for faculty research, teaching, and/or administrative projects.
Provide overall leadership, including technical thought leadership to the team
Foster an environment of excellence
Our ideal candidate will have:
6 years developing object-oriented Web applications using .NET, including working knowledge of .NET Framework, .NET Core, and the unified .NET platform (.NET 5+), C#, ASP, MVC
Experience building APIs (Application Program Interfaces), particularly RESTful.
Familiar with asynchronous development practices.
Familiarity with the use of other languages, specifically Java, PHP, and Python is a plus
Excellent SQL skills and experience with SQL Server.
Experience working in the Microsoft Cloud stack, particularly Azure technologies.
Knowledge of Angular or React is a plus.
Experience working in source control, such as Azure Dev Ops (ADO).
Experience in technical leadership and mentoring of a development team
Experience working on an Agile team