Client is seeking a Java developer for its technology team. In this role, you will be responsible for designing, coding, testing, implementing, maintaining and supporting application software. The application developer handles complex problems independently and demonstrates analytical thinking. In this role, you will be able to make judgments and recommendations based on the analysis and interpretation of data. Analyzes system requirements, including identifying program interactions and appropriate interfaces between impacted components and sub-systems. Makes recommendations towards the development of new code or to reuse of existing code. May lead assigned projects, including assigning tasks, coordinating efforts, and monitoring performance. May recommend new technologies and methodologies to management for meeting business needs, resolving problems, and exploiting opportunities. Remains current with new technologies. Obtains and evaluates information on factors such as reporting formats required, costs, and security needs to determine hardware configuration. Participates in software system testing and validation procedures, programming, and documentation. Provides technical advice and assists in solving programming problems. Writes and/or reviews system specifications, including output requirements and flow charts. Assists in preparing project plans using project management tools. Reviews test results; documents test activities and record remedial actions. Ensures proper analysis of problems and programming approaches to prevent rework and schedule slippage. Performs other duties and responsibilities as assigned.