Full-Time Senior Software Engineer I (Java)
Job Description
Job Summary
The QA Staff Engineer (Automation) is responsible for designing and implementing the testing framework for ICANN’s Technical Service project(s). The Tester will understand the dependency of each component and the interaction with other systems and can translate that into realistic (automated) test scenarios that run 24/7 on the continuous integration platform. The status of the testing should be always available. The Tester will provide the final sign-off on the release package and propose new testing technologies and test approaches in compliance with ICANN’s best practices, policies, and procedures.
As a QA Staff Engineer (Automation) you will deliver testing initiatives that guarantee availability and stability of systems output. You will be responsible to develop and maintain the framework in such a way that it’s scalable. Align that framework with other product units to share and learn.
The QA Staff Engineer (Automation) will work with other staff (mainly Engineering & IT Development and IT Infrastructure). The role also includes interacting with business program managers and delivery managers to better understand and develop requirements and to communicate deliverables and design considerations.
Key Responsibilities & Duties:
- Experience in complete software testing activities such as designing, writing, testing, and documenting software test cases and automated scripts in languages (JAVA) and environments appropriate to development projects.
- Define, implement, and maintain test plans, test specifications and test suites.
- Develop and implement hands-on on automation frameworks across technologies.
- Deliver testing initiatives that guarantee availability and stability of systems outputs 24/7.
- Develop and maintain the testing framework for scalability.
- Write backend integration and application programming interface (API) tests.
- Perform Load, stress, performance, and back-end testing.
- Utilized integration tools, network vulnerabilities and penetration testing tools.
- Ensure that the services are operational before release for user testing or general availability.
- Provide the final sign-off of the release package and propose new testing technologies and test approaches in compliance with best practices, policies, and procedures.
- Participate in architecture and design reviews of complex solutions in cross-team engineering efforts.
- Contribute hands-on on automation frameworks across technologies (Web: Selenium Web driver, Web Services: REST, SOAP).
- Liaise with network administrators, systems analysts, and other software engineers to resolve any defects in products or company systems.
- Perform manual or automated for functional, system, integration, security testing for the application is required.
- Support production system. Analyze, debug, and troubleshoot the production problem.
- Analyze and debug the Domain name industry applications in test environments (i.e., DNS, RDDS, RDAP, EPP, Registry-Registrar model, etc.).
Required Knowledge, Skills, and Abilities (KSAs):
- Experience with DNS, RDDS, RDAP, EPP, Registry-Registrar model or Domain names industry.
- Integration development experience with any of the integration tools such Spring Integration, Apache.
- Experience developing high-quality Java code.
- Proficiency with software architecture, modular and object-oriented design.
- Proficiency with Linux/Unix.
- Working knowledge of WebService API Integration (RESTful, etc.) .
- Solid understanding of file structures (XML, ISON, flat file, etc.) .
- General knowledge of communication protocols (FTP, HTTP, HTTPS, etc.).
- Must be a team-oriented person with excellent analytical and critical skills.
- Experience with agile / scrum management tools (JIRA preferable).
- Able to work from the office, and able to travel up to 10%.
- Good fundamental and hands-on knowledge of relational database design and operation.
- Experience using testing frameworks for automation like TestNG, and Junit.
- Proven experience of general knowledge of Testing activities and approaches.
Education and Experience Requirements:
- Bachelor’s Degree required, Master’s Degree preferred, Study in Computer Science, EE or a related field desired.
- Minimum eight (8) years of relevant QA experience.
- Minimum five (5) years of automated test experience.
- Minimum two (2) years of experience in JUnit test framework.
- Minimum two (2) years of hands-on Agile experience.
- Minimum three (3) years of experience in back-end testing using Linux/Unix.
- Minimum three (3) years of experience in load / performance testing using Apache JMeter.
- MUST have integration development experience having worked with any of the integration tools such Spring Integration, Apache, or Linux/Unix.
- Experience with bug tracking tool – JIRA, and test case management tool – HP UFT (Unified Functional Test) (Formerly QTP).
- Familiarity with common network vulnerability/penetration testing tools including, but not limited to, BURP, vulnerability scanners, Kali Linux, and OWASP Zap. (is a plus).
- Experience with a relational database system (e.g, Oracle, MS-SQL Server, MySQL).
- Experience deploying enterprise security testing solutions.
- Extensive programming background in JAVA.
- MUST have knowledge of DNS, RDDS, RDAP, EPP, Registry-Registrar model or Domain names industry.
Language
- Fluency, both written and spoken, in English is required.
- ICANN is a global organization that values diversity; preference will be given to candidates with demonstrated skills in additional languages besides English.
MUST HAVE:
- Bachelor’s Degree required.
- Minimum eight 8 years of relevant QA experience.
- Minimum five 5 years of automated test experience.
- Minimum two 2 years of experience in JUnit test framework.
- Minimum two 2 years of hands-on Agile experience.
- Minimum three 3 years of experience in back-end testing using Linux/Unix.
- Minimum three 3 years of experience in load / performance testing using Apache JMeter.
- MUST have integration development experience having worked with any of the integration tools such Spring Integration, Apache, or Linux/Unix.
- Experience with bug tracking tool – JIRA, and test case management tool – HP UFT (Unified Functional Test) (Formerly QTP).
- Experience with a relational database system (e.g, Oracle, MS-SQL Server, MySQL).
- Experience deploying enterprise security testing solutions.
- Extensive programming background in JAVA.
- MUST have knowledge of DNS, RDDS, RDAP, EPP, Registry-Registrar model or Domain names industry.
NICE TO HAVE:
- Master’s Degree preferred, Study in Computer Science, EE or a related field desired.
- Familiarity with common network vulnerability/penetration testing tools including, but not limited to, BURP, vulnerability scanners, Kali Linux, and OWASP Zap. (is a plus).
ADDITIONAL INFORMATION:
- Fluency, both written and spoken, in English is required.
- ICANN is a global organization that values diversity; preference will be given to candidates with demonstrated skills in additional languages besides English.