EPAM Systems

Lead Software Engineer (Java)

1 month agoShenzhen, China

EPAM is a leading global provider of digital platform engineering and development services. We are committed to having a positive impact on our customers, our employees, and our communities. We embrace a dynamic and inclusive culture. Here you will collaborate with multi-national teams, contribute to a myriad of innovative projects that deliver the most creative and cutting-edge solutions, and have an opportunity to continuously learn and grow. No matter where you are located, you will join a dedicated, creative, and diverse community that will help you discover your fullest potential.

DESCRIPTION

We are looking for an experienced Lead Software Engineer specialized in Java in Shenzhen to make the team stronger.
#REF_CN_DB
#REF_CN_Opp
Responsibilities

  • Play key Developer and Software Architect roles, and usually also the roles of a Development Team Lead, Project Coordinator, Reviewer or Auditor
  • 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 regular basis to clarify business requirements
  • Participate in workshops and presentation of the proposed solutions to clients
  • Run demo and education sessions for clients
  • 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
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, Web services, RESTful services
  • Understanding of code quality measurements and able to implement efficient Unit Tests
  • Expert in designing high quality solutions using OOP, TDD/BDD, Design Patterns and SOLID principles
  • Expert in relational database technologies e.g., SQL Server, Oracle
  • Experert in Linux, source code control tools (e.g., Git, SVN)
  • Experience with CI/CD tools (e.g., Jenkins, SonarQube)
  • Excellent interpersonal skills, analytical mind, conscientious attitude, and passion for engineering excellence
  • Ability to analyze several possible decisions of engineering problem and evaluate which one is better suited
  • 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
  • Deep understanding of different phases of software development lifecycle and Agile Scrum processes
  • Willingness to adapt to changing requirements and ability to prioritize accordingly
  • Active learner who is passionate about technology and keeps up to date with technology changes
  • Good communication skills
  • Upper-Intermediate (CEFR B2) or higher level of spoken and written English
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 front-end technologies (e.g., JavaScript, React)
  • Experience of DevOps operation
  • Experience in improving project's process
  • Ability to evaluate various development methodologies Scrum, Kanban, Waterfall based on project requirement
  • Work 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
  • Experience in mentoring less senior colleagues on the project(s)
  • Experience 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
  • Unlimited access to LinkedIn learning solutions
  • Flexible working schedule
  • Compensation for sick leave and paid time off
  • Tech talks and hackathons
  • Referral bonuses
Apply

Client-provided location(s): Shenzhen, Guangdong Province, China
Job ID: EPAM-45460