
Senior Software Engineer
- Cyberjaya, Selangor
- Tetap
- Sepenuh masa
- Interact with the Product Owner/Business Analyst to define, refine, develop, test, and deliver against functional requirements.
- Understand and translate functional requirements into technical specifications.
- Collaborate with the architecture team to design the components of the product suite.
- Provide input to the project delivery plan, including sizing and estimation if required, with regards to one's areas of responsibility.
- Coordinate work within the boundaries of their teams and project.
- Be accountable for the quality of the team's output, supporting through code review processes and testing strategies as a whole-team approach.
- Implement correct, performant, and reliable code on schedule and according to specification.
- Determine code quality and test coverage, designing and implementing tests to ensure software is built to the highest quality possible.
- Develop and maintain test automation efficiency and effectiveness.
- Ensure close collaboration between Development and Operations, enabling smoother operation between teams.
- Embrace DevOps culture and automate everything from deployment, monitoring, management, and incident responses - treat “Everything as Code.”
- Be responsible for defect closure and root cause analysis to avoid regressions.
- Drive continual improvement in quality and efficiency, including defect prevention/root cause analysis, suggesting and adopting improvements to technology and efficiency.
- Collaborate and partner across different departments including support, consulting, product management, and engineering.
- Mentor software engineers, including those on other teams.
- Share knowledge and supervise more junior team members.
- Organize forums to share knowledge on their practice and on the product.
- Divide larger pieces of work into tasks for themselves and other team members.
- Support the Scrum release planning process through analysis and estimation of development work.
- Write technical documentation for internal or external consumption, for developers of varying skill levels.
- Assist in the recruitment process as well as potentially training, mentoring, and supervising associate team members.
- Contribute at the Product level Scrum of Scrums.
- Influence system designs and plans from a testing perspective.
- Review, analyze, and improve test coverage and reduce defect count for their product area.
- Contribute to product release planning.
- Architecture Design
- Design Patterns
- Expertise in refactoring
- Agile methodologies (Lean, Scrum, Kanban, etc.)
- CI/CD, DevOps, and Test Automation
- TDD - Test Driven Development, BDD - Behavioral Driven Development
- Automated unit testing (e.g., JUnit)
- Automated functional testing (e.g., TestNG, Cucumber, Selenium)
- Mocking Framework (e.g., JMockit, Mockito, WireMock)