Principal Software Engineer (C#) - R&D, Optimization and AI

  • Full-time
  • IFS Referral Bonus Code: SH21
  • Job location: On site

Company Description

At IFS you will work in a growing, global enterprise software company built upon committed and empowered colleagues who come to work knowing they are making a difference. We work everyday with customers who continue to challenge their markets and competitors. As a challenger ourselves, we partner with our customers to guide them through their digital transformations and extract the most value out of our software solutions. We take pride in ensuring that our employees are able to achieve the company goals as well as develop their career. We believe empowered autonomy, committed colleagues and being part of a winning team are the keys to our success and what makes us great. We are #ForTheChallengers and if that resonates with you, we would love to hear from you!

We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, or disability status.

Job Description

Help us build a world-class scheduling solution! We are looking for an enthusiastic and experienced Principal Software Engineer to help develop our industry-leading product, adding innovative new functionality and ensuring it delivers a great user experience for our many customers worldwide. This is a key part of IFS’ Field Service Management offering which has been named an industry leader for the past 6 years by Gartner, beating the likes of Microsoft, Oracle and SAP.

About Us

You will be joining our team of around 25 software engineers, data scientists and QA engineers, spread across 6 countries, who help develop IFS' Planning & Scheduling Optimization (PSO) product. We are loosely split into different workstreams covering the solution's user interface, backend and optimization algorithms, as well as the Machine Learning capabilities that we are currently adding, but there is plenty of collaboration between streams, and some people regularly work across streams.

The PSO product is based on a multi-service, scalable C# architecture using .NET Core, with a web UI built using Angular 11, TypeScript and Sass. Our integration with the rest of IFS is built on C#, PL/SQL and Java, and parts of our Machine Learning functionality are based in Python. We have extensive automated testing in C# with MSTest and Selenium.

The product can be deployed on Kubernetes, both into Azure (using AKS) and on-premise, as well as directly onto Azure VMs and on-premise, supporting SQL Azure, SQL and Oracle databases. This wide scope means that we rely heavily on CI/CD principles in order to make sure we deliver a quality product. We therefore have a strong focus on automated testing during development, continuously adding new unit and UI tests and using gated check-ins to make sure our changes do not impact quality.

About You

As a Principal Software Engineer, you will be responsible for:

  • Designing and hands-on development of a modern, enterprise-standard product that is both scalable and resilient.
  • Applying best engineering and architectural concepts.
  • Ensuring product performance and maintainability by adhering to IFS’ standards, guidelines, processes and tools.
  • Ensuring quality, especially through comprehensive automated testing, as part of the design and development process.
  • Proposing improvements to the product and challenging existing paradigms.
  • Actively communicating with architects, developers and other stakeholders across the business to ensure the solution is fit for purpose.

Qualifications

We are looking for people who have:

  • 8+ years expertise working with modern, enterprise-standard applications and using an an object-oriented language, ideally C#.
  • A passion for world-class software products based on great architecture and engineering practices.
  • An excellent technical mindset and a keen eye for detail.
  • A quality-first mindset, from design to development to deployment.
  • Excellent communication skills and an enthusiastic attitude, and ideally are used to collaborating internationally.
  • The ability to think critically and solve complex problems, with a university degree or equivalent professional qualifications to prove it.

The following skills are not essential when applying for this role, but previous experience in them would be a plus:

  • Kubernetes, Azure, AKS deployments
  • SQL and Oracle databases, as well as performance tuning
  • PL/SQL
  • Java
  • CI/CD pipelines, especially using Jenkins
  • Python
  • Knowledge of innovative architectural practices such as microservices and Domain-Driven Design.
  • Optimization and Machine Learning Algorithms

Additional Information

Interviews and selections will be carried out continuously. If you are interested, please apply as soon as possible.

As a step in our recruitment process, all final candidates will undergo a background check to help us get an understanding of our future employees.

We respectfully decline all offers of recruitment and/or advertising assistance.

Privacy Policy