Overview
Skills
Job Details
C++ Software Engineer III - Atlanta, GA/Dallas, TX (please apply if you are local to any of these locations)
Candidates must have experience in:
Visual C++ on the windows platform.
Experience MUST be recent or current and match the years of experience listed (5+) years of experience needs to be listed on resume Candidates must also have good experience doing unit testing as this is part of the software engineer role on this team. Framework like Google Test or CppUnit etc.
In addition, wants to see software engineers that are very focused in this area and not part of a vast experience that includes this skill set PLEASE DO NOT SUBMIT RESUMES THAT DONE MATCH THIS LEVEL of DETAIL 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. 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. You will also: 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.