Position: Connected Payments Software Engineer in Test (G10)
Location: Hyderabad, India
About NCR Corporation
NCR Corporation (NYSE: NCR) is a global technology company leading how the world connects, interacts and transacts with business. NCR’s assisted- and self-service solutions and comprehensive support services address the needs of retail, financial, travel, healthcare, hospitality, entertainment, gaming and public sector organizations in more than 100 countries. NCR (www.ncr.com) is headquartered in Duluth, Georgia.
About NCR Connected Payments
NCR Connected Payments is a completely secure payment solution delivering uncompromising data protection and future innovation readiness. It is the ideal answer to the rising risk of electronic transaction-related fraud and payment data security breaches. Implemented as a SaaS (Software-as-a-Service) solution, Connected Payments offers a secure payment route and ensures complete data and transmission protection, from PIN pad to payment processor. It allows retailers to easily comply with evolving payment regulations and standards, such as PCI DSS (Payment Card Industry Data Security Standard) and EMV (Europay, MasterCard and Visa), and offers them the freedom to work with any payment processor and peripheral vendor. Connected Payments ultimately provides retailers with the innovation-ready architecture, reliability and centralized management they need to prepare for a future of new payment options that improve shopper experience. Check us out!
http://www.ncr.com/retail/department-specialty-retail/payment/connected-payments
The Opportunity
Do you love building software that thrills your customers? Do you obsess over the quality of your software and love to code? Do you insist on the highest standards for the software your team develops? Are you an advocate of continuous delivery and continuously measureable quality? Can you dive really deep and still maintain the big picture of how the solution will interface with end users and other software systems?
Well if this is you, then come join a strong and energetic team of engineers who are building our next generation test automation services platform and applications for NCR’s Connected Payments line of business. As a/Software Engineer in Test/you will be part of an Agile team and involved in all aspects of our projects’ lifecycle from inception through release working closely with the team’s product owner, architect and engineers.
Your mandate on the team will be (a) to maximize the quality, measurability and supportability of the production features being developed, (b) to maximize the testability of the software by finding and closing gaps in test coverage (c) to minimize the team’s overall internal defect leakage by shifting the balance of how we manage quality from end-of-cycle defect detection & containment (bug-finding & fix cycles) to up-front defect prevention (automation backed coverage of all our application features).
You will not be writing production code. You will however be writing a lot of code in the form of tools, emulators, mocks, fakes, stubs, unit, component and integration tests. You will also be working closely with NCR’s Software Operations team and continuing to enhance our integration with the systems they provide including Microsoft TFS, Microsoft Test Manager, the Atlassian suite, our virtual labs and helping build out fully automated reporting of all the various project quality metrics with a vision of achieving “push-button” reporting of a project’s software quality and trending (code coverage, static analysis, test surface coverage). You will be build the master feature suite of test cases for our solutions towards the goal of mapping out our complete test coverage needs in the form of automation and manual test scripts.
Primary Responsibilities
* Be part of an Agile team, participate in all Agile ceremonies & activities and be accountable for the sprint deliverable.
* Participate in Release/Iteration planning, smoke, feature and regression test planning
* Setting up test environments as required including EFT terminals & POS applications
* Preparing Test Plans for Service Level Tests, Integration Tests and UI tests as needed
* Execute manual & automation smoke, feature & regression tests
* Contribute to periodic status reports on testing activities (daily, weekly, monthly)
* Be an advocate of quality-up-front and support the team in achieving our/Definition of Done./
* Review designs with developers and architects in consideration of testability and supportability.
* Review code for testability, supportability and look for full unit test coverage.
* Write feature use cases in BDD to drive the creation of automated and/or manual test cases
* Review product owner acceptance criteria and look for NFR gaps.
* Mentor and support the developers on how to write good unit tests and promote good unit test frameworks.
* Build mocks, emulators, fakes, stubs and any other test libraries that will help achieve 100% unit and 100% acceptance test coverage for stories.
* Leverage our test tools, ie. MS TFS & MTM, Locust.io, SoapUI, LoadUI….
* Write component and integration tests to achieve 100% story acceptance test coverage.
* Maximize automation: question & challenge manual processes and look for automation alternatives.
* Collaborate with the NCR Shared Services team to maximize our efficient use of the CI and SDLC tools: MS TFS, MTM, JIRA, Confluence, Sonar, Jenkins …
* Support automating traceability of Stories, Acceptance Criteria and Test cases through the integration of frameworks such as Gherkin/Cucumber, SpecFlow
* Automate the collection, aggregation and reporting of dev quality including trends. Metrics to be aggregated from various systems including JIRA, Jenkins/Hudson, Sonar & Nexus.
Required Qualifications
* 5-7 years of experience in software testing or software engineering
* Programming experience with several mainstream languages: C#, Java, C, C .
* Experience with BDD, the Gherkin language & supporting tools (SpecFlow, JBehave, Cucumber…)
* Familiarity with Dev Ops tools: CI & Dev Ops: Subversion, Jenkins, JIRA, Confluence, VMWare Application Director, Chef, Packer, Vagrant, Ansible, Docker…
* Comfortable working in Windows and Linux OS and networking including network configuration, scripting, permissions management…
* Good communication & excelling working in a collaborative team environment
* Working experience with test management tools TFS, MTM, JIRA or equivalents like QC & QTP
* Working experience creating and executing test harnesses for APIs such as web
* Experience with agile methodologies
* Computer science fundamentals: OOP, design patters, data structures & algorithms.
* Basic DBA experience with Microsoft SQL Server including schema design, queries & basic administration
* Experience with network management, POS terminal, POS peripheral & EFT terminal setup
* Experience with designing systems in consideration of NFRs: performance, responsiveness, concurrency, availability, supportability…
* Good experience with TDD, BDD or xUnit test patterns.
* Comfortable Atlassian SDLC stack: JIRA, Confluence, Fisheye, Crucible, as well as SCM & CI tools for Microsoft technologies
* Comfortable with SCM & CI tools for Microsoft technologies
Preferred Qualifications
* Full-stack .NET development, particularly with WCF& IOC
* Experience with web technologies, web services and frameworks: HTML5, CSS3, JavaScript, jQuery, AngularJS, Protractor, Karma, Jasmine…
* Web client application development using MVC or SPA patterns.
* Retail POS industry knowledge preferred.
Understanding of retail grocery and/or Hospitality business processes and analysis.
EEO Statement
Integrated into our shared values is NCR's commitment to diversity. NCR is committed to being a globally inclusive company where all people are treated fairly, recognized for their individuality, promoted based on performance and encouraged to strive to reach their full potential. We believe in understanding and respecting differences among all people. This concept encompasses but is not limited to human differences with regard to race, ethnicity, religion, gender, culture and physical ability. Every individual at NCR has an ongoing responsibility to respect and support a globally diverse environment.
Statement to Third Party Agencies
To ALL recruitment agencies: NCR only accepts resumes from agencies on the NCR preferred supplier list. Please do not forward resumes to our applicant tracking system, NCR employees, or any NCR facility. NCR is not responsible for any fees or charges associated with unsolicited resumes.
**Job** *Software Engineering*
**Title:** *Software Engineer in Test*
**Location:** *India-Hyderabad*
**Requisition ID:** *687814*