Job Descriptions
The Senior Software Engineer (SSE) is responsible for writing software programs, writing tests, fixing bugs, documenting technical notes, reporting status and issues, being accountable for any unit test leakage, and contributing to system architecture and design decisions.
- To write, review and maintain code in compliance with established coding quality standard of the company
- To write unit tests and run through all the test cases for assigned tasks and ensure all cases tested and passed before release for testing
- To be able to securely and effectively use the AI in the SDLC and contribute to configuring AI agents
- To implement strictly all the customer's process if being requested, company's processes and systems complied with CMMi standard
- To document detailed designs as part of design team
- Participate and contribute, if possible, to DevOps and Automation activities in some way as daily part of the project delivery such as participating in the creation of relevant DevOps/Automation testing frameworks, scripting and execution even if the specialist roles act as the focal point.
- To self-train on new technologies
- To coach junior members
- To perform other tasks assigned by the Line Manager, Project Manager & Technical Manager
- To be liable for keeping the confidentiality of all technological and business secrets of the Company during the employment
Qualifications
- At least 3+ years' experience
- Good knowledge of OOP, clean code
- Proficient C#, .NET, ASP.NET Core, MVC, Web API, Entity Framework Core and SQL Server
- Good at writing Unit Tests with mocking frameworks
- Good knowledge of programming patterns and principles e.g Seperation of Concern, Repository Pattern, UnitOfWork, DRY, SOLID
- Basic knowledge of HTML, CSS, JavaScript. Having experience of any JavaScript front-end framework e.g. Angular, React, Vue...
- Knowledge of CMS, CRM system such as SharePoint, Microsoft Dynamics is a plus
- Good knowledge of SQL, database design and programming
- Good knowledge of security and performance in software development
- Good problem-solving skill, passionate in software development or developing technical skills are preferred
- Able to work independently, help others to solve technical issues
- Good knowledge of code quality, coding standard and principles
o Good knowledge of unit testing and integration test
o Good knowledge using static coding analysis tool and properly fix violation - Strong understanding of coding principles like loosely coupling, dependency injection ...
- Has knowledge of containerization and cloud platforms such as Azure, AWS or GCP
- Understands DevOps practices and is able to build and maintain basic CI/CD pipelines using tools such as Jenkins, GitHub Actions, Azure DevOps, or GitLab CI.
- Has knowledge of Generative AI and experience using common AI tools in SDLC, such as GitHub Copilot, Claude Code, Cursor,...
- Ability to review and validate the AI outputs before using it
- Can perform code review properly
- Can do normal documentation and presentation tasks
- Able to understand English materials and handle normal English verbal conversation for work related matters
- Accountable and proactive