Minimum 5 years of Java/J2EE Development experience
Enterprise Java Development experience involving new development
Working knowledge of web applications (preferably CMS experience)
Ability to work independently or as a member of a team
Ability to train others
Ability to work with remote team members. Willingness to travel on occasion.
Strong communication skills - Ability to communicate and document status and complex issues effectively
Illustrated experience and competency with TDD using JUnit, Selenium, Geb, or Groovy
Experience with Object Oriented Design, Design Patterns, Inversion of Control, UML and SOA
Instruct, direct, and quality assure the work of your team using both manual and automated tests
Collaborates with developers and clients to develop precise business logic.
Designs and develops both manual and automated test artifacts (scripts, functions, scenarios, processes) for simple to complex automated testing situations using various tools (primarily Selenium/Java & Geb)
Collects, organizes, and analyzes information from a variety of sources (both technical i.e. web logs, and non-technical i.e. product management interviews) to support high-quality design
Perform peer code reviews and audit. Analyze existing code and remediate performance issues within existing applications.
Designs, executes, monitors, and troubleshoots automated tests in a variety of situations and conditions
Works collaboratively with other departments to understand project objectives, gather requirements, design appropriate (either manual or automated) tests, troubleshoot issues, and implement scalable solutions
Manages automated testing artifacts to ensure proper reuse, versioning, backups, organization and retention
Trains and mentors other team members on the proper selection, design and implementation of various Frameworks, Tools and Strategies
Makes performance and process improvement recommendations as needed
Knowledge of various environmental elements as they relate to development (i.e. networking, hardware, software, mid-tier, etc.), and the ability to effectively assist with troubleshooting as needed
Advanced experience working with highly complex target application environments (i.e. combination of client, web, middleware, database, mainframe, third-parties, etc)
Stay abreast of the latest technology architecture and “best practices” in the technology marketplace.
Interface directly with the product team to refine acceptance criteria
Working closely with the team to define software requirements
Leading code and design reviews
Designing and executing software tests
Identifying and reporting software problems
Developing software trouble reports
Debugging and validating fixes
Preferred Skills and Competencies:
Advanced knowledge of test automation tools, frameworks, design approaches, and effective implementation techniques
Strong technical and testing skills - Knowledge of various software testing strategies and approaches
Strong knowledge of Agile Software development methodology.
As a QA Engineer, you must have excellent verbal and written communication skills as you will frequently interact with both clients and team members. You must also be highly detail oriented with strong organizational, time-management and problem-solving skills.