RESPONSIBILITIES:
- Understand RESTful web API development using Java and its associated technologies
- Conduct DPIAs to identify and mitigate risk and personal data during the development of ICT systems as
- Manage the full software development lifecycle (SDLC), including planning, coding, debugging, and maintenance, to deliver efficient and reliable software solutions on schedule and in accordance with PDPC guidelines for Data Protection by Design.
- Understand business needs and technical requirements needed to achieve objectives
- Motivate a team and drive innovation with all new APIs
- Be able to develop applications written in Java/JavaScript/C#/CSS/HTML/HTML5 programs, and front-end web applications
- Familiar with MySQL/Mongo/Redis/Git/Gitflow,etc
- Improve testing frameworks and test infrastructure
- Communicate effectively within the team and company stakeholders
- Design, develop, test, and deploy high-quality software solutions using Python/Java language and tools relevant to the project requirements
- Collaborate with product managers, developers and stakeholders to gather and analyse software or business requirements, ensuring the alignment of technical solutions with business goals
- Conduct thorough testing and debugging of software applications to identify and resolve defects, performance issues, and bottlenecks
- Stay up to date with emerging technologies, trends, and software development practices to continuously enhance your technical skills and contribute to the improvement of development processes
- Collaborate with team members to review code, provide constructive feedback, and promote knowledge sharing and collaboration within the development team
- Identify opportunities for process improvement, automation, and optimization to enhance the efficiency and quality of software development and delivery
- Assist in troubleshooting and resolving production issues, ensuring the smooth operation of software application, and addressing customer concerns in a timely manner
- Responsible for software coding implementation, unit testing, writing and maintaining relevant documents during the system development process
- Document software designs, implementation details, and user guides to facilitate knowledge transfer and maintain comprehensive project documentation
REQUIREMENTS:
- Bachelor's degree in Computer Science, Software Engineering, or its equivalent
- Experience in Agile/SCRUM methodology will be an added advantage
- 5-8 years of working experience in Java development experience and with experience managing a team working
- Excellent business understanding, problem analysis, problem-solving skills, strong initiative and self-drive, passionate about cutting-edge technologies and business challenges
- Strong logical thinking ability, analysis skills
- Solid data structure and algorithm foundation, excellent engineering implementation ability Java development experience, proficient in multithreading programming capabilities and performance tuning experience
- Experience in developing high concurrency and high availability distributed online services, proficient in technical principles and details such as distribution, caching, and message queuing
- Have participated in system analysis, summary design, and detailed design of business software
REQUIRED TECHNOLOGY STACK
Familiar with at least 2-3 technologies in each area:
- Front-end: React JS, Angular, HTML/CSS
- Back-end: Java Spring framework, .NET framework, .NET core
- Middleware: NodeJS, Nginx, Tomcat, WebLogic, IIS
- Database: MS SQL Server, PostgreSQL, MySQL, Azure SQL Database, Azure Database for PostgreSQL, Azure Database for MySQL, Amazon RDS (MS SQL/PostgreSQL/MySQL), Amazon Aurora (PostgreSQL/MySQL)
- OS: Windows Server, Linux Server
- IDE/CLI: Visual Studio 2019, npm, maven, nuget
- CI/CD: Bitbucket/Gitlab, Bamboo/Jenkins, SonarQube (code quality inspection), Robot Framework (test automation)
- Cloud Infrastructure: AWS, Azure
- Infrastructure-as-Code: Terraform, Puppet, Ansible