4

Senior C++ Software Engineer

4P Consulting Inc.

On-siteAtlanta, GAseniorPosted 4h ago

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.