We are seeking a highly skilled and experienced Software Engineer to join our team. The ideal candidate will have a strong background working on large scale solutions, with good understanding of the solution architecture, programming, system design, and migration planning. This role requires a detail-oriented professional who can identify key activities and gaps concerning customer adaption to platform and develop comprehensive solutions for addressing the gaps.
POSITION SUMMARY & KEY AREAS OF RESPONSIBILITY:
Primary responsibility is to develop high quality software solutions as a contributing member of a highly motivated team of Engineers. This individual will serve the Software Engineering III role on an Agile team on NCR Voyix Platform Acceleration Team.
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.
Solution Architecture: Good To Have
Design and Development:
Lead the design and development of complex systems, ensuring they meet both functional and non-functional requirements.Technical Leadership:
Provide technical leadership and guidance to development teams, ensuring best practices in architecture and design are followed.Architecture Reviews:
Conduct architecture reviews and assessments to ensure solutions align with business goals and technical standards.Documentation:
Create and maintain detailed architecture documentation, including diagrams, models, and technical specifications.Innovation:
Stay updated with the latest industry trends and technologies, and incorporate innovative solutions into the architecture.Problem Solving:
Identify and resolve architectural issues, ensuring the scalability, reliability, and performance of solutions.Stakeholder Collaboration:
Work closely with stakeholders, including business leaders, developers, and other architects, to ensure alignment and understanding of architectural decisions.
Programming: Must Have
- Expert in .Net or Java.
- Comfortable with MSSQL DB, MongoDB/CouchDB, and Redis.
- Knowledge of Python and GO is a plus.
System Design: Good To Have
Cloud Engineering:
- Experience with Azure and GCP services.
- Design and implement scalable, reliable solutions with a focus on cost-efficiency.
DevOps/SRE:
- Work in a team that owns both operations and development.
- Track key metrics to ensure system reliability and performance.
- Experience with audits is a plus.
Security:
- Understand and implement network and application security best practices.
- Experience with security audits is a plus.
System Integration:
- Ensure seamless integration of various system components and third-party services.
- Develop and maintain integration architecture and standards.
Performance Optimization:
- Continuously monitor and optimize system performance.
- Implement best practices for performance tuning and scalability.
Migration Planning: Good To Have
Data Handling:
- Handle large amounts of data, including transformation and validation.
DB Optimization:
- Knowledge of MS SQL Server DB tuning.
- Familiarity with open-source/cloud tools for large migrations.
Automation:
- Automate tasks to achieve repeatable results.
- Experience with AI tools for automation is a plus.
Artificial Intelligence (AI): Good To Have
AI Integration:
Leverage AI tools and technologies to enhance system capabilities and performance.Machine Learning:
Apply machine learning techniques to solve complex problems and improve decision-making processes.AI-driven Automation:
Utilize AI to automate repetitive tasks and optimize workflows.Innovation:
Stay updated with the latest AI trends and incorporate them into architectural solutions.
Mentoring/Grooming: Must Have
- Formal mentoring. Identifies and documents immediate associate and has a mentoring plan for those prot g es. Ensures all team members with 2 or more experience are also mentoring more junior staff and have mentoring plans.
- Mentors TEAMS on Architecture/Design, coding skills, Tools, Processes & Procedures
- Assists Global Learning in course development and validation.
Problem Solving: Must Have
- Works with teams to assist detailed problem resolution for difficult problems which are proving difficult for Lead Developers to resolve.
Continuous Improvement: Must Have
- Works on improving use of tools.
- Is always assigned and working effectively on at least one Continuous Improvement action.
BasicQualifications:
- Bachelor s degree in computer science or related field
- A minimum of 5 years of experience in software design and development
- A minimum of 3 years of experience in preferred technology stack,
- Strong expertise in .Net or Java, with additional knowledge of Python and GO being advantageous.
- Experience with cloud engineering, particularly Azure and GCP.
- Familiarity with DevOps/SRE practices and security best practices.
- Experience in data handling, DB optimization, and automation.
- Experience with AI tools and technologies is a plus.
- Excellent communication and relationship-building skills.
- 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 POS domain experience of in Retail or Restaurants industries.
- Experience with tools utilized in development environment.