Anaplan

Junior Software Engineer - System Specification

UK
Groovy Kotlin Java
Description

Anaplan. As the engine behind back-office system connectivity, you might not recognize our name, but our customers rank among the who’s who in the Fortune 50. Coca-Cola, LinkedIn, Adobe, and Bayer are just a few of the 2,000+ companies that rely on our best-in-class platform and its native AI capabilities to see, plan, and lead their businesses. By dynamically connecting financial, strategic, and operational plans in real-time, companies trust Anaplan to give them the power to anticipate change, address complexity, deliver operational insights, increase profits, and stay ahead of their competition.

 

What unites Anaplanners across teams and geographies is our commitment to our customers’ success and our collective motivation to achieve ambitious goals. We champion diversity of thought and ideas, and we behave like leaders irrespective of title. When you work for us, you’ll be part of a winning culture that’s dedicated to creating opportunities for our customers, partners, and employees. We hope you’ll join us. Let’s create something incredible together!

At Anaplan we have an enormously powerful platform that enables users to collaboratively build models of their businesses. From budgeting and forecasting to supply planning and strategic policy management, the range of problems to which the Anaplan platform provides a connected planning solution is large and always growing.  As you might expect, at the core of this platform is a complex, conceptual model. When we make changes to our software, we need to be sure that we understand the impact of those changes and be able to verify that the changes made to the code match the changes we conceived in our conceptual model. 

In software engineering generally, this sort of understanding and verification is often achieved using automated tests, but the sheer range and complexity of potential models that can be built with the Anaplan platform mean that this form of testing is not sufficient. To enable us to go beyond the standard testing paradigm, we produce a mathematical description of our conceptual model and use techniques known as formal methods to rigorously validate our requirements and verify our code. This role will require you to be in our York office a minimum of 2 days a week. 

Your Impact

You will join the team that is responsible for both creating this mathematical description, aka the specification, and creating the tools that leverage it to give the highest degree of confidence in the software we release. As such, you will have the opportunity to become involved in the deep analysis and mathematical modelling required to enhance the specification, and also the engineering work need to continue the development of our open-source frameworks. 

  • Identify and exemplify a list of distinct, unambiguous behaviours that describe a feature. 
  • Construct Acceptance Criteria scenarios to rigorously validate the behavioural requirements. 
  • Model the behaviours mathematically using a formal specification language.  
  • Guide and extend our frameworks to generate scenarios that mimic likely user behaviour. 
  • Use these scenarios to verify that the implementation satisfies the specification. 
  • Optimise balance between redundancy and coverage in scenarios. 
  • Identify means to increase confidence in quality yet maintain costs.

More About You

This is not a standard engineering job; you need to fully understand the system you’re building and the system you’re verifying. It’s necessary to be able to intelligently use the specification to drive the verification process and the focus will be as much on designing the frameworks as coding them.  

We’re looking for is someone with the enthusiasm and skills to imaginatively tackle the tasks described above. Some experience in any of the below will stand you in good stead....

  • JVM languages—Kotlin, Java, Groovy  
  • Functional programming paradigms and principles 
  • Set theory, predicate logic, and formal specification/verification 
  • Property-based testing 
  • Functional coverage analysis 
  • Related engineering tools—GitHub, Gradle, Artifactory, etc. 

Our Commitment to Diversity and Inclusion

Build your job in a place that thrives on diversity, inclusion, and belonging. We believe in maintaining a hiring and working experience in which all people are respected and valued, regardless of gender identity or expression, sexual orientation, religion, ethnicity, age, neurodiversity, disability status, citizenship, or any other aspect which makes people unique. We hire you for who you are, and we want you to bring your true self to work every day!

We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, perform essential job functions, and receive equitable benefits and all privileges of employment. Please contact us to request accommodation.

Fraud Recruitment Disclaimer:

It has come to our attention that fraudulent and fictitious job opportunities are being circulated on the Internet. Prospective candidates are being contacted by certain individuals, mainly through telephone calls, emails and correspondences, claiming they are representatives of Anaplan. The main purpose of these correspondences and announcement is to obtain privileged information from individuals. 


Anaplan does not:

  1. Extend offers to candidates without an extensive interview process with a member of our recruitment team and a hiring manager via video or in person. 
  2. Send job offers via email. All offers are first extended verbally by a member of our internal recruitment team whenever possible, and then followed up via written communication.


All emails from Anaplan would come from an @anaplan.com email address. Should you have any doubts about the authenticity of an email, letter or telephone communication purportedly from, for, or on behalf of Anaplan, please send an email to humanresources@anaplan.com before taking any further action in relation to the correspondence. 

There are more than 50,000 engineering jobs:

Subscribe to membership and unlock all jobs

Engineering Jobs

50,000+ jobs from 4,500+ well-funded companies

Updated Daily

New jobs are added every day as companies post them

Refined Search

Use filters like skill, location, etc to narrow results

Become a member

🥳🥳🥳 232 happy customers and counting...

Overall, over 80% of customers chose to renew their subscriptions after the initial sign-up.

Cancel anytime / Money-back guarantee

Wall of love from fellow engineers