Technical Lead (Java / REST)
Development Technical Lead is responsible for analysing the system requirements, conducting detailed design, coding and technical documentation of the respective system, as well as development testing according to the technical solution design specification. They will assist the development manager to lead the system development work, mentoring junior developers, enforce standard and quality, and ensure the resources are allocated effectively so that all deliverables are completed in a timely and quality driven manner.
- Be a technology leader in the team helping address key technology problems and challenges from technology selection to scalability, availability and performance problem resolution, in addition to build functionality based on requirement specifications & high level architecture design from architects.
- Conduct system design review and software & code inspection to ascertain conformation to best design and coding practices on system deliverables
- Identify potential areas regarding software application development where existing policies and procedures are required to change, or when new application need to be developed.
- While reporting to development manager, they will also work with project manager, solution architects and business users during the analysis, definition and development phases. Define and develop Systems Requirement Spec (SRS) and System Design Spec (SDD) according to business solutions.
- 2nd line of production system support
You should have:
- University degree or above in Computer science or Engineering or equivalent
- At least 3 years IT experience with strong technical acumen for detailed design and development, with solid real world software development experience
- Working experience on large scale, high availability and high performance systems is an advantage, but online transaction processing, in a fast paced software development environment is key.
- Min 3 years of strong software development experience on Linux/Java platform
- Very strong Java technology in particular core Java and frameworks like spring and hibernate are key with visible experience and use
- Experience with MS SQL server
- Experience with RESTfull APIs design and development
- Knowledge of professional software engineering practices and best practices for full software development life cycle, including coding standards, code reviews, source control management build processes, testing and operations.
- Experience with in-memory database system’s design or multi-threading application design is an advantage
- Experience with API management Tools (e.g. Layer7/WSO2) is an advantage
- Experience with message system (JMS) is an advantage
- Experience with practicing DevOps is an advantage
- Excellent analytical mind and problem solving skills
- Ability to lead application design initiatives with attention to detail
- Relevant software development experience in large scale transaction processing system
- Good presentation and interpersonal skills, ability to communicate effectively with different team members, stakeholders and external vendors
- Able to communicate effectively with project manager, testing teams (SAT, UAT) and business teams to design and implement functions according to business requirements and non-functional requirements
- Have an excellent understand of technology and able to quickly learn the business domain knowledge so as to conduct high quality design and give technology advice to development manager
- proficiency in both spoken and written English, Cantonese and Putonghua
- Application Design
- Application Development
- Microsoft SQL Server
- Software Development
- Software Engineering