Title: Senior Java Engineer
Duration: 12+ months contract (possible extension)
Location: Sunnyvale, CA(hybrid)
Job Description:
- Minimum 8 years of programming with Java, JEE, XML, and Web Services.
- Experience with web service/API development using Java-based enterprise technologies and tools using Java 8 and above, Microservices architecture, Spring, Apache Kafka, Apache Camel, and REST.
- Must be able to code in prevailing technologies including Java, Spring, SQL, and Kafka including conceptual knowledge of cloud-native solutions from Google or AWS.
- Solid application design, coding, testing, maintenance, and debugging skills and strong experience with Java 8/J2EE distributed application development, REST, and domain model Microservices, Spring Boot, API gateway, etc.
- Proven abilities in delivering CI/CD development methodologies.
- Experience with modern development tools (ideally IntelliJ, Git, Maven, CI servers, Confluence (or other wikis), JIRA (or other trackers), code review tools, and SCA tools).
- Knowledge of event sourcing and distributed message systems like using Apache Kafka.
- Knowledge of Domain-Driven Design concepts and designing and developing Microservices from Monolith architecture.
- Experience in event-driven design of Microservices and 12-factor app development standards.
- Expert knowledge of the Spring ecosystem (Spring Boot, Spring Cloud, Spring Integration, Spring Cloud Data Flow, etc).
- API design and implementation (remote vs local APIs, routing and reverse proxying, load balancing, optimization techniques).
- Experience with developing within a Cloud environment must have good knowledge of cloud infrastructure including GCP.
- Knowledge of developing Spring Data access applications with AWS RDS or NoSQL data stores and polyglot persistence (Couchbase, Cassandra).
- Conceptual Knowledge of container orchestrators and container engines (Kubernetes, Docker)