Software Engineer (Backend / System-Level — Microsoft Stack)
Executive Summary
You will design, develop, and maintain backend and system-level components aligned with approved enterprise architecture, security standards, and governance frameworks. You’ll deliver features that meet functional and non-functional requirements, follow secure coding practices, and integrate cleanly across our ecosystem: Azure, APIs, databases, and CI/CD pipelines.
You will operate within defined architectural boundaries and collaborate with Architects, Product Owners, QA, DevSecOps, and business stakeholders to ship high-quality, scalable, secure solutions.
Role Purpose
Design, build, and maintain backend/system-level components aligned with architectural standards.
About the project (stealth, but clear)
We’re taking ownership of a large, mission-critical enterprise platform currently operated by an external vendor. The system is live and security-sensitive, and we’re modernizing it over time:
- Primary backend stack: C# / .NET (6+), with most new work on .NET 8 (LTS)
- Legacy areas exist: ASP.NET Framework 4.8 and some WCF
- Cloud: Microsoft Azure
- Data: SQL Server primarily, some MySQL
- Frontend exists (React/Angular), but this role is backend/system-level
Documentation is mixed due to the transition; part of the work is improving clarity as you go.
Core Responsibilities
1) Software Development & Implementation
- Develop backend services, APIs, and system components based on approved backlog items and technical designs.
- Translate user stories and functional requirements into scalable solutions.
- Implement business logic following clean architecture and principles.
- Follow coding standards, architectural guidelines, and agreed design patterns.
2) Code Quality & Maintainability
- Write clean, maintainable, testable, well-documented code.
- Perform peer reviews and address review feedback.
- Refactor legacy code where needed to improve performance and maintainability.
- Maintain strong version control discipline: branching strategy, pull requests, merges.
3) Testing & Quality Assurance
- Develop and maintain unit tests using approved frameworks (xUnit / NUnit / MSTest).
- Use mocking frameworks appropriately (e.g., Moq/NSubstitute equivalents).
- Participate in integration testing and support QA during testing cycles.
- Meet quality gates (coverage/standards) before release.
- Support debugging, root-cause analysis, and defect resolution.
4) Security & Compliance
- Apply secure coding practices aligned with OWASP Top 10.
- Identify and mitigate vulnerabilities; follow DevSecOps quality controls.
- Correctly handle authentication, authorization, encryption, and data protection.
- Implement RBAC and identity-based access patterns (JWT/OAuth2; Entra ID integration where applicable).
- Comply with mandatory SAST scanning gates prior to release.
5) Performance & Reliability
- Optimize database queries and system performance (SQL Server/MySQL).
- Build scalable, resilient services and APIs.
- Implement logging/monitoring/exception handling best practices (e.g., Application Insights, Serilog).
- Use performance profiling techniques when needed to diagnose bottlenecks.
6) DevOps & Deployment Support
- Support CI/CD pipeline integration and delivery workflows (Azure DevOps).
- Assist in staging and production deployments under governance checkpoints.
- Participate in troubleshooting production incidents when required.
7) Cross-Functional Collaboration
- Work closely with Solution Architects, Product Owners, QA, DevSecOps, and UI/UX teams.
- Escalate technical risks and architectural concerns early and clearly.
Authority
- Own implementation decisions within approved architectural boundaries.
- Cannot redefine scope or bypass architecture/security standards.
- Must escalate technical risks, architectural concerns, or scope-impacting issues to the Architect and Product Owner.
- Cannot approve production deployment outside defined governance checkpoints.
Required Qualifications
Education
- Bachelor’s degree in Computer Science / Software Engineering / Information Systems (or similar).
- Master’s degree is a plus.
Experience
- 5+ years backend development experience.
- Proven experience delivering enterprise-grade applications.
- Experience working in Agile/Scrum environments.
- Experience with production-grade Azure-hosted applications.
Required Technical Stack
Core Technologies
- C# / .NET Core / .NET 6+ (most new work on .NET 8 LTS)
- ASP.NET Core Web API
- Entity Framework and/or other ORM tools
- SQL Server (advanced querying and performance tuning mindset)
API & Integration
- RESTful APIs
- Data exchange: JSON / XML
- API auth: JWT, OAuth2, identity integration (Entra ID)
Cloud & DevOps
- Microsoft Azure (App Services, Storage, Functions)
- Azure DevOps (CI/CD pipelines)
- Git
Security
- OWASP Top 10 awareness
- Secure coding best practices
- RBAC implementation patterns
Testing
- xUnit / NUnit / MSTest
- Mocking frameworks
- Unit + integration testing practices
Technical Awareness
- Microservices architecture basics
- Logging/monitoring tools (Application Insights, Serilog, etc.)
- Docker basics (preferred)
- CI/CD best practices
- Performance profiling techniques
Core Competencies
Technical
- Strong problem solving and analytical skills
- Code optimization and debugging expertise
- Understanding of system design principles
- Secure development mindset
Behavioral
- Accountability and ownership
- Structured thinking
- Attention to detail
- Ability to work under pressure
- Clear communication with technical and non-technical stakeholders
- Continuous learning mindset
Maturity / Level Expectations
- Lead technical modules and drive them to completion.
- Mentor less experienced engineers when needed.
- Participate in design discussions and contribute improvements.
- Review critical code changes and uphold engineering standards.
Recommended Certifications (Nice-to-have)
- AZ-204 (Azure Developer Associate)
- AZ-900 (Azure Fundamentals)
- Secure coding / OWASP training
- Microsoft security certifications (optional)
Interview Process
- 20–30 min intro call
- Technical interview (system design + deep .NET/API/SQL + security mindset)
- Final discussion + offer
Required skills experience
| .NET | 5 years |
| Microsoft Azure DevOps | 5 years |
| Azure | 5 years |
Required languages
| English | C1 - Advanced |