The Senior Software Engineer provides hands-on software design, development, mentoring, and testing skills to complete projects. This position is responsible for proficient coding and testing a variety of systems written in .NET Core, and other related web development technologies with interactions focused on back-end code, databases and third-party systems.
Responsibilities
- Efficiently develop new software based on given requirements using industry best practices for security, maintainability, performance while following existing internal standards.
- Actively participate, and lead, relevant sprint processes (e.g. planning, grooming, retrospectives, scrums). Responsible for initial high-level sizing.
- Assume a high level of ownership of all work developed by members of the team.
- Provide technical guidance to team members, encourages work productivity.
- Lead project team members and responds to team requests (product, designers, staff) in a timely manner.
- Maintain and improve the performance and quality of existing software.
- Collaborate with stakeholders to review software requirements.
- Clearly and regularly communicate with management and technical support colleagues.
- Train and integrate new team members and proactively support the continued development of existing team members.
- Recommend improvements to existing software programs as necessary.
- Create new software development processes and procedures.
- Develop and maintain unit tests for existing and created code to ensure compatibility and stability.
- Responsible for 3rd level emergency support for maintaining site operation with minimal downtime.
- Identify and implements new software tools, development processes, and procedures.
Requirements
- Strong understanding of .NET Core.
- Strong proficiency and fluency in C# and T-SQL.
- Experience with Single-Page Application Architectures (esp. React).
- Ability to design efficient distributed systems.
- Strong analytical and problem-solving skills.
- Ability to work autonomously as well as under management supervision.
- Strong communication skills (oral and written communication, email etiquette, etc.)
Preferred Education and Experience
- Bachelor’s degree
- Experience with Agile/Scrum delivery teams.
- Experience with Visual Studio and VS Build Process and C#
- Experience with .NET Core
- Experience with RESTful API development using gRPC or ASP.NET Web API
- Experience with DVCS, Mercurial/Git
- Experience MS SQL Server 2014+
- Experience with Continuous Integration/ Continuous Deployment pipelines.
- Proficiency with Azure
- Proficiency with container technologies (esp. Docker).
Position will require successful completion of a background check and drug testing prior to starting employment.