Position: Middle Java Developer
Company: Exadel
Category: Java
Experience required: 2y
English level: intermediate

Middle Java Developer

We’re looking for a talented Middle Java Developer to join our team!

Work at Exadel - Who We Are:
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 1700+ employees in development centers across America, Europe, and Asia. Our people drive Exadel’s success, and they are at the core of our values, so Exadel is a people-first cultured company.

About Our Customer:
The сustomer is a leading provider of vehicle lifecycle solutions, enabling the companies that build, insure, repair, and replace vehicles to power the next generation of transportation. The company delivers advanced mobile, artificial intelligence, and connected car technologies through its platform, connecting a vibrant network of 350+ insurance companies, 24,000+ repair facilities, OEMs, hundreds of parts suppliers, and dozens of third-party data and service providers. The customer's collective set of solutions inform decision-making, enhance productivity, and help clients deliver faster and better experiences for end consumers.  
The сustomer’s company was ranked #17 in the Top 100 Digital Companies in Chicago in 2020 by Built in Chicago, an online community for digital technology entrepreneurs in Chicago, and was named one of Forbes best mid-sized companies to work for in 2019 – an important accolade and retention tool for the 2,600+ full-time company employees (alongside 350 dedicated contractors). 

About Our Project:
The team creates a software platform for the collection, analysis, processing, and reporting of automatically generated vehicle telemetry for new automobiles. These services process terabytes of information and integrate with artificial intelligence models to identify and assess crashes and their severity. Driver behavior, active safety features, and environmental conditions are just some of the data attributes collected and evaluated in real time. In the event of accidents, these services initiate automated responses in the form of emergency assistance, vehicle transport, a replacement vehicle, medical services, etc.

Project Tech Stack:
Java 8+, AWS, Containerization (Docker & Kubernetes), DropWizard/Spring boot, No SQL (DynamoDB), and Async Messaging (Kafka/Active MQ)

Requirements:
    Bachelor’s degree in computer science, mathematics, or a related field
    2+ years of experience developing Java-based applications.
    Strong experience with Java 8+, JavaScript, OOP, and REST services
    Good understanding of microservices-based software design and best practices
    Knowledge of software design patterns
    Experience with any of the following:
        ◦ NoSQL data stores, Relational DBs, Object stores, cache frameworks
        ◦ Docker / Kubernetes
        ◦ Drop wizard or Spring Boot
        ◦ Apache Kafka
    Familiarity in using Git or another modern source repository
    Strong experience in unit testing principles and methodologies        
    Experience in Agile and Scrum practices
    A quality-oriented mindset focused on product delivery
    A strong capacity and desire to learn
    Proven ability to collaborate, proven ability to lead junior engineers

Responsibilities: 
Collaborate with product stakeholder teams to identify and implement functional and non-functional requirements
Responsible for on-time delivery of high-quality software and infrastructure components
Work closely with engineering team members and architects to design, develop, and test all tiers of the application 
Participate in ongoing maintenance and support, including resolving any production issues/defects when needed
Ensure that the services are built and deployed in an automated fashion
Mentor and assist in the training and on-boarding of other team members
Participate in open, frank discussions, especially in technical matters, while giving and accepting feedback and constructive criticism

Top Skills:
Java EE
Rest Web Services
Drop Wizard or Spring Boot 
Microservices

Nice to Have:
Web Service technologies:
◦ GraphQL
◦ WebSockets
OAuth2
AWS technologies:
◦ Lambda
◦ Kinesis
◦ Dynamo
◦ Aurora