Job Description :
Title:Java Developer III
Location: Chicago IL
Duration : 7+ Months

Looking for a Senior Full Stack Java Developer with 10+ Years of experience to build core backend Services, Schedulers, and APIs.

Required:
Bachelor of Science in Computer Science, or equivalent experience.
Strong hands-on Java development experience using Spring framework.
Strong experience using Spring, Spring Boot, Spring MVC, Spring Data, Quartz, Schedulers, Caching API.
Experience building RESTful web services using Spring framework.
Experience with message queueing architectures, especially TIBCO EMS, KAFKA, and IBM MQ.
Substantial experience with JavaScript and HTML5/CSS3.
Solid understanding of relational and NoSQL databases (MS SQL, Couch Base
Strong object oriented design skills and the ability to analyze requirements and transform into scalable software designs using patterns and best practices.
Strong knowledge of deploying the application to WebSphere and Tomcat.
Ability to understand business stories and covert into technical designs.
Experience using version control – GIT/SVN and CI/CD – Jenkins, Maven, Gradle.
Experience using IDE – Eclipse.
Must have excellent communication skills.

Preferred:
Experience with large-scale data systems.
Experience with containerized application deployments, especially using Docker/Kubernetes.
Experience with Node.js, especially in microservices.
Experience with Amazon Web Services, especially EC2, S3, VPC, Elasticsearch, and Kinesis.

General Description:
Developer/Design, develop, document, test, and debug new and existing software systems and/or applications for market sale or large-scale proprietary software for internal use. Use Serve as technical expert on development projects. Participate in full development life cycle including requirements analysis and design. Write technical specifications based on conceptual design and stated business requirements. Support, maintain, and document software functionality. Identify and evaluate new technologies for implementation. Analyze code to find causes of errors and revise programs as needed. Participate in software design meetings and analyze user needs to determine technical requirements. Consult with end-user to prototype, refine, test, and debug programs to meet needs.