NCR's Waterloo Software Engineering organization is building world-class banking applications used by some of the top financial organizations in the world. We are currently hiring several Java Software Support Developers to join our team as new grads to help support, code and test applications for our Banking Services products. The ideal candidate is someone who takes pride in their work, fosters relationships, takes initiative, enjoys problem solving, and is eager to learn. NCR was recently named a "Top 100 Global Tech Leader" by Thomson Reuters. We are using state of the art technologies along with Agile software development methodologies to deliver innovative solutions to the customers we serve.

NCR offers a fun, friendly, team-focused, collaborative work environment. Beyond certain core working hours, work hours are fairly flexible. The position will be a hybrid work model (2 days in office per week, 3 days working virtually from home). If you would like to explore the possibility of working with us, we would look forward to your application!


Troubleshooting development and production problems of high-performing, scalable applications across multiple environments and operating platforms
Fixing defects and/or validating fixes for defects
Designing and programming software features and functions
Designing and implementing unit test using Junit
Building and maintaining CI/CD Pipelines in Jenkins
Assist in building various tools/automation to streamline existing processes
Build automation scripts and frameworks to improve operational processes and procedures
Participating in design reviews, code reviews, and test scenario/test case reviews
Deploying various systems, tools and applications for development and testing purposes
Documenting defects associated with testing
Actively participating in various Agile scrum and SAFe ceremonies

Required Qualifications:

A University degree or College Diploma in Computer Science, Software Engineering or a related field
1-2 years OO software development experience through Co-ops, Internships and/or College/University courses
Experience with Java application development
Experience with unit testing
Experience with RESTful APIs and JSON/REST web services
Experience with CI/CD methodology, tools and technology (e.g., Jenkins, GitHub and Artifactory)
Experience working in an Agile/Scrum environment
Passionate about the latest technologies
The ability and enthusiasm to learn existing and new applications quickly, independently, and with moderate supervision; you figure what you need to do and how to do it, then do it
Great analytical, troubleshooting, and problem-solving skills
Exceptional written, verbal, and interpersonal communication skills
Attention to detail
Demonstrated initiative and leadership

Additional preferred qualifications:

Cloud-native technologies such as Docker Containers and Kubernetes
Cloud/SAAS technologies such as Google Cloud and AWS
Knowledge/experience with application and infrastructure delivery automation, orchestration, and configuration management
Experience with WebSphere
Relational Database experience (e.g., Oracle, SQL Server)
Writing unit and component integration tests using JUnit
Package managers such as Helm
Active MQ/IBM MQ/JMS Messaging
YML scripting
Maven, Ansible or Jenkins
JSPs, Angular JS and/or ReactJS
Experience with Scaled Agile (SAFe)
Experience with Jira and Confluence
Experience in the financial industry is a plus


NCR Corporation (NYSE: NCR) is the global leader in consumer transaction technologies, turning everyday interactions with businesses into exceptional experiences. With its software, hardware, and portfolio of services, NCR enables nearly 700 million transactions daily across retail, financial, travel, hospitality, telecom and technology, and small business. NCR solutions run the everyday transactions that make your life easier. NCR ( is headquartered in Atlanta, Georgia, with over 30,000 employees and does business in 180 countries.

3 months ago, # 29, 5, Edit

← Software Engineer