Job Description :
Senior Java Developer - 12+ years required
Santa Clara, CA
12 Months

BSC or equivalent in relevant engineering field is required.
Overall 10+ years of Professional experience.
Minimum of 10 years of polygot programming experience (projects utilizing many different programming languages concurrently)
Minimum of 5 years Java programming experience in a development capacity is required.
Minimum 5 years of experience in using interpreted languages:
Python/Jython and Groovy is preferable.
Minimum 2 years of Javascript experience on front end and back end.
Front-end frameworks using React or Angular is a plus. Back-end implementation experience with Nashorn and Node.js is a plus.
Strong understanding and hands-on experience with XML, JSON, WSDL, XSD, and SOAP based protocols and specifications is required.
Minimum 2 years’ experience developing and designing REST interfaces that implement HATEAOS
Experience in Richardson Maturity Model for REST APIs is an added advantage.
Strong experience with Java Servlet Specification (eg. J2EE, Tomcat), and microservice based application containers (Dropwizard, Jetty, Embedded Tomcat)
Strong experience with developing custom application protocols on HTTP/1.1 and HTTP/1.2; HTTP/2 experience is a plus
Experience in using and configuring Nginx and HAProxy for SSL termination and Load Balancing
Experience in messaging frameworks using JMS and AMQP is required. Experience with gRPC is a plus
Experience with Redis for pub-sub messaging and as use as a key-value store for caching
Experience in setup and configuration of ActiveMQ and RabbitMQ.
Experience in Reactive and Event-Driven Programming in the JVM using Reactor or RxJava; reactive frameworks in other languages is a plus
Strong Experience in Spring Framework for Java is required
Strong experience in using Spring Boot and Dropwizard to implement Microservices for Processing and APIs
Experience in using a key value store such as Cassandra is required
Experience in using a SQL Database in the JVM is required; Postgres and Oracle are preferred.
Experience in using ElasticSearch for logging, metrics gathering and monitoring, and for data retrieval.
Experience in Data Processing and Event pipelines involving Spark, Kakfa, etc. is a plus
Strong experience with Linux Server Administration.
Experience in use of Docker to run, test, and deploy microservices is a plus.
Experience with AWS Deployments and Pricing is a plus
Experience with AWS Service Offerings to match on-prem software is a plus
Experience in using VMWare and Openstack to deploy VMs is a plus
Experience in using Kubernetes to manage microservice deployments is a plus
Experience with Consul or other service discovery frameworks is a plus
Experience building Docker images via Dockerfiles is a plus
Strong experience in building JVM based languages in Maven and Gradle
Strong experience in codifying build and deployment process for CI/CD pipelines in Groovy via Jenkins (Jenkinsfile)
Strong experience in creating unit tests with Maven/Surefire and JUNIT.
Experience in creating automated BDD tests with Cucumber is a plus
Experience in creating performance tests with Apache Jmeter is a plus
Experience with Agile Development (e.g. sprints, scrum) methodology is a plus.
Broadband Forum Standards (TR-069, TR-098, TR-181) is a plus.
Equivalent combination of education, training and experience will be considered.

Implement customized applications and extension components of Professional Services solutions.
Design and develop custom solution while acting as a team lead in an Agile environment.
Implement and develop Web Services APIs (e.g. SOAP, REST
Unit testing (TDD) software and development modifications.
Conducts solution walkthroughs aimed at educating customer and internal teams with respect to a customer’s solution design.
Assists with all other Professional Services activities such as but not limited to environment setup, software packaging and validation.
Troubleshooting problems and provides root cause analysis including technical interdependencies.
Provides technical resolutions written or verbal for identified issues at a cross-functional level.
Support for Systems Engineers and QA Engineers in pre-production and production environments.
Managing build process with continuous integration and continuous deployment.
Performs other duties, as assigned.