Skip navigation EPAM

Senior Software Engineer (Java) Chengdu, China

  • hot

Senior Software Engineer (Java) Description

Job #: 65565
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 Senior Software Engineer specializing in Java in Chengdu to make the team stronger.

We Value


Value the individuals – We encourage and motivate people to grow. We perceive our people as a source of our success;
Strive for excellence – We strive for the highest standards of excellence and continuously learn. We take pride in our engineering and accomplishments;
Act as a team – We treat one another with respect and encourage the best ideas to come from anywhere within the organization. We value our diversity;
Focus on Customers – We build long term customer relationships, as we strive to always understand our customers' business and needs;
Act with integrity – We operate legally, honestly and ethically. We take responsibility for our actions.

Responsibilities

  • Fulfil the roles of key developer and software architect. Sometimes may fill 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 and 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 presentations of proposed solutions to clients
  • Communicate with clients 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

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, SonarQube)
  • Understanding of code quality measurements and able to implement efficient Unit Tests
  • Experience of relational database technologies e.g., SQL Server, 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 evaluate various development methodologies SCRUM, Kanban, Waterfall based on project requirement
  • Willingness and ability to adapt to changes in priorities and requirements
  • Active learner who is passionate about technology and keeps up to date with changes in technology
  • Good communication skills
  • Intermediate (CEFR B1) or higher level of spoken and written English

Nice to have

  • Experience with programming in Go language
  • 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 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
  • Experience in working with clients and stakeholders from different locations, cultures, and able to deal with the global business environment
  • Experienced in mentoring juniors or colleagues with less related experience on the project(s)
  • Experienced in conducting trainings or tech talks in the areas 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

Witaj. W czym możemy pomóc?


NASZE LOKALIZACJE