Senior C++ Software Engineer
4P Consulting Inc.
Job description
Job Title: Senior C++ Software Engineer
Location: Onsite either in Irving, TX or Atlanta, GA
Duration: 6 months +
Type : Onsite – 5 days
Client: NCR Voyix
Interview Process: Final in person interview either at Atlanta, GA OR Irving, TX
Core Tech Stack: C++ (Modern C++11 and above, Windows environment), Python (3+ years), BDD / Test Automation (Cucumber, Gherkin, Python Behave), TCP/IP Networking, Google Test / cppUnit.
Job Description
Someone who believes that software development changes lives. You’re passionate about technology and see the world a little differently than your peers—everywhere you look, there’s possibility, opportunity, boundaries to push and challenges to solve.
You have:
· 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
· Should have experience in leading or managing teams.
· 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
· 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
You can expect to:
· Design and implement new product features and implement modifications to existing product features to include technical documentation.
· Build and execute unit tests for new or existing application code.
· Work with Customer Care team members to resolve problems with the software released.
· Exhibit very high personal commitment to quality, software engineering best practices, and protection of sensitive consumer information.
· Provide input into and release management decisions.
· Drive issues to effective resolution and to find solutions to challenging, time-critical problems.
· Mentor team members and conducts code and test reviews.
· Participate in an agile development team, implementing user stories with automated testing to verify acceptance criteria.
· 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.
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.