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.
Develop solutions to complex programming issues working collaboratively with the members of our close-knit team including the larger R&D team to ensure that our customers have a high-quality experience
Develop new features and additions to our software portfolio
Interact with the architecture and UI/UX teams to design high quality ERP software
Active member of the Scrum team 
Actively continue to expand your knowledge of programming and development as tools and frameworks continue to be released and evolve
Other job duties as assigned
You are always looking for ways to improve yourself and others around you
Solid communicator who will quickly jump into a chat or call to help talk through a project
You work well with a close-knit team, are solution focused, and frequently go above and beyond what is asked 
Work well with minimal supervision and can prioritize your own workload efficiently
Actively share your knowledge with members of your team
Ask questions until you can wrap your head around complex ideas, and consistently use your curiosity to get to the bottom of things
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

5 To 7 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: Delphi, C#, SQL, JavaScript Frameworks (Knockout, Angular, etc.)
Experienced with modern UI frameworks and concepts
Experienced with front end or mobile development
Professional experience with Delphi, VB, or other rapid application development tools 
Good experience with C#, Java, or other modern programming languages
Familiarity with relational databases
High level of comfort with code repositories (Git preferred) and Angular 
It would be nice if you have familiarity with Postman, work item trackers (Jira, Azure DevOps, etc.)
(Huge bonus points) Software architecture or UX/UI experience and working experience within a ERP, CRM, or MES based software organization preferred but not required 
Ability to work in a fast-paced environment and deliver under pressure 
Highly self-motivated, positive attitude with a high level of enthusiasm and willingness to learn and incorporate coaching and instructions into daily tasks and assignments 
Must be detail-oriented with ability to adjust in a dynamic environment
Strong analytical skills: define problems, collect data, establish facts, and draw valid conclusions

Education

Any Graduate