Job Title:
Senior Java Software Engineer

Company: Pinnacle Group, Inc.

Location: Fort Worth, TX

Created: 2024-05-04

Job Type: Full Time

Job Description:

Top Skills:Need IntelliJ, Java, Angular, Azure Integration, Kubernetes, Docker, iOS/Android app experience. A high number of candidates may make applications for this position, so make sure to send your CV and application through as soon as possible.Description: We are looking for a passionate, energetic member of an agile team to play a key role in development projects for clients customer facing Application Web Services team. You will have an opportunity to work across the products layers to deliver features and functionality as part of a highly collaborative, quality-focused team.Skills / Experience: Perform requirements gathering, analysis. Create architecture & design documents.Refine requirements and map to technical modules fitting the enterprise-wide architecture.Represent design of the system in UML diagrams such as Sequence Diagrams and ER models.Create Data flow diagrams and represent data in JSON format and map to business cases.Develop applications using Java, Spring Boot, Spring Cloud, and Cloud Foundry, KubernetesDevelop microservices using REST, Spring, Spring BootWrite Maven build scripts for building Java based Spring Boot microservicesDevelop scripts to deploy the microservices in Cloud such as Cloud Foundry and Kubernetes.Develop Jenkins files to automate the scripts using CI/CD - continuous integration and Continuous delivery.Use Swagger2API for publishing REST interfaces.Scale the applications using auto-scaling policies, design for fault tolerance, availability and low response times.Develop using Spring modules such as actuator for metrics, health check of servicesDevelop using Spring Cloud Config for storing configuration of the services.Develop using Spring Cloud Eureka to have service registry and discovery.Improve performance using Redis cache, NoSQL databases such as DynamoDB.Develop Data access layer using JPA, Hibernate and ORM tools over JDBC layer.Develop applications using cache such as Redis using Java Jedis client.Test REST resources using tools like Postman, Curl etc.,Make enhancements to legacy systemsDevelop/enhance SOAP webservices over XML and JSON written using J2EE technologies, EJBs, Servlets, JSP, JavaScript, jQuery, AJAX, Angular, React, NodeJSDebug issues involving multi-threading, concurrency issues.Experience using XML, XSD, XSLT, DOM, JMS, Spring IntegrationKnowledge of application servers such as Tomcat, Glassfish and JBoss.Develop applications using Spring MVC, Spring Batch and Spring Integration.Do performance tuning of SQL queries, propose improvements to existing systems.Support applications using multi-threading concepts, TCP/IP, database, and REST based JSON APIsHandle legacy systems which involves processing using multithreading, handle concurrency issues and network issues.Configure Database connections, write SQL and PLSQL scripts to interact with RDBMS databases.Using Java and Spring technologies to develop REST based APIs and clients invoking such REST services using JSON as payload.Knowledge of NGINX and other infrastructure tools.Create scripts using build and deployment tools: Maven, Git, JunitShould be able to create code repositories in GitShould perform GIT branching, merging and Push Requests in Git flow.Build Maven pom.xml build files to automate CI/CD in Jenkins.Implement CI/CD pipelines for DevOps using tools (Nexus, Hygieia, SonarQube, Github, Jenkins)Should implement Jenkins pipelines to enable Code pipelines.Should fix code issues shown by SonarQube and improve code quality.Linux/Unix and Shell scriptingDevelop scripts written in Shell/Bash for various operational tasks.Experience with the scrum processShould participate in Agile ceremonies and contribute to the overall success of the project.Should effectively contribute in Sprint Planning, Daily Scrum Sprint Review and Sprint Retrospectives.Should update user stories, tasks in JIRA, Confluence, IBM Rally tools.Produce reports.Experience and understanding of test driven (TDD) & Behavioral Driven development (BDD)Should develop test cases by writing code using tools such as Mockito, EasyMock.Should develop integration tests by writing code using tools such as Cucumber.Excellent verbal and written communication skills and problem-solving skillsAbility to work very closely with a larger development team of differing skillsetsMinimum Requirements:Bachelors 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 demonstratedexperience in:Design/Development Techniques: Object-oriented Analysis and Design) OOAD, UnifiedModelling Language (UML), Test Driven Development (TDD), Java Design Patterns,Enterprise Integration Design Patterns, Disaster Recovery Design and DevelopmentWeb Technologies: Java EE, Spring MVC, Spring Web Flow, Struts, HTML, CSS, XML,Servlets, JSP, JavaScript, JQuery, Junit, JSON, Ajax, Angular, ReactService 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, ActiveMQo Relational Database and Persistence: Hibernate (Object/Relational Mapping), JPA,JDBC,MySQL, Oracle, PostgreSQL, PL/SQL, Query Performance TuningNo-SQL Database: DynamoDB, NoSQLCloud Technologies: Amazon Web Services (AWS), CloudFormation TemplateCaching Technologies: Redis Cache, EhCacheServers: Tomcat, JBoss, Glassfish, WebSphereCI/CDTools - Junit, Mockito, JBehave, Maven, Jenkins, Nexus, Chef, Puppet,Linux/UNIX Shell Scripting, RubySCM Tools - Git, SubversionMonitoring Tools: Dynatrace, CloudWatch, Zenoss.Project Management Tools: Jira, Rally, Confluence, Visio, PowerPoint,Excel, WordOperating Systems: Windows, Unix, LinuxIDEs: Eclipse, RAD, Oracle SQL Developer, PuTTY, Visual Studio Code, Robo Mongo,Testing tools - Postman, SoapUIMethodologies: Agile, Scrum, Kanban, XP