Job Title: Sr. Java Developer
Location: Forth Worth, TX (Hybrid)
Yrs of exp: 8+
Need locals to Texas
Description:
We are looking for a passionate, energetic member of an agile team to play a key role in development projects for American Airlines customer facing Application Web Services team. You will have an opportunity to work across the product's layers to deliver features and functionality as part of a highly collaborative, quality-focused team.
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 Jenkins files 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, NoSQL databases such as DynamoDB.
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, EJBs, 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
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