Top 3 Requirements:
Micro Services with Spring Bott, Java, Kafka, Production Support experience
Nice to have skills:
PostgreSQL, Kubernetes, Redis, Git, Github Actions, Maven, Junit, Agile.
Other qualifications:
Skills / Experience:
o Perform requirements gathering, analysis. Create architecture & design documents
o Refine requirements and map to technical modules fitting the enterprise wide architecture.
o Represent design of the system in UML diagrams such as Sequence Diagrams and ER models.
o Create Data flow diagrams and represent data in JSON format and map to business cases.
o Develop applications using Java, Spring Boot, Spring Cloud, and Cloud Foundry, Kubernetes
o Develop microservices using REST, Spring, Spring Boot
o Write Maven build scripts for building Java based Spring Boot microservices
o Develop scripts to deploy the microservices in Cloud such as Cloud Foundry and Kubernetes.
o Develop Github actions to automate the scripts using CI/CD continuous integration and Continuous delivery.
o Use Swagger2API for publishing REST interfaces.
o Scale the applications using auto-scaling policies, design for fault tolerance, availability and low response times.
o Develop using Spring modules such as actuator for metrics, health check of services
o Develop using Spring Cloud Config for storing configuration of the services.
o Develop using Spring Cloud Eureka to have service registry and discovery.
o Improve performance using Redis cache, PostgreSQL, NoSQL databases.
o Able to use Github Copilot to maximize the productivity and learning existing systems.
o Develop, deploy, and manage Kafka-based data pipelines and real-time streaming applications.
o Proficient in Kafka internals, producer/consumer APIs.
o Develop Data access layer using JPA, Hibernate and ORM tools over JDBC layer.
o Develop applications using cache such as Redis using Java Jedis client.
o Test REST resources using tools like Postman, Curl etc.,
o Make enhancements to legacy systems
o Develop/enhance SOAP webservices over XML and JSON written using J2EE technologies, Servlets, JSP, JavaScript, jQuery, AJAX, Angular, React, NodeJS
o Debug issues involving multi-threading, concurrency issues.
o Experience using XML, XSD, XSLT, DOM, JMS, Spring Integration
o Knowledge of application servers such as Tomcat, Glassfish and JBoss.
o Develop applications using Spring MVC, Spring Batch and Spring Integration.
o Do performance tuning of SQL queries, propose improvements to existing systems.
o Support applications using multi-threading concepts, TCP/IP, database, and REST based JSON APIs
o Handle legacy systems which involves processing using multithreading, handle concurrency issues and network issues.
o Configure Database connections, write SQL and PLSQL scripts to interact with RDBMS databases.
o Using Java and Spring technologies to develop REST based API's and clients invoking such REST services using JSON as payload.
o Knowledge of NGINX and other infrastructure tools.
o Create scripts using build and deployment tools: Maven, Git, Junit
o Should be able to create code repositories in Git
o Should perform GIT branching, merging and Push Requests in Git flow.
o Build Maven pom.xml build files to automate CI/CD in Jenkins.
o Implement CI/CD pipelines for DevOps using tools (Nexus, Hygieia, SonarQube, Github, Jenkins)
o Should implement Jenkins pipelines to enable Code pipelines.
o Should fix code issues shown by SonarQube and improve code quality.
o Linux/Unix and Shell scripting
o Develop scripts written in Shell/Bash for various operational tasks.
o Experience with the scrum process
o Should participate in Agile ceremonies and contribute to the overall success of the project.
o Should effectively contribute in Sprint Planning, Daily Scrum Sprint Review and Sprint Retrospectives.
o Should update user stories, tasks in JIRA, Confluence, IBM Rally tools.
o Produce reports.
o Experience and understanding of test driven (TDD) & Behavioral Driven development (BDD)
o Should develop test cases by writing code using tools such as Mockito, EasyMock.
o Should develop integration tests by writing code using tools such as Cucumber.
o Excellent verbal and written communication skills and problem-solving skills
o Ability to work very closely with a larger development team of differing skillsets
Minimum Requirements
Bachelor's degree in computer science, electronics, engineering, or related field, plus 5-7 years of experience in the job offered or in software development or engineering plus demonstrated
experience in:
o Design/Development Techniques: Object-oriented Analysis and Design) OOAD, Unified
Modelling Language (UML), Test Driven Development (TDD), Java Design Patterns,
Enterprise Integration Design Patterns, Disaster Recovery Design and Development
o Web Technologies: Java EE, Spring MVC, Spring Web Flow, Struts, HTML, CSS, XML,
Servlets, JSP, JavaScript, JQuery, Junit, JSON, Ajax, Angular, React
o Service Technologies: Java 1.8, EJB, Spring Framework, Spring Boot, Groovy, In-
memory computation, REST/SOAP Web Service, WSDL, JAXB, JAXP, XPATH, XSLT,
XQuery, XSD, JMS, Spring Integration, WebSphere MQ, ActiveMQ
o Relational Database and Persistence: Hibernate (Object/Relational Mapping), JPA,
JDBC,MySQL, Oracle, PostgreSQL, PL/SQL, Query Performance Tuning
o No-SQL Database: DynamoDB, NoSQL
o Cloud Technologies: Amazon Web Services (AWS), CloudFormation Template
o Caching Technologies: Redis Cache, EhCache
Messaging Technologies: Kafka, Azure Event Hubs
o Servers: Tomcat, JBoss, Glassfish, WebSphere
o CI/CDTools Junit, Mockito, JBehave, Maven, Jenkins, Nexus, Chef, Puppet,
Linux/UNIX Shell Scripting, Ruby
o SCM Tools Git, Subversion
o Monitoring Tools: Dynatrace, CloudWatch, Zenoss.
o Project Management Tools: Jira, Rally, Confluence, Visio, PowerPoint,
Excel, Word
o Operating Systems: Windows, Unix, Linux
o IDEs: Eclipse, RAD, Oracle SQL Developer, PuTTY, Visual Studio Code, Robo Mongo,
o Testing tools - Postman, SoapUI
o Methodologies: Agile, Scrum, Kanban, XP
Writes, tests, and documents technical work products (e.g., code, scripts, processes) according to organizational standards and practices
Solves technical problems and builds components/libraries with far-ranging impact
Delivers high quality work and coaches more junior engineers on technical craftsmanship
Conducts root cause analysis to identify systemic problems and defines and leads execution of action items to address
Designs thoughtfully integrated systems that model organizational best practices, allowing disparate teams across product domains to deliver value with speed, scale, and reliability
Oversees the management of technical debt in existing systems and drives opportunities to eliminate within ongoing implementations
Consistently anticipates scaling, latency, and durability challenges and guides teams in implementation of mitigating strategies
Partners with the security organization to incorporate security conscious practices early in the lifecycle of new systems
Thoughtfully evaluates technical risks and guides toward practical prevention strategies
Consistently reflects on squad delivery practices throughout their span of of influence, recommends improvements to leadership and drives their implementation
Maintains a focus on removing the duplication of effort across teams and proactively identifies opportunities for reuse within their span of influence
Thoughtfully measures and assesses team and identifies areas of development for individuals
Explores emerging technologies, leads development of prototypes with little or no guidance and incorporates into architectural solutions where appropriate