Description

Job Summary

If you love to design scalable fault-tolerant systems that can run efficiently with high performance and

are eager to learn new technologies and develop new skills, then we have a great opportunity for you:

join our PDI family and work closely with other talented PDI engineers to deliver solutions that delight

our customers every day!

You will play a key role in designing and building our market leading software products as we drive

to continuously increase our cloud maturity and mobility. You will be working as a key part of an agile

team to design, build, test, and support PDI's enterprise software solutions. You will review, recommend & implement system enhancements that will improve the quality, performance, and maintainability of our products. You will be responsible for contributing to an always improving Engineering environment by ensuring all stakeholders (engineers, architects, product owners, SREs, IT Ops…) are informed of status and supported in their roles.

With the variety of environments, platforms, technologies & languages, you must be comfortable working in both Windows & Linux environments, including PowerShell scripting & bash, database administration as well as bare metal virtualization technologies and public cloud environments (GCP, AWS, Azure).

Responsibilities

As a Software Engineer II, you will be responsible for the development and maintenance of custom software targeted at ensuring defect-free production Petro-solutions are released to our customers.
Participate in design decisions for new and existing application development, proactively escalating issues and seeking assistance to overcome obstacles
Actively develop software solutions for PDI products
Perform testing to ensure systems meet documented user requirements
Use a disciplined approach in an Agile environment to assist in analysis and determination of referred solutions to technical challenges
Troubleshoot, test, and validate software issues; resolve issues with due urgency and maintain thorough documentation of all software solutions
Perform engineering level tests to find defects; troubleshoot and debug development and production issues, collaborating with QA Engineers to develop optimal product test plans.
Work with Product Owner to clarify and estimate feature work
Work with QA Engineers to develop optimal product test plans and resolve new feature issues as QA finds bugs during release stabilization
Contribute towards overall improvement of our products and codebase
Work with product teams to define requirements for systems development and enhancement
Guide and train the junior engineers in the team
Solves complex problems; takes a new perspective using existing solutions
Works independently; receives minimal guidance.

Knowledge, Skills & Abilities

4-5 years of experience in designing and developing new or maintaining existing software applications in a software product development environment
Minimum proficiency required in one or more of the following: JavaScript Frameworks (Knockout, Angular, Go, C#, SQL etc.)
Familiarity with the Eclipse / VS IDE and the use of ADO
Practical experience with SDLC and Agile methodologies
Highly motivated self-starter
Requires strong written and verbal communication skills with the ability to translate technical concepts into non-technical terms
Ability to independently work as a contributing member in a high-paced and focused team
Ability to multi-task with competing deadlines
Strong problem-solving and analytical skills with the ability to work under pressure
Collaborative in nature with a strong desire to dig in and learn independently and as well as through asking questions.
Considers ‘best-practice’ standards, as well as departmental policies and procedures
Computer science fundamentals: OOP, design patterns, data structures & algorithms
Preferred: Exposure in Payment, Retail, Forecourt and C-store, EMV, Wholesale or Logistics domain experience.

Education

Any Graduate