CONTRACTOR Senior Java Developer-00OOH-Southlake TX – Sabre Holdings Inc.
Under general direction, develops, codes, tests and debugs new complex software solutions or enhancements to existing software in a maintenance capacity. Has excellent understanding of business application. Works with technical staff to understand problems with software and resolve them. Resolves customer complaints with software and responds to suggestions for improvements and enhancements. May assist in development of software technical documentation. Demonstrates software. Demonstrates broad knowledge of technical solutions. Designs and codes complex applications using advanced technology; May create optimization programs to resolve problems; May design and build prototype applications.
5+ years of working experience required in developing and maintaining high quality production software.
• Strong core Java programing skills including thorough working knowledge of Collections.
• Working knowledge of Java concurrent programming (threads/synchronization), Generics
• Working knowledge of relational DB (Oracle preferred) and SQL.
• Good understanding of application servers (JBoss)
• Experience with profilers, debuggers, JVM monitoring and diagnostic tools.
• Familiarity with Java NIO package, Performance tuning and GC techniques.
• Unix/Linux experience at a user level.
• Scripting experience with Bash or Python.
• Good understanding and practical experience in applying TDD practices, code refactoring, continuous integration and agile methodology
• Good knowledge of software design patterns.
• Strong interpersonal and communication skills and ability to mentor junior team members.
• Ability to work on multiple projects simultaneously
• Strong analytical/problem solving skills and proven experience in providing production support.
• Experience with Build tools like Maven, Ant
• Experience with FitNesse or other automated test tools.
• Basic knowledge of XML, spring, Hibernate, JMS.
• Experience with Code Quality & Metrics tools such as Sonar.
• Knowledge and interest in new trends in software development, for example : -Cloud computing, OSGi, SOA, JPA, JAVA 7 etc
• Experience working with globally distributed teams.
SPECIALIZED KNOWLEDGE AND SKILLS: Application Architecture: Identifies common business components and services that can be leveraged by multiple applications. Engineering Specifications: Understands, interprets and translates engineering requirements into the necessary designs and documentation. Software Design: Understands standard software modeling techniques used to describe system designs; designs components of larger software systems; utilizes existing system components that can be leveraged by multiple applications; understands capabilities of environment. Software Process Knowledge: Knowledge of end to end product life cycle as well as product operational cycle -conception to delivery to ongoing operations. Software Programming: Understands concepts of source code control and how to use tools; translates the design specification into physical code; creates and assembles code modules from existing code repositories; has detailed knowledge of one or more programming languages; uses common development tools for required language, platform, database, middleware and environment. Systems Analysis: Determines how a system should work and how changes in conditions, operations, and the environment will affect outcomes, knowledge of products and system architecture.