Position: Senior Java Software Engineer
Company: EPAM Systems
Category: Java
Experience required: 3y
English level: upper

Our customer is a fashion specialty retailer founded on a simple idea: offer each customer the best possible service, quality, value, and selection.

The successful candidate is a skilled individual able to provide valuable technical expertise to our projects and production support for the customer's selling systems.

The main pool of tasks is associated with help in design/implementation/support/enhancement of the customer's ecosystem on-prem, in Kubernetes and AWS.

Responsibilities:
- Develop modern, large scale services and modern web-based tools and applications for use by internal teams in a fast-paced Retail environment;
- Improvement and support of existing services and applications;
- Working with onsite/customer team members, build distributed systems that integrate with a larger data and services ecosystem;
- Desire to have full ownership of the entire SDLC from conception through build and deployment, to ongoing production operational support;
- Work in a true Agile environment where all team members are expected to own the solution including deployment, testing, quality, monitoring and operational excellence;
- Strive for continuous improvement of code quality and development practices;
- Anticipate system/application challenges, present valid arguments, and propose solutions for the identified challenges or already existing problems;
- Contribute to story sizing and work estimates for implementation, validation, delivery and documentation;
- Review user stories to ensure a quality user experience, well-defined acceptance criteria and thorough test coverage;
- Participate in design and code review to ensure quality and testability of feature code;
- Implement build, deployment and test automation to ensure high quality and enable continuous delivery;
- Adjust positively to quickly changing priorities and shifting goals;
- Understand, leverage and applies best practices effectively.

Requirements:
- 4+ years of current professional experience working with Core Java / Java EE;
- Knowledge of Spring Framework;
- Experience with Web services (REST, SOAP);
- Experience with messaging/streaming apps;
- Experience with basic Java concurrency;
- Knowledge of SQL;
- Knowledge of basic Shell scripting;
- Ability to create/document design for a feature;
- English level of B2.

Nice to have:
- Experience with distributed systems;
- Experience in AWS (S3, EC2, EMR, KMS);
- Experience with Kafka;
- Experience with Docker;
- Experience with Kubernetes;
- Experience with CI/CD (Gitlab);
- Experience in Java applications performance analysis and optimization;
- Agile software development experience.

We offer:
- Competitive compensation depending on experience and skills;
- Work on enterprise-level projects on a long-term basis;
- Full-time remote work;
- Unlimited access to learning resources (EPAM training courses, English classes, Internal Library);
- Community of 38,000+ industry's top professionals.