The Senior Software Engineer provides hands-on software design, development, mentoring, and testing skills to complete projects. This position is a key role within the software development team as you will be leading software development tasks and providing technical oversight for a team of software engineers. 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. This position has the authority to manage their own areas of responsibility as well as think broadly and strategically about their projects. The Senior Software Engineer will use an Agile approach to software development; working closely with our customers and cross-functional teams to make iterative, business relevant, software changes.
- 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.
- Ability to lead/mentor software developers.
- 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.