The Senior Software Developer position is a hands-on role that emphasizes advanced skills in developing full-stack software solutions coded in C# on the Microsoft .NET development stack as well as system design, data modeling, mentorship, and team leadership skills. This role requires the ability to design complex systems from scratch and the ability to see the project through all layers of the SDLC including successful testing, production release, and hand-off with appropriate support and technical documentation to the operations team.
- Business and data layer technical design and architecture
- Independently implementing solutions with little to no oversight
- Driving assigned tasks to completion (highly motivated, gets things done, self-starter)
- Mentoring and advising less experienced team members
- Working with business users to analyze and clarify requirements and user stories
- Implement high quality, secure, and maintainable code that conforms to coding standards
- Work effectively within a team environment to implement projects in a timely manner
- Contributing technical documentation (ERD, technical design documents, code comments, etc.)
- Working with other developers to define and document the systems architecture and development patterns and best practices.
- Bachelor’s Degree in appropriate field of study or equivalent work experience
- 5+ years of experience as a seasoned software developer using the modern Microsoft stack
- Significant complex software design and architecture experience using Service Oriented Architecture
- Comfortable individually or collaboratively whiteboarding and designing systems from scratch
- Excellent written and verbal communication, interpersonal, and technical writing skills
- Experience developing internet-facing, multi-tenant applications
- Enterprise software design utilizing message queueing and a microservice architecture
- Experience with a service bus-based architecture using MassTransit or NServiceBus
- Experience with async/await, dependency injection, writing unit/integration tests that run on build
- Experience with latest features of SQL Server
- Experience with implementing authentication/authorization such as OAuth, JWT, Active Directory, etc.