About this Senior Software Engineers (C# .Net/Azure) - Hybrid - MULTIPLE HEADCOUNTS role at Manila Recruitment
Location:Hybrid – minimum of 1 to 3 days onsite per week at our client’s office in Alabang, subject to business and team requirements
Working hours / Job Type:
Monday to Friday, 3PM to 12AM Manila time with 8 core working hours inclusive of 1-hour break
Company Profile:
Our client is a well-established UK-based enterprise software provider with a growing physical presence in the Philippines, delivering innovative, cloud-based platform solutions to international businesses. Backed by strong market presence and continued technology investment, the organization is actively executing a major digital transformation to build a unified, highly scalable, and AI-enabled ecosystem. This initiative includes embedding advanced machine learning capabilities and intelligent analytics into its next-generation platform, offering candidates the opportunity to drive modern tech innovation within a stable, growing global organization.
Overall purpose and responsibilities of the role:
As a Senior Software Engineer, you’ll take ownership of the product your team builds—from idea to production. You’ll work hands-on across the full engineering lifecycle, turning requirements into thoughtful technical solutions, writing high-quality code, testing and deploying your work, and supporting it in a live production environment.
This is a role for an engineer who enjoys ownership, autonomy, and solving complex problems. You’ll have the opportunity to shape how solutions are designed and built, make important technical decisions, and have a direct impact on the product and the team. You’ll be expected to stand behind your decisions, continuously improve the way you work, and help deliver software that is reliable, scalable, and built to last
Duties and Responsibilities:
Design and Engineering Judgement
· Own how a change is designed, not just whether it works
· Apply sound engineering principles and established design patterns
· Separate concerns and create clean interfaces and well-structured data models
· Explain why a design is sound, what trade-offs it involves, and recognize when generated code is poorly structured even when its tests pass
· Defend design decisions during reviews based on sound principles rather than personal preference, clearly articulating the trade-offs
· Restructure code before it is merged rather than waiting until technical debt becomes costly
· Create components that other engineers can extend without needing to rewrite them
Delivery on .NET and Azure
· Deliver changes across the stack, from the user interface through the services to the data. Current .NET and C#, SQL Server, and the Azure services the product runs on
· Deliver features to production end to end rather than handing over part-built work
· Build solutions using agreed platform patterns instead of creating local variations
· Make changes to the older estate safely without unnecessarily expanding or widening it
Working with Agents
· Define acceptance criteria before the build rather than reconstructing them afterward
· Review generated work against the specification rather than accepting it simply because it runs
· Keep repository context and rules current, ensuring they are clear, relevant, and used consistently by others
Unit Testing as Part of the Code
· Writes unit tests as part of the code, not as a separate task
· Commits tests with the code, covers the logic and edge cases introduced, isolates dependencies so failures point to the code rather than the environment, and keeps tests fast and reliable
· Writes tests for both their own code and code produced by coding agents
· Works with the Quality Engineer to agree on what belongs at higher test levels
Non-Functional Engineering
· Build for how the product needs to behave in production, not just for the feature
· Consider performance under real volumes, reliability when dependencies fail, security, tenant isolation, and the cost of running the solution as part of the design
· Agree on non-functional targets before the build and provides evidence that they are met after it
· Understand how the solution behaves under load and when dependencies fail rather than making assumptions
· Understands and accounts for the running cost of each change
Source Control, Deployment and Run
· Deliver changes to production through source control, pull requests, and the deployment pipeline, using small changes, short-lived branches, and a clear commit history
· Take ownership of changes through production, monitors their behaviour, and participates in the on-call rotation for the systems the team owns
· Restore service when incidents occur and addresses the root cause to prevent the same issue from recurring
Working as Part of One Team
· Work as a peer in a distributed team, reviews others’ work constructively, explains the reasoning behind technical decisions, and contributes to shared engineering standards
· Provide reviews that improve the quality of the work rather than simply approve it
· Help other engineers improve through collaboration, knowledge sharing, and constructive feedback
· Contribute to shared engineering standards and keeps them current and maintained
Requirements
Must-have Skills / Qualification:
· At least 5 years of strong commercial experience in software engineering and/or application development
· Strong hands-on experience with C# and modern .NET
· Experience in any Javascript frontend technology, preferably React
· Practical experience developing applications using Microsoft Azure
· Strong knowledge of SQL Server and relational database design
· Strong understanding of SOLID principles and software design patterns
· Ability to apply separation of concerns, clean interfaces, and maintainable architecture
· Strong understanding of unit testing and automated testing
· Proficiency with Git and modern source-control practices
· Experience with CI/CD pipelines and automated deployment
· Experience with production monitoring, troubleshooting, incident management, and application support
· Understanding of software performance, reliability, security, scalability, and operational cost
· Strong technical and architectural judgement
· Ability to explain why a particular design or technical approach is appropriate and what trade-offs it introduces
· Ability to review, challenge, and improve existing code rather than simply accepting code because it works or passes tests
· Strong problem-solving and analytical skills
· Comfortable taking ownership of a feature or problem from development through production
· Strong communication and collaboration skills within a distributed engineering team
· Willingness to participate in an on-call rotation
Advantageous or Nice-to-Have Skills/Experience:
· Bachelor’s degree in Information Technology, Computer Science, Engineering or related
· Experience with older .NET Framework applications
· Experience working with coding agents or AI-assisted development tools
· Experience establishing or improving engineering standards and development practices
· Experience working within distributed or multi-location engineering teams