Position: Senior JavaScript Developer (Full-stack: React, Java)
Company: Exadel
Category: JavaScript
Experience required: 3y
English level: intermediate
Published: 2020-10-01T00:00:00+03:00

**About the Customer**:
The Customer is a New York-based analytics company which was founded in 2002. The company sells software and hardware products for client engagement management, security, surveillance, and business intelligence. Their products are designed to assist clients in data analysis, specifically large data sets. The Customer has 2,800 employees in various locations internationally.

**About the Project**:
The Project is a WorkForce Management product (work shifts planner). Now it needs to be updated to new technology stack.

The Customer currently uses ExtJs (extjs-commercial:6.0.2) primarily for the newer UI screens as we convert older ones or add new ones. The framework we have in place also adds some functionality around localization, static file caching vs. cache busting etc. 

In one screen, the calendar, we will likely leverage ReactJs within a custom ExtJs component to handle the calendar grid as there are no ‘out of the box’ widgets within ExtJs or the community that would help us there and we need the rendering performance to handle the behaviors.  This screen/component is an exception and most of the other screens should be doable with just ExtJs + Html/Js/CSS at this point.

For the API layer we have been adding on top of the existing/legacy EJB2 APIs. It primarily uses spring boot + Katharsis for CRUD payload serialization/deserialization to http://jsonapi.org/ spec.

We will move it to CRANK for CRUD payload serialization/deserialization to http://jsonapi.org/ spec.
 
It is necessary to leave most of the rest of the existing lower layers the same (data access/database schema) to mitigate risk/regression.  Net new additions are fine but we are shooting to stay away from major refactoring to keep the scope from creeping.

**Your team**: 3 Senior Developers, 1 Technical Writer, 3 Developers, 5 Lead Developers, 2 Automation Testers, 1 UI Developer, 2 Account Managers, 1 Tester, 2 Team Lead, 1 Project Manager, 2 Senior Testers.
The Customer’s team is located in San Diego, California
 
**Project Stack**: 
JS, ExtJS, React, Redux, Webpack, Grunt, Jest, Jasmine, Git via Arcanist. 

**Requirements**:
Expert knowledge of JavaScript (3-4 years of experience)
Knowledge of ExtJs (6.0.2 version)
Hands on experience with React, Redux
Knowledge of Webpack, Grunt, Jest, Jasmine, Git via Arcanist
Quick learner possessing analytical mindset
Ability to learn quickly and work under time pressure
Ability and desire to work as a part of a team

**Nice to have**:
Knowledge of Java is a plus

**Responsibilities**:
Developing Calendar module for scheduling events, maintaining a bound between a platform written on ExtJS and a calendar React app
Fixing issues on both ExtJS and React side
Unit testing Jest (for React) and Jasmine (ExtJS)
Contribute in all phases of the development lifecycle
Write well designed, testable, efficient code
Debug, troubleshoot, and resolve complex technical issues
Ensure designs are in compliance with specifications

**English level**:
Intermediate