Location: Atlanta, GA
Summary: Responsible for developing enterprise level Java application components for legacy systems and packaged software implementations. Work closely with functional subject matter experts, business analysts, application vendors, and technical architects to implement customized software solutions. Responsible for designing, documenting, coding, and unit testing of the application components, while adhering to the software requirements, system architecture, and software development processes already established. Support the team by providing expertise in the development and configuration of SOA based solutions.
Essential Duties and Responsibilities include the following. Other duties may be assigned.
- Adhere to project management methodology and standards
- Develop an understanding of business processes and application systems.
- Participate in the design, documentation, and configuration control of changes applied to Java applications.
- Review, analyze, design, and write/modify the applications including coding, testing, debugging and documenting.
- Consult with users to clarify business requirements and program objectives.
- Apply software tools that allow business processes to be modeled and link applications with middleware to allow each application to communicate using data messages.
- Write documentation to describe program development, logic, coding, and corrections.
- Participate in the testing process through test script development, unit and system test execution, test review and analysis.
- Test application components to assess whether the solution meets the reliability, performance, capacity, scalability and technical requirements
- Maintain open communication with project team, user community, and external vendors. Participating in regular project status meetings.
- Configure and optimize middleware tools and environment.
- Support and instruct less experienced co-workers, through on-the-job mentoring.
- Create the required documentation, processes, procedures, and workflows related to new system components to assist with on-going support.
- Write operation instructions and train support personnel
- Provide second tier support within area of expertise
- Identify and resolve application/integration issues
- Conduct code reviews, as required
- Participate in all aspects of product development as needed, from requirements analysis to product release.
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
In depth knowledge of Java programming methodology
Hands-on experience with Java
In depth knowledge of SOA concepts and architecture
In depth knowledge of at least one messaging and translation capable tool
Knowledge and experience with relational databases. Oracle preferred.
Working knowledge of testing and quality assurance concepts
Working knowledge of batch and near real-time programming concepts
Ability and desire to write specifications using pre-written templates
Ability and desire to write test scripts using pre-written templates
Ability to record and log all modifications performed to the system
Ability to work unsupervised on projects of medium duration
Ability to test for, diagnose and fix defects
Ability to render accurate estimates
Hands-on experience in: Internet protocols such as TCP/IP, HTTP(S), FTP, Telnet, SOAP
Ability to work on multiple projects concurrently and consistently meet deadlines
Ability to learn new technologies as needed
Understanding of legacy systems and data
Excellent time management skills
Must possess excellent communication skills, both written and oral
Ability to work well in a team environment
Strong analytical, organizational and presentation skills.
Batchelor's degree (preferably in Computer Science, Business Administration, or Statistics) or equivalent education and work experience
A minimum of 3 years experience in application integration development
A minimum of 4 years experience in Java programming/application development
A minimum of 5 years experience in a technical field
Participated in full life cycle development including design, development, implementation, documentation, training, and on-going support for enterprise level applications
Experience using a large scale database
JBoss, Karaf, Tomcat,C/C++, Oracle, Unix, AS/400, and Java Tools is a plus
Scripting languages (bash, ksh, pdksh)
Code repository management (Git, TFS)
Apache Camel is a plus
Sterling OMS exposure is a plus
Language Ability: Ability to read and interpret documents such as safety rules, operating and maintenance instructions, and procedure manuals. Ability to communicate effectively, both verbally and in written form. Math Ability: Ability to calculate figures and amounts such as discounts, interest, proportions, and percentages. Understanding of basic algebra. Reasoning Ability: Ability to solve practical problems and deal with a variety of concrete variables in situations where only limited standardization exists. Ability to interpret a variety of instructions furnished in written, oral, diagram, or schedule form. Ability to organize and prioritize.