Senior Software Engineer
epam
Job Description
-
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
-
5 to 8 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
-