This job posting expired and applications are no longer accepted.
IOHK

Scala Developer with Formal Methods

February 8, 2019
Competitive
Token bonus
Location doesn't matter

Description

IOHK has been building our flagship decentralized infrastructure product Cardano for over two years now, which is one of the most robust proof of stake blockchain protocols in the world.

The Cardano project has now reached a stage of maturity where parties interested in the technology and its potential real-world value are asking: what else can Cardano's underlying technology be used for? What are some of the problems we can solve with this technology, and in what industries can this technology be most impactful?

We’re now ready to answer these questions and we are building a world-class team to complement Cardano with an enterprise-focused product line and this time we are using Scala as the primary coding language.

We are looking for a Scala Developer with Formal Methods experience. That means, you need the skills and experience to read academic and mathematical papers and turn them into formal and executable specs that act as a vantage point for high-assurance implementations.

Wherever you decide to work, you will be part of IOHK's remote work culture that emphasizes online communication via Trello, Slack, GitHub, Hangouts.

Responsibilities include:

  • Develop new features
  • Develop features based on formal specifications and academic papers
  • Guide and mentor other developers on how to interpret formal specifications into high quality and effective code
  • Implement and enforce effective testing and development methods
  • Work with developers across multiple time zones.
  • Contribute quality code to open source projects.

Education & Experience:

  • Higher degree in computer science, engineering, mathematics, logic, physics, or a related subject (Master’s degree or above)
  • Coding experience in Scala, with required on-the-job experience of three years or more
  • Minimum of 5 years experience in programming
  • Experience in formal methods is required
  • Experience in distributed systems and network would be beneficial
  • Experience in developing cryptography protocols would be a bonus
  • Experience working in an Agile (Scrum) setup would be good

Hard skills:

  • Mastery of software engineering best practices and of testing methodologies.
  • Experience in programming in Scala
  • Experience in formal methods is required
  • Ability to understand and translate into code formal specifications and academic papers
  • Mathematical background would be preferred

Soft Skills:

  • High-quality oriented
  • Curious and consistently seeking to learn new technology
  • Strong analytical skills
  • Good communication skills
  • Good interpersonal skills
  • Able to work autonomously with minimal supervision
  • Good writing skills

Character/Culture fit:

  • Focused, disciplined, rigorous and detail oriented
  • Highly driven to learn more about our space
  • Comes to the table and the interview with ideas about how we could improve our development cycles.
  • Shows signs that he/she can lead (or be part of a team)
  • Takes ownership for his role, exhibits wanting to take responsibility for his role and his actions
  • Shows a clear understanding of how to deal with conflict.
  • We are looking for well-motivated, well-organised candidates who flourish in a remote team
  • Flexible

What we value:

  • Passion for working alongside teams that want to explore new frameworks and systems that are more fair, open and transparent.
  • Collaboration and Inclusion: Innovation happens when people from different backgrounds and disciplines work closely together in an environment of respect and trust. You will help bring people into the conversation.
  • Transparency: Trust is built on openness and transparency.
  • Ability to work autonomously with minimal supervision. We offer a dynamic working environment that suits people who are self-motivated and can work autonomously. You will naturally have strong communication and organisational skills and can work on complex issues where analysis of situations or data requires an in-depth evaluation of variable factors.

Additional perks

In addition to working on ground breaking projects, you’ll also get in return:

  • Opportunity to work remotely
  • Flexible hours
  • 20 days paid service interruption
  • Paid public holidays
  • 5 days paid sick leave