Position: Junior Java Developer (1489)
Company: Exadel
Category: Java
Experience required: 1y
English level: intermediate

**About Exadel**:
Since 1998 Exadel has been engineering its own software products and custom software for clients of all sizes. Headquartered in Walnut Creek, California, Exadel currently has 1000+ employees in development centers across America, Europe and Asia.

**About the Customer**:
The customer is an American company based in Chicago. It accelerates digital transformation for the insurance and automotive industries with AI, IoT and workflow solutions.

**About the Project**:
The Quick Estimate app, enables consumers to capture and submit photos and videos of their damaged vehicle, in a quick and efficient way. The insurance providers benefit from this self-service offering, since this enables them to get information from their customers in a rapid timeframe, in effect reducing the overall cycle time for a claim to be settled. Quick Estimate is the primary photo intake channel for all our CCC AI products and therefore allows carriers to extend the efficiency even further.

The project is a client mobile application. It has three versions: Android, iOS, and HTML5/JavaScript.

The apps are supported by multiple back-end components and require an understanding of overall web application architecture. It’s a blend of a traditional server-based application and individual microservices. Understanding of application security and performance is also crucial for supporting the back end.

This solution is powered by different AI-based APIs that process the client data provided via app. These APIs are running as microservices on a hyper-scale server, and an understanding of API gateway, Nginx, Load balancer, and Okta would be an added advantage.

**Project Advantages**:
It is a core project that provides a great learning opportunity with Java frameworks such as Spring Boot, Spring MVC, Dropwizard, etc. with cloud technologies like S3, EC2, IAM, Kubernetes, Docker, Kafka, and SES
You will get a unique experience on a blockchain project
You'll get to see development from scratch

**Project Team**: 
1 Delivery Manager, 1 Lead Java Developer, 1 Lead JavaScript Developer, 3 Senior Java Developers, 2 Middle Java Developers, 2 Senior JavaScript Developers, 2 UI/UX Designers, 2 Senior DevOps

**Project Tech Stack**: 
Java 11, PostgreSQL, Spring Boot, Apache Kafka, Spring Cloud, OAuth2, Redis

**Project Stage**: 
Active Development

**Core Requirements**:
1+ years of experience using Java/Java EE
1+ years of experience with Hibernate ORM/JDBC/MyBatis/JdbcTemplate/etc.
1+ years of experience with RDBMS and SQL-language (MySQL/Oracle/Sql Server/PostgreSQL)
1+ years of practical experience with Spring Framework or/and Spring Boot
Experience with source code management systems: GitHub/Bitbucket/etc.
Experience with build systems: Maven/Gradle
Basic knowledge of HTML, XML, XSD, JSON
Passion to work in a fast-paced Agile environment, delivering functional features in small time duration
A quick learner and keen to learn new technologies

**Nice to have**:
Knowledge of at least one JavaScript/TypeScript framework (VueJs/ReactJs/Angular) 
Knowledge of defining clean APIs and interfaces using web-service technologies (REST, SOAP, etc.)
Understanding of Microservice development (Spring Boot, Kubernetes, Docker)
Understanding of CI/CD DevOps (Jenkins)
Basic knowledge of AWS technologies
Basic knowledge of Servlets and JSP
Good understanding of socket-level and multi-threading programming

**English level**:
Intermediate +

**Responsibilities**:
Actively participate in software development and automated unit testing
Complete development tasks within agreed timebox
Analyze and resolve software issues
Interact effectively with project teams, managers and end users
Commitment to ongoing professional development
Solid ability to grasp and apply new information quickly and handle increasing responsibilities with growing complexity
Creative and innovative thinking with the ability to multitask

**Advantages of Working with Exadel**:
You'll build your expertise with Sales Support, which provides assistance with existing and potential projects
You can join any Exadel community or create your own to communicate with like-minded colleagues
There are opportunities for continuing education as a mentor or speaker
You can take part in internal and external meetups as a speaker or listener
You'll have the chance to improve your English skills with the help of native speakers
We participate in cultural, sport, charity, and entertainment events, and we'd love to have you there, too!