305 King St W
Suite 1100
Kitchener, ON N2G 1B9
Canada
Lead Software Engineer (Java) Chengdu, China
Lead Software Engineer (Java) Description
Job #: 62825DESCRIPTION
We are looking for an experienced Lead Software Engineer specializing in Java in Chengdu to make the team stronger.
Responsibilities
- Fulfill the roles of key developer and software architect, and usually also fill roles of a development team lead, project coordinator, reviewer or auditor as well
- Be a role model for colleagues, e.g. create deliverables and technical documentation in high quality
- Understand, follow and enhance defined software development process and introduce engineering practices
- Provide input on, follow and evangelize code quality guidelines and standards
- Review and audit design solutions
- Conduct code reviews and highlight best of breed solutions
- Identify and troubleshoot application code-related issues, review and provide feedback to any required final user documentation
- Communicate directly with architects on client’s side
- Communicate with clients on a regular basis to clarify business requirements
- Participate in workshops and presentation of the proposed solutions to clients
- Run demo and education sessions for client
- Drive full-cycle of application development using Agile approach:
- Idea generation and high-level vision creation
- Solution design and documenting, proposal
- Development, Testing, and Production launch
- Be a member of cross-functional teams that experiment with new technology and proactively search for the best solutions and ideas in the marketplace
- Coordinate your work with other developers to deliver first-class technology solutions in a positive, fun, yet challenging and deadline driven environment
- Work closely with internal and external product and technology teams to bring technology solutions and perspectives to the product development process
- Proven experience in evaluating theoretical knowledge vs. practical (on-the-job) skills and seniority level of candidates as well as actionable feedback and recommendations on positions/projects matching
Requirements
- Bachelor’s degree or above in Computer Science, Software Engineering or related majors
- Minimum 7 years of relevant development experience, including UML, Modeling and Design skills, and expert knowledge of at least one technical area
- Advanced knowledge of Core Java, Spring, Hibernate, Webservices, Restful services
- Expert in designing high quality solutions using OOP, TDD/BDD, Design Patterns and SOLID principles
- Excellent interpersonal skills, analytical mind, conscientious attitude, and passion for engineering excellence
- Upper intermediate (CEFR B2) or higher level of spoken and written English
- Good communication skills
- Understanding of code quality measurements and able to implement efficient Unit Tests
- In depth understanding of different phases of software development lifecycle and understanding of Agile Scrum processes
- Ability to analyze several possible decisions of engineering problem and evaluate which one is better suited
- Willingness to adapt to changing requirements and ability to prioritize accordingly
- Expert in Linux, source code control tools (e.g., GIT, SVN)
- Expert in relational database technologies e.g., SQL Server, Oracle
- Experience of CI/CD tools (e.g., Jenkins, SonarQube)
- Active learner who is passionate about technology and keeps up to date with changes in technology
Nice to have
- Experience of Spring Cloud, Microservices is preferred
- Experience of Docker and Kubernetes
- Expert in debugging Java and optimizing application performance
- Familiar with at least one unit testing framework, such as Junit or TestNG
- Experience of architecture design
- Knowledge of frontend technologies (e.g., JavaScript, React)
- Experience of DevOps operation
- Experienced in improving project's process
- Ability to evaluate various development methodologies SCRUM, Kanban, Waterfall based on project requirement
- Working experience in global environment where colleagues, stakeholders and onsite client team are based in different locations, be able to cope with differences in culture, and time zones
- Experienced in mentoring less senior colleagues on the project(s)
- Experienced in conducting training or technical tech talks in the area of expertise
We offer
- Experience exchange with colleagues all around the world
- International projects
- Opportunities for self-realization
- Friendly team and enjoyable working environment
- Engineering, corporate and social events
- Professional & soft skills trainings, medical & family care programs, and forums to explore beyond work passion (CSR, photography, painting, sports, etc.)
- Free English classes
- Online training course library, mentoring, career development and potential partial grant of certification
- Flexible working schedule
- Compensation for sick leave and paid time off
- Tech talks and hackathons
- Referral bonuses