Position: Java Software Engineer
Company: AgileVision.io
Category: Java
Experience required: 2y
English level: intermediate

We (AgileVision.io) are looking for a Java Software Engineer with strong technical skills. You'll join a team of professionals to work on IoT/Big Data projects.

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 2 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

We DON'T have:
1. Corporate bullshit
2. Bureaucracy
3. HRs, People Partners, Happiness Managers, Wellbeing Coaches (see point 1.)
4. Java 7
5. <Ask me during the interview about this, you are going to like it>


About AgileVision.io
We are creating SaaS(software-as-a-service) from scratch for our clients. Usually, it's a B2B(business-to-business) for logistics and manufacturing. This means we deal a lot with IoT, edge computing, and ML. Our main backend language is Java.

AgileVision.io is an official AWS Partner and we build most of our solutions on AWS.

About the interview process ( a.k.a. a bonus for those who can read so much text):
1. We have only one interview - a deep technical interview
2. 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
* Java (language basics, multithreading, 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