Logo
NCR Corporation

Senior Software Engineer

NCR Corporation, Granite Heights, Wisconsin, United States

Save Job

* Designs and implements new product features and implements modifications to existing product features to include technical documentation.* Builds and executes unit tests for new or existing application code.* Works with Customer Care team members to resolve problems with released software.* Exhibits very high personal commitment to quality, software engineering best practices, and protection of sensitive consumer information.* Attends daily scrum meetings, sprint planning, work estimates.* Provides input into and release management decisions.* Ability to drive issues to effective resolution and to find solutions to challenging, time-critical problems.* Mentors team members and conducts code and test reviews.* Bachelor’s degree in a related area (Computer Engineering, Computer Science, Computer Information Services, Management Information Services) or equivalent industry experience.* Strong knowledge of object-oriented programming concepts* 5+ years of C++ experience on Windows environment.* Modern C++ standard (C++ 11 and above) experience* 3+ years of python experience* Experience producing technical designs for software applications.* Must exhibit good judgment in decision making.* Must excel in verbal and written communications.* Able to convey technical concepts to non-technical audiences.* Able to troubleshoot complex systems including hardware and software systems.* Test automation experience using Cucumber, Behave, Gherkin* Have a Test-First mindset* Unit Testing Framework like Google Test, cppUnit etc.* Networking, TCP/IP Socket level communications* Experience in mentoring others on SW Engineering standards and emerging best practices* Agile Development experience* Strong debugging and troubleshooting skills* Familiarity with the Atlassian tool suite (Jira, Confluence, etc.).* Java, .NET* Preferred Retail experience, especially in the Convenience Store industry and Point of Sale systems* Preferred working experience on Payment Processors and payment devices* Cloud development experience* Computer HW, Networking, TCP/IP Socket level communications experience* High volume, high availability solutions* PCI compliance, secure development, and data encryption techniques* Participate in an agile development team, implementing user stories with automated testing to verify acceptance criteria.* Participate in the design, modify, implement, and document software application changes.* Participate in analysis, design, testing, and review processes.* Should be able to come up with effective effort estimation based on requirements.* Write product specifications, designs, and technical manuals.* Evaluate third-party products and specifications.* Maintain responsibility of assigned tasks by using experience/knowledge of environment to make design/development decisions.* Provide feedback to peer performance reviews.* Educate others (technical and non-technical) on areas of expertise.* Work under the supervision of an Engineering Manager.* Provide development level support for assigned products and projects throughout the development lifecycle.* Perform other job-related duties as assigned. #J-18808-Ljbffr