Job Description: Senior Software Engineer - .Net, C#
Position Overview
The .NET Senior Software Engineer will be responsible for designing, developing, and leading the implementation of high‑quality software solutions using Microsoft .NET technologies. This role involves guiding a team of developers, making architectural decisions, ensuring coding best practices, and collaborating with cross‑functional teams to deliver scalable and robust applications.
Key Responsibilities
Architecture & Design
- Design system architecture, application frameworks, and integration patterns.
- Translate business requirements into technical specifications and solution designs.
- Evaluate new tools, technologies, and frameworks to improve system performance and productivity.
Development & Delivery
- Develop, enhance, and maintain enterprise applications using .NET Core / .NET Framework.
- Ensure clean, maintainable, and scalable code.
- Oversee end‑to‑end delivery including development, unit testing, deployment and documentation.
Collaboration
- Work closely with Product Owners, Business Analysts, QA teams, and DevOps.
- Participate in sprint planning, estimations, and Agile ceremonies.
- Communicate technical concepts effectively to stakeholders at various levels.
Quality & Performance
- Implement CI/CD pipelines, automated testing, and code-quality tools.
- Optimize application performance, security, and reliability.
- Ensure compliance with security, data protection, and regulatory requirements.
Required Skills & Experience
Technical Skills
- 8+ years of experience in software development
- Strong expertise in:
- C#, .NET Core, ASP.NET MVC/Web API
- Entity Framework / EF Core
- SQL Server / Oracle / Azure SQL
- Microservices architecture, REST APIs
- Azure Cloud Services (App Services, Functions, Storage, DevOps)
- JavaScript frameworks (Angular/React) – optional but preferred
- Experience with CI/CD tools (Azure DevOps, Git, Jenkins).
- Solid understanding of design patterns, OOP, SOLID principles.
Soft Skills
- Strong leadership and mentoring abilities.
- Excellent problem‑solving and decision‑making skills.
- Effective communication and collaboration with both technical and non‑technical teams.
- Ability to manage priorities in a fast‑paced Agile environment.
Education
- Bachelor’s or Master’s degree in Computer Science, Engineering, or related field (preferred).