Job Title: C Software Engineer II
Job Location: Irving, TX 75039
Job Type: Contract, 12 Months contract
100% Onsite role
Job Overview: 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.
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
- 6+ 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.).
Must have skills: - Over 10 years of Software Development
- Over 6 years of experience in C Development
- 3+ years of python experience
- Automation testing experience
- Strong debugging and troubleshooting skills
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.