• These engineers are part of a team that will design, develop and extend automation scripts that run automated tests. These are mostly written in Perl.
• They will also monitor the test automation factory and take all necessary steps for a smooth operation.
• They will also analyze new test failures and resolve them by either changing control files or by following up with developers/escalating it to development managers in order to ensure quick bug fixes.
• They will continually optimize the test workload to execute them efficiently on the given set of factory machines. To do this they will design and maintain a scheduler framework. They will periodically add newly developed tests (written either by test content writers or by programmatic explosion test writers) to the factory and schedule them for efficient execution on the given set of factory machines.
• The team will also monitor hardware setup, capacity and make recommendations for new hardware.
Skill sets needed:
• Very good Perl scripting experience
• Good Perl Scripting experience with database connectivity preferred.
• Good understanding of relational database concepts to be able to analyze regressions
• Good understanding of SQL and relational database functionality
• The team should have at least one person with an IT (systems admin/hardware setup) background.
• Good written and oral English skills are preferred.
1.2 Harness and test explosion engineers
Tasks:
• These individuals will design and develop a test harness for testing TERADATA.
• They will also extend the harness to programmatically alter existing tests (explosion technique) in order to increase the effectiveness of existing tests (as opposed to writing new tests).
• They will design and implement explosion techniques in 3 areas – test, harness and analytic.
Skill sets needed:
• Solid understanding of relational database concepts (ACID/logging/etc)
• Good understanding of SQL
• Good Perl experience with database programming preferred
• Good understanding of Perl scripting to automate testing
• Experience with TERADATA as an end user or DBA preferred
2.1 Automatic SQL Generator engineers
Tasks:
• The team will develop an application that automatically generates complex SQL to test TERADATA.
• They will work closely with the TERADATA optimizer team.
• They will help uncover new bugs in the TERADATA product by subjecting it to the SQL generator.
• They will help merge the SQL Generator with the existing automated test infrastructure.
Skill sets needed:
• Very solid understanding of SQL, SQL parsing and optimization
• Must have built very complex "system software" - ‐ Compilers, (Database optimizer preferred)
• Must be expert in a programming language (C++/Java) - ‐ strong developer
• Working knowledge of XML and Perl
2.2 Hand- ‐rolled SQL library engineers
Tasks:
• Design, implement and continually extend a universal schema used for writing complex SQL statements.
• Programmatically and manually increase the library of SQL statements against this universal schema.
• Use existing test assets (including PTE, DR's, CBT) to identify new statements to be added to the library.
• Analyze customer workload and other relevant sources for new statements to be added to the library.
• Maintain the current pattern library and write tools to discover new patterns.
• Work closely with the optimizer team to focus the testing effort on the most problematic functional areas
Skill sets needed:
• Very solid understanding of SQL
• Very solid understanding of SQL optimization (at least from a user perspective)
• XML, XPATH, XQUERY required
• Experience with TERADATA usage from a end user perspective or DBA preferred
2.3 Tools infrastructure engineers
Tasks:
• Design, implement and continually extend tools to support testability of the optimizer
• Extend existing Query Analysis Facility (QAF) inside of the TERADATA server product
• Extend the Plan Comparison Library and the tool (PCT) to do plan comparisons
Skill sets needed:
• For QAF
o These engineers write database server code.
o Very solid understanding of SQL
o Very solid understanding of SQL optimization (at least from a user perspective)
o XML, XPATH, XQUERY required
o Strong C++
• For PCT
o XML, XPATH, XQUERY required
o Strong Java
o Experience analyzing query plans and good understanding of query optimization
• For GUI
o Strong Java
o Eclipse plug-in development experience