Java Developer
Your responsibilities
- Design component architecture
- Develop and maintain game back-end components
- Ensure quality of your solutions by writing automated tests
- Create new game features
- Perform refactoring and optimization of existing solutions
- Participate in the code review process
- Document designed solutions
- Participate in an agile team following scrum principles
Our requirements
- 3 years of professional experience in Java programming
- Good knowledge of the Java programming language (Java 11)
- Experience with Spring Framework
- Awareness of SOLID, Clean Code, DDD
- The ability to create scalable and high throughput server software
- Ability to tackle problems of distributed systems and microservices
- Experience in parallel/asynchronous programming principles
- Very good knowledge of the Git version control system
- Experience with Maven or Gradle build tools
- Willingness to take ownership over developed software
- Fluent English
- Experience in scalable online services in the cloud (AWS, k8s)
- Working knowledge of DevOps and Infrastructure as Code (IaC) tooling
- Experience with Redis, Netty, LUA, Google Protocol Buffers, Bash, Python
- Experience in creating multiplayer games
Tech stack:
Organization:
Jira
TeamCity
Bitbucket
SonarQube
Common:
Git
Docker
Java 11
Spring Framework
Kubernetes
Microservices
Kafka
AWS
ELK (Elasticsearch, Logstash, Kibana)
Grafana + Datadog
Teamcity
HC Specific:
Redis
Protobuf
Netty
Gradle
Python
Typescript
Technology:
Maven
ArgoCD