Senior Software Engineer – .NET
5–8 years experience · Bachelor’s in Computer Science, Software Engineering, or equivalent practical experience
Core Key Responsibilities
-
Design, develop, enhance, and maintain scalable, high-performing applications on the .NET framework, writing clean, maintainable, testable code to established standards.
-
Own assigned features end to end — analysis, design, development, unit testing, defect resolution, and delivery.
-
Translate functional and technical requirements into practical implementations within the existing application architecture.
-
Work effectively inside an established codebase, understanding existing components, dependencies, business logic, and technical constraints.
-
Troubleshoot and resolve complex issues across application code, databases, integrations, and third-party components, including root cause analysis.
-
Participate in backlog refinement, technical analysis, estimation, sprint planning, and code reviews within an Agile team.
-
Develop and maintain unit tests, support QA in diagnosing defects, and maintain technical documentation for implemented features and design decisions.
-
Work with minimal supervision, proactively raise technical risks or blockers, and meet agreed delivery commitments.
Core Technology Skills Required
-
.NET / C# — substantial hands-on development experience across the full SDLC.
-
Object-oriented programming, design patterns, and software architecture — strong grounding in maintainable application design.
-
SQL Server — writing and troubleshooting SQL; hands-on stored procedure experience strongly preferred.
-
IIS and Windows Server — experience with these environments preferred.
-
Git, Visual Studio, and Azure DevOps — source control and development tooling.
-
CI/CD — working knowledge of automated build and deployment pipelines.
-
Engineering practices — coding standards, code reviews, source control, build processes, testing, deployment, and maintenance.
-
Agile / Scrum — delivery within cross-functional development teams.
-
Analysis and problem solving — ability to work through unfamiliar or legacy code and identify practical solutions.
-
Communication — clear written and verbal collaboration with technical and non-technical stakeholders.