Functional Programming Jobs

Software engineer - Scala Developer W/M

EPFL - Blue Brain Project

  • scala
  • nosql
  • jvm

Quick Facts

EPFL - Blue Brain Project
Genève, CH

Job description

The Ecole polytechnique fédérale de Lausanne (EPFL) is one of the most dynamic university campuses in Europe and ranks among the top 20 universities worldwide. The EPFL employs 6,000 people supporting the three main missions of the institutions: education, research and technology transfer. The EPFL campus offers an exceptional working environment at the heart of a community of 16,000 people, including over 10,000 students and 3,500 researchers from 120 different countries.

Software engineer – Scala Developer (W/M)

Your mission :

The aim of the Blue Brain Project is to build accurate, biologically detailed, digital reconstructions, and simulations of the rodent brain, and ultimately the human brain. The brain is one of the biggest Big Data problems we have today. Therefore, the Neuroinformatics Software Engineering team recently open sourced the Blue Brain Nexus platform to organize, store and process exceptionally large volumes of data in a semantic way and support usage by a broad number of users.

Going beyond the specific use case of the BBP, Blue Brain Nexus is designed to be agnostic of the data domain it is applied to, making it suitable for semantic data management within the scientific community as well as in many other industries. Blue Brain Nexus is already being used by scientists and researchers all over the world.
You would be joining the Neuroinformatics Software Engineering team, which in charge of designing and developing the future of the Blue Brain Nexus platform, as a Scala Developer (W/M).

You would be writing open source software using functional programming in Scala, building distributed, highly available systems to manage large scale data. You would contribute to all aspects of software development, from concept, architecture and design to implementation, deployment and managing the software in the production environment. You would play a big role in shaping the future of these systems and contribute to the success of modeling and simulating the brain.

If you would like to read more about what we do, we have recently announced the open-sourcing of Blue Brain Nexus (read the EPFL press release) and published an interview on the role of Neuroinformatics at BBP (read the Technology Networks’ interview).

Specific responsibilities include:

  • Develop and maintain software systems to manage and access Neuroscience data within the Blue Brain Nexus Platform

  • Develop search and custom API services for the neuroscientific community

  • Participate in the definition of the Platform roadmap and specification of the Platform services

  • Implement best-practices for maintainable software development, including but not limited to: continuous integration, build, release, deployment process, managing services in various environments, documentation, adherence to and improvement of coding standards.

Experience and preferred skills:

  • Proficiency with at least one JVM programming language,

  • Experience with Scala and a strong wish to develop this skill,

  • Experience with NoSQL databases (e.g. Cassandra),

  • Agile software development, unit and integration testing.

Experience in any of the following areas would be a plus:

  • Typeful, functional programming,

  • Building distributed systems, RESTful web services,

  • CQRS / Event sourced systems,

  • Message oriented middleware (e.g.: Kafka, AMQP etc.),

  • Scala based libraries and frameworks (e.g. Typelevel libraries, Akka toolkit, ScalaTest etc.),

  • Search engine technologies (ElasticSearch),

  • DevOps technologies (Docker, OpenShift or Kubernetes, Jenkins),

  • Scripting languages (Python, Bash),

  • Scalable data analytics technologies (Spark),

  • Semantic web technologies (RDF/OWL, SPARQL, RDF Triple Stores),

  • Graph Databases (Property Graphs, RDF Triple Stores),

  • Workflow execution technologies and enabling reproducible computation.

Your profile :

  • Master degree in computer science or equivalent,

  • At least 2 years experience of software development,

  • Excellent command of the English language, both written and spoken. French would be a plus.

We offer :

  • An internationally visible and rising project in simulation-based research in neuroscience using supercomputers,

  • An internationally visible and rising project in simulation-based research in neuroscience using supercomputers,

  • A young, dynamic, exceptionally inter-disciplinary, and international working environment,

  • A beautiful working environment, based at Campus Biotech near the lakeside in Geneva,

  • Opportunities for skill development through training and conferences.

Start date :
As soon as possible

Term of employment :
Fixed-term (CDD)

Work rate :

Duration :
1 year, renewable
Apply now