Job Responsibilities
Play key developer and software architect roles. Sometimes may play development team lead and project coordinator roles as well Write high quality and testable code following clean code and SOLID design principles Conduct code reviews Create design, technical and project documentation Plan and schedule own work for tasks and projects, also implement functionality without direct supervision Perform profiling and troubleshooting of existing solutions Coordinate application deployment,Follow and understand defined software development process Participate in workshops and presentation of proposed solutions to internal biz team Communicate with product internal biz team on a regular basis to clarify business requirements Assist team members with providing with technical solutions Work independently while in close collaboration with others in the team and across projects
Job Requirements
Requirements Bachelor's degree or above in Computer Science, Software Engineering or related majors Minimum 5 years of experience in software engineering and development using Java, including UML, Modeling and Design skills Advanced knowledge of Core Java, Spring Good knowledge of Hibernate, Webservices, Restful services Experienced in designing high quality solutions using OOP, TDD/BDD, Design Patterns and SOLID principles Experience of Linux, source code control tools (e.g., GIT, SVN) Experience of CI/CD tools (e.g., Jenkins, Gitlab Runner) Understanding of code quality measurements and able to implement efficient Unit Tests Experience of relational database technologies e.g., mySQL, PostgreSQL,Oracle In depth understanding of different phases of software development lifecycle and understanding of Agile Scrum processes Good interpersonal skills, analytical mind, get things done attitude, and passion for engineering excellence Ability to analyze several possible decisions of engineering problem and evaluate which one is better suited Willingness and ability to adapt to changes in priorities and requirements Active learner who is passionate about technology and keeps up to date with technology changes Good communication skills Intermediate or higher level of spoken and written English Desirable Experience of Spring Could, 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 in 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 cultural and time zone differences Experienced in mentoring juniors or colleagues with less related experience on the project(s) Experienced in conducting trainings or technical tech talks in the area of expertise
Required Languages
Mandarin, English
Job Details
Position type
Back-end development engineer
Experience
1~3 years