The successful applicant will be responsible for continuous integration and automated testing of PREDIX EDGE platform which enables GE businesses to collect data from their edge devices and send it to centrally managed cloud for performing analytics and providing insights.Essential Responsibilities:We are looking for a motivated, technical, staff software test developer who is passionate about test automation in an Agile environment and cares about the quality of our products.
You will gain exposure supporting all stack of the PREDIX EDGE platform (PREDIX EDGEOS, PREDIX EDGE AGENT, PREDIX TECH CONSOLE and PREDIX EDGE APPLICATIONS) by driving our framework roadmap across all teams and building a community of developers. Reporting into the QA & Shared Services Manager, you will interact closely with the Product Owners and scrum teams and will be expected to understand the product thoroughly and be a strong quality advocate.
Understanding this is a highly technical role, you will be expected to have solid scripting and programming skills.
In this role, you will:
- Take technical ownership of end-to-end functional Product Assurance Testing and Automation
- Work with QA across the different components and help design common strategies for automation
- Automate end-to-end test cases using BDD test framework (based of nodejs, superagent and cucumberjs) to fully cover all functionality of PREDIX EDGE platform;
- Architect, design and implement new tooling and changes to the test framework improving automation efficiency and driving best practices;
- Provide technical leadership to the team for automation & programming do thorough code reviews;
- Help and mentor junior members in the team in terms of both programming and automation skills
- Work with DevOps to support CI/CD integration and testing of PREDIX EDGE stack on different supported hardware platforms;
- Ensure all automated tests are running smoothly in Continuous Integration (CI) pipeline, help monitor test failures and provide clear status to all stakeholders every day;
- Understand new features which are getting developed for each release and create end-to-end test cases which are scalable, repeatable, measurable and confirm to acceptance criteria;
- Log bugs in Rally (ensuring bug reports are clear and detailed), and own the bug verification process by reproducing and troubleshooting bugs with the developers;
- As subject matter expert in PREDIX EDGE integration, provide support for all testing activities during release. Provide script automation and instructions for component teams to test integration
- Ensure all features are validated according to definition of done, ensure there are no regression and be gatekeeper of qualityQualifications/Requirements:
- Bachelor's Degree in course of completion in Engineering (Computer, Software, or Systems), Computer Science, Information Technology or equivalent related discipline
- 7+ years of experience conducting and contributing to different levels of testing (unit, component, integration, system) for Agile projects for complex web applications or embedded systems
- Legal authorization to work in Canada is required.
- Any offer of employment is conditioned upon the successful completion of a background investigationDesired Characteristics:
- 8+ years of experience conducting and contributing to different levels of testing (unit, component, integration, system) for Agile projects for complex web applications or embedded systems
- 4+ years of experience contributing to different stages of CI/CD pipeline (Prepare -> Build -> Test -> Report) and CI/CD tools (Jenkins, Bamboo, Team city, etc.)
- 4+ year of experience with Linux OS and proficient in one scripting language (Bash, Perl, Python)
- Experience building automation frameworks and tooling from scratch along with CI/CD
- Experience mentoring junior QA staff members and driving complex automation projects (end to end)
- Strong verbal and written communication skills to facilitate brainstorming to design new features for the framework, to design test cases and work with team to solve problems
- Strong knowledge of software testing methodologies and software development fundamentals
- Experience with source code management tools such as git, github, gerrit, perforce, svn, etc.
- Knowledge of restful api and api testing using POSTMAN, Fiddler, jmeter, etc.
- Experience working with VM management or virtualization (VMware, AWS, Azure cloud, etc.)
- Experience testing embedded systems software running on different hardware platforms
- Strong knowledge of software testing methodologies and different levels of testing (unit, component, system, regression, etc.)
- Ability to facilitate proper communication across different teams regarding testing and defects
- Experience with test case management tools and issue tracking software (e.g. Testrail, JIRA, Rally)
- Quick to translate testing results into business risks relevant to our customers
- Strong problem-solving abilities and capable of articulating specific technical topics or assignments
- Expert in breaking down problems and estimate time for development and testing tasks
- Ability to effectively prioritize tasks
- Proficient in communicating very technical concepts and issues to relevant businesses
- Ability to write clear reports and documents
- Demonstrates clarity of thinking to work through limited information and vague problem definitions
- Influences through others and by example; builds direct and "behind the scenes" support for ideas
- Proactively identifies and removes obstacles or barriers on behalf of the customer
- Shares knowledge, power, and credit, establishing trust, credibility, and goodwill
- Keen attention to details and strong analytical, problem solving, troubleshooting, and prioritization skills
- Able to work under minimal supervision
- Excellent communication skills and the ability to interface well with the wider engineering department
- Dedication and commitment to problem resolution
- Ability to work on assigned tasks under tight time constraints
- Strong desire to experiment, use new tools and techniques
- Can be a creative problem solver
Equal Employment Opportunity
GE Corporation is an Equal Opportunity Employer and welcomes diversity.
GE Digital is the leading software company for the Industrial Internet. The company develops software to design, build, operate and manage the entire asset lifecycle - enabling businesses across the energy, aviation, healthcare and manufacturing sectors to operate faster, smarter and more efficiently. All of industry will have to master digital to compete in the future by moving beyond automation to autonomous systems.
GE Digital is a critical part of GE's present and future by helping industrials unlock machine data to turn valuable insights into powerful business outcomes.We take our job responsibility seriously, love to play with technology, but we also believe in finding the right work-life balance by having flexible work schedules and providing a great collaborative work environment at a convenient downtown location in Vancouver.