Software Engineer III
Job Description
Responsibilities
Today, NCR VOYIX transforms the stores, restaurants and digital banking experiences with cloud-based, platform-led SaaS and services capabilities.
Primary responsibility is to develop high quality software solutions as a contributing member of a highly motivated team of Engineers. Should be able to understand the what goes behind the building of a complex resilient scalable enterprise products and should contribute through design and development. This individual will hold the title Software Engineer II with the expectation to solve complex technical challenges and assist in laying out technical roadmap.
Should have had hands on complex applications/solutions which has integrations with various components. Experience with production systems and migrating customers from legacy systems to later versions is preferred. Advanced knowledge on the best practices on enterprise applications - logging, communication, coding, testing and CI/CD pipeline is expected.
The primary technology for this position is C++ with other preferred skills referred below.
Responsibilities include:
- Develop high quality software which meets requirements, promotes re-use of software components, and facilitates ease of support.
- Diagnose, isolate, and implement remedies for system failures caused by errors in software code.
- Identifies and implements process improvements in Engineering practices.
- Utilize software-based system maintenance and tracking tools.
- Provide input and technical content for technical documentation, user help materials and customer training.
- Conduct unit tests, track problems, and implement changes to ensure adherence to test plan and functional/nonfunctional requirements
- Analyze, design and implement software mechanisms to improve code stability, performance, and reusability.
- Participates and leads code review sessions.
- Create high fidelity estimates of their own work efforts.
- Assist others in estimating task effort and dependencies, responsible for team commitments within the Sprint.
- May be asked to lead and advise other Engineering resources as part of project activities.
- Considered subject matter experts in their chosen field.
- Participates with industry groups, stays current with technology and industry trends, disseminates knowledge to team members, forms best practices.
- Communicate with Solution Management and other internal teams.
- Participates in cross-functional collaboration within the organization.
- Works with developers to assist detailed problem resolution for difficult problems which are proving difficult for Lead Developers to resolve.
- Works on improving use of tools relating to AMS development/tools used.
BASIC QUALIFICATIONS:
- Bachelor s degree in computer science or related field
- A minimum of 6 years of experience in software design and development
- A minimum of 6 years of experience in preferred technology stack,
Must Have
- Very strong development experience C++, Visual Studio, memory profile and performance tools.
- API based design and development using REST API
- Multi-threading Concepts
- Unit testing and integration testing frameworks
- Messaging services.
- Strong understanding and affinity towards building scalable and robust solutions.
- Very strong understanding of SQL DBS
- In depth understanding of Design Patterns and ability to design a Class Model, Data Model for a given requirement.
- Experience with CI/AppSec tools like - Sonar, Coverity, Whitesource etc.
- Strong in Debugging, Memory Leaks, Profiling, Crashes, etc
Good to Have
- Good understanding of NFT Performance; scalability and availability and familiarity with Tools
- Cloud Native Application Development
- Linux OS and scripting
- Should be familiar with TCP/IP, HTTPs/SSL
- Networking concepts like how to setup and configure name servers and network interfaces Load Balancers
- Deep understanding of Software Development and Quality Assurance best practices
- Excellent written and verbal communication skills
- Excellent teamwork and collaboration skills
- Experience operating in an Agile environment, with a deep understanding of agile development principles.
- Familiarity with Continuous Improvement and Six Sigma Lean principles.
PREFERRED QUALIFICATIONS:
Knowledge of software development standards and protocols:
- Secured development knowledge
- DevOps for the cloud deployments
- CI/CD pipeline
- Cloud development knowledge on Azure or GCP
- Good to have domain experience of Loyalty in Retail or Hospitality space
- Experience with tools utilized in development environment:
- Jira
- GIT
- White source
- Scripting languages
Role: Full Stack Developer
Industry Type: IT Services & Consulting
Department: Engineering - Software & QA
Employment Type: Full Time, Permanent
Role Category: Software Development
Education
UG: B.Tech/B.E. in Any Specialization
PG: Any Postgraduate
