Senior Software Engineer


LOCATION: Waterloo, ON



Passionate about technology and see the world a little differently than your peers. Everywhere you look, there’s possibility and opportunity. You don’t see problems—you see boundaries to push and challenges to solve. Why? Because you believe software engineering changes how people live.


At NCR, we believe that, too. We’re one of the world’s first tech companies, and still going strong. Like us, you know the online and mobile worlds better than any other—and see patterns that no one else sees. Our software engineers write code that can survive under the pressure of hundreds of thousands of requests per minute.


Curious? Read on. We’re looking for software engineers like you.




This team currently supports the ImageTransaction Manager Software platform. The platform is used by all the major banks in the US, Australia and is rapidly making its way into the Banks here in Canada. The software is a high volume, business critical systems for our customers and process billions of dollars in cheque and cash transactions on a daily basis.


Primary responsibility is to develop and support high quality software solutions as a contributing member of a highly motivated team of Engineers. This individual will serve the Senior Designer Developer role on a large cross-functional team that is based both onshore and offshore. The position is for a high-motivated, self driven and innovative associate.


Responsibilities include:

  • Develop high quality software which meets requirements, promotes re-use of software components, and facilitates ease of support.
  • Diagnose, isolate, and implement remedies for system failures caused by errors in software code.
  • Identifies and implements process improvements in engineering practices.
  • Utilize software based system maintenance and tracking tools.
  • Provide input and technical content for technical documentation, user help materials and customer training.
  • Conduct unit tests, track problems, and implement changes to ensure adherence to test plan and functional/nonfunctional requirements
  • Analyze, design and implement software mechanisms to improve code stability, performance, and reusability. Participates and leads code review sessions.
  • Create high fidelity estimates of their own work efforts.
  • Assist others in estimating task effort and dependencies, responsible for team commitments within the Sprint.
  • Lead and advise other Engineering resources as part of project activities.
  • Considered subject matter experts in multiple fields.including their own.
  • Communicate with Solution Management and other internal teams. Participates in cross-functional collaboration within the organization.
  • Collaborate with Architecture team members to produce and implement technical strategy. Influences the technical strategy for the team.
  • Collaborate with Engineering and Solution Management to develop product roadmaps. Influences the roadmap within the team.
  • Collaborate and communicate with key customers on support related issues and technology issues that impacts our software.
  • Ability to learn new technologies and provide detailed analysis to customer related issues and implement or provide direction to internal technical teams on development recommendations.
  • Capable of leading the team in absence of direct Management oversight.
  • Involved in evaluating fellow engineers and contributes to the annual review cycles.
  • Participates in direct customer meetings, providing Engineering insight and clearly articulating the NCR values.
  • Challenge status quo and lead organizational change in difficult situations and conversations.
  • Owns the product and technology direction and influences conversations regarding the product and technology.



  • Build apps and online technology for some of the most recognizable brands around.
  • Translate what people want (our clients and their customers) into products that work—exceptionally well. You’ll make this happen by leading and cooperating with programmers and quality assurance experts across our company.
  • Be part of a global, collaborative team who is always on the hunt for ways to improve and upgrade our products. At NCR, you’ll get the feel of a start-up, but with solid corporate support.




  • Someone who just gets it. From system architecture to technical specifics, you see the big picture and how everything—and everyone—works together from start to finish.
  • A bit of a perfectionist, but in all the best ways. People trust you to make the right call—quickly and confidently.
  • The one everyone wants on their team. You simply bring out the best in other people.




  • Bachelors Degree in Computer Science or related field
  • A minimum of 8 years of experience in software design and development
  • A minimum of 6 years of experience in preferred technology stack:
    • J2EE utilizing Spring/Hibernate.
  • Develops software in either C/C++ or Java, .NET.
  • Detailed knowledge of ORACLE/Informix/WAS
  • Asynchronous processing using JMS technology.
  • Implemented and supported horizontal highly scalable data processing applications.
  • Analyze, debug, and resolve issues in a production environment.
  • Architect and design applications.
  • Windows, Linux Operating systems.
  • Lead, assisted, and mentored a software engineering team.
  • Worked on commercial software.
  • Deep understanding of Software Development and Quality Assurance best practices
  • Excellent written and verbal communication skills
  • Excellent teamwork and collaboration skills
  • Understanding and proven application of Architecture and Design Principles
  • Experience operating in an Agile environment, with a deep understanding of agile development principles.
  • Familiarity with Continuous Improvement and Six Sigma Lean principles.




  • Prefer several years of experience operating in an Agile environment although not a necessity, can be trained.
  • Experience with tools utilized in development environment:
  • Jira, Hudson, Subversion, Crucible, Fisheye
  • Knowledge of infrastructure troubleshooting tools like, Bluestripe, Instrascope, SPLUNK
  • Green or Black Belt CI Certification




NCR Corporation (NYSE: NCR) is a global tech company that changes how people everywhere bank, shop, eat, and travel. Our software, hardware, and services enable over a half billion transactions daily. Headquartered in Atlanta, we are leading how the world connects, interacts, and transacts with business.




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.




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.