Software Engineer - Java with Data Structures & Algorithms

We are seeking a Software Engineer with strong expertise in Java, Data Structures & Algorithms to join our software engineering team and contribute to the design, development, and delivery of scalable, high-performance applications.

Responsibilities

  • Function as a member of a software engineering team by contributing to software builds through consistent development practices
  • Debug basic software components and identify code defects for remediation
  • Enable the development, support, and monitoring of software across test, integration, and production environments
  • Automate deployments in test or production environments
  • Adhere to security and regulatory requirements
  • Design and contribute to API implementations
  • Follow best practices for automated unit, integration and regression testing
  • Participate in pull request reviews to ensure quality code delivery
  • Build software as part of a nimble Agile team, with the opportunity to impact team goals and contribute to the overall architecture
  • Ensure infrastructure is safely extensible, scalable, reliable and meets SLAs for both external and internal users
  • Ensure software solutions are testable, intuitive, and easy to maintain

Requirements

  • 4 to 6 years of software development, testing and implementation experience
  • Bachelor's or master's degree in Computer Science, Engineering, Information Systems, or a related STEM field
  • Proficiency in Java 8, Data Structures & Algorithms, and Microservices
  • Expertise in REST APIs, JSON, and Kafka
  • Knowledge of RDBMS & NoSQL database technologies such as MongoDB, Redis, and PostgreSQL
  • Skills in Spring Boot, Maven, and GIT
  • Familiarity with Jenkins, GitHub Actions, and Agile development methodologies
  • Understanding of Linux/Unix and Gradle/Maven
  • Hands-on experience implementing highly scalable, low latency software applications using multi-threaded, asynchronous & reactive programming
  • Practical experience deploying containerized software applications to cloud computing environments using Kubernetes and Docker
  • Background in high availability techniques, profiling, and performance analysis of applications
  • Competency in Design Patterns, System Design, and Problem Solving

Benefits

Opportunity to work on technical challenges that may impact across geographies

Vast opportunities for self-development: online university, knowledge sharing opportunities globally, learning opportunities through external certifications

Opportunity to share your ideas on international platforms

Sponsored Tech Talks & Hackathons

Unlimited access to LinkedIn learning solutions

Possibility to relocate to any EPAM office for short and long-term projects

Focused individual development

Benefit package:

  • Health benefits
  • Retirement benefits
  • Paid time off
  • Flexible benefits

Forums to explore beyond work passion (CSR, photography, painting, sports, etc.)

See also

要針對這個職缺調整履歷嗎?

目前無法檢查您與這個職缺的符合程度;請先將履歷加入個人檔案,下次即可查看。

A new version of freehire is available