Key Areas of Responsibility • 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.
Must have Payment Industries/Payment Software Experience
Basic Qualifications: • 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.).
Good to have: • 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
The day-to-day:
As a C++ Software Engineer, you will be responsible for the design and development of software and automating BDD scenarios. You will interact daily with other team members to ensure that a quality product is delivered in a timely manner. You are expected to be able to own the solution to complex software problems/needs from design to delivery.