Java Developer

Seattle, WA, USA

Ranked as #12 on Forbes’ List of 25 Fastest Growing Public Tech Companies for 2017, EPAM is committed to providing our global team of over 24,000 people with inspiring careers from day one. EPAMers lead with passion and honesty, and think creatively. Our people are the source of our success and we value collaboration, try to always understand our customers’ business, and strive for the highest standards of excellence. No matter where you are located, you’ll join a dedicated, diverse community that will help you discover your fullest potential.


You are curious, persistent, logical and clever – a true techie at heart. You enjoy living by the code of your craft and developing elegant solutions for complex problems. If this sounds like you, this could be the perfect opportunity to join EPAM as a Java Developer. Scroll down to learn more about the position’s responsibilities and requirements.

This position will be a key on-site resource for our clients, supporting design and development of leading edge solutions for EPAM.


  • Design and develop applications, coordinating with the rest of the team, working on different layers of the application;
  • Provide expertise in the use of best practices and design patterns within Software Engineering;
  • Significantly contribute to software design and architecture, develop both new applications and improve our existing ones in performance, capability, and reliability. Therefore, a commitment to collaborative problem solving, sophisticated design, and quality product is essential;
  • Participate in requirements gathering sessions that define what we are going to build and help develop a more detailed story as we follow Agile/Scrum framework;
  • Complete development projects assigned by the Application Development Manager by priority;
  • Contribute to the team by employing best practices in utilizing a broad platform of technologies within a cloud native development environment;
  • Leverage development expertise to achieve business objectives for the development of the project;
  • Embrace change in a dynamic environment that is tool agnostic. Be flexible enough to use the tool that will best fit the requirements;
  • Design, build, and maintain efficient, reusable, and reliable Java code;
  • Ensure the best possible performance, quality, and responsiveness of applications;
  • Identify bottlenecks and bugs, and devise solutions to these problems;
  • Help maintain code quality, organization, and automatic testing;
  • Participate in peer code reviews and technical meetings;
  • Work in an Agile Scrum team process, collaborating closely with fellow developers, team leads, and stakeholders;
  • Troubleshoot and support system and application problems.


  • 6+ years’ experience (Senior Engineer preferred); Java 8 (Stream processing, Spring framework - especially Spring Boot); RESTful web services; AWS service (i.e., EC2, S3, Elastic Beanstalk, SNS, DynamoDB, IAM, Lambda, etc.); CI/CD (e.g., GoCD, Jenkins, Concourse, etc.); Docker containers Dependency Management (Maven, Gradle, etc.); Testing: TDD (preferred); Unit (JUnit) and integration testing (i.e., WireMock, Cucumber, Mockito);
  • Proficient in Java ecosystems;
  • Strong understanding of object-oriented programming;
  • Experience using dependency injection containers;
  • Familiar with various design and architectural patterns;
  • Knowledge of concurrency patterns in Java;
  • Familiarity with any major RDBMS (e.g. MySQL) and fundamental understanding of DB design;
  • Knack for writing clean, readable Java code;
  • Understanding of fundamental design principles behind a scalable application;
  • Experience implementing automated testing platforms and unit tests;
  • Proficient understanding of code versioning tools;
  • Familiarity with continuous integration tools.


Všem našim zaměstnancům poskytujeme zdroje, které potřebují k vybudování úspěšné kariéry.


Staňte se součástí týmu, kde můžete rozvíjet svůj talent a budovat kariéru bez hranic.