Position: Middle Java Software Engineer
Company: AgileVision
Category: Java
Experience required: 2y
English level: upper

**You will be working with:**
- Modern Java (most of our projects are Java 11, we don't have anything lower than Java 8)
- Modern approaches (we use microservice-based and monolith architecture where appropriate)
- A team of experts like you
- IDEs of your choice

**Responsibilities:**
- Design and implement components of large software systems
- Design and implement REST APIs to be consumed by the frontend, mobile, and edge computing devices.
- Writing unit and integration tests
- Performing code reviews

**Requirements:**
- Good spoken and written English
- Knowledge of data structures and algorithms
- At least 3 years experience as a Java developer
- Strong knowledge of Java 8 +
- Knowledge of the Spring infrastructure (IoC, Data, Web, AOP)
- Familiarity with modern design patterns
- Experience with Spring Boot
- Experience with AWS(Amazon Web Services) will be a plus
- Knowledge of SQL
- Experience with Maven or Gradle
- Experience with Git
- Basic knowledge of Linux/Unix

**Benefits:**
- Proper compensation
- Coverage of paid certifications
- Teambuilding events
- Microbonuses system
- Remote
- 20 days vacation
- 24 days sick-leave

**About the interview process ( a.k.a. a bonus for those who can read so much text):**
1. Brief introductory call
2. Deep technical interview, the interview consists of two rounds, one hour each

**Topics we usually cover:**
- Data structures and algorithms basics. You won't be sorting anything, at least at this stage
- Network protocols basics (application, and transport levels)
- Data encryption basics (encryption, approaches, digital signatures, popular algorithms)
- Java (language basics, concurrency, streams, features from recent releases)
- English (you will have to answer some of the questions in English, so we understand you can communicate with English-speaking colleagues if needed)
- Databases (SQL basics)
- Working in a team (version control, peer reviews)
- Your past experience