Friday, December 21, 2018

Looking for C++ ray tracing and frontend developers

The Blue Brain Project is a Swiss research project, based in Geneva, which started in 2005 and aims to faithfully simulate a detailed digital version of the mouse brain, (as close to biology as is possible with today's supercomputers).

Visualising this simulated brain and its components is a massive challenge. Our goal is to build state-of-the-art visualisation tools to interactively explore extremely large and detailed scientific datasets (over 3 TB). The real-time visualisation is rendered remotely on a supercomputing cluster and can be interacted with on any client device (laptop, tablet or phone) via the web.

To achieve interactive frame rates and high resolution, we are building our tools on top of the industry's highest performance ray tracing libraries (the Ospray library from Intel, which itself is based on Embree, and the OptiX framework for interactive GPU ray tracing from Nvidia). These libraries take advantage of the embarrassingly parallel nature of ray tracing and scale extremely efficiently across multiple cores, devices and nodes in a cluster.

We are currently looking for software engineers to help accelerate the development of these tools, both in the frontend and backend. Our offices are located at the Campus Biotech in the international district in Geneva, Switzerland.


Frontend/fullstack web developer

Your profile

  • 3+ years experience in full stack/frontend engineering
  • 3+ years designing, developing, and scaling modern web applications
  • 3+ years experience with JavaScript, HTML5, CSS3, and other modern web technologies

Main duties and responsibilities

Your responsibility will be to develop new features for our web based interactive 3D viewer "Brayns" (on the frontend) and maintain existing ones, and to drive the development of our new hub application where the scientists can manage their data visualisations.


Required skills and experience


  • TypeScript, JavaScript (ES6)
  • React JavaScript framework
  • REST, WebSockets and Remote Procedure Calls
  • RxJS, NodeJS
  • Deep understanding of asynchronous code and the observable pattern in JavaScript
  • Experience using the browser dev tools for debugging, profiling, performance evaluation, etc.
  • Understanding of both the object oriented and functional programming paradigms
  • Knowledge of code chunking strategies
  • Experience writing unit tests using Jest and component tests using Enzyme (or similar technologies)
  • Experience with source versioning systems (Git, Github, etc.)
  • Knowledge of common UI/UX design patterns and ability to implement/use them accordingly
  • Knowledge of the Material Design spec
  • Fluent English in speech and writing
  • Self-motivated and ability to work independently 
  • Team oriented

Nice to have


  • Interest in science (in particular neuroscience)
  • Experience with ThreeJS, WebGL, WebAssembly
  • Basic understanding of C++, Python and Docker
  • UI graphics design skills

Apply


For more info, email samuel.lapere@epfl.ch



C++ interactive graphics developer 

Main duties and responsibilities

Your responsibility will be to develop and research new features for "Brayns", our interactive raytracer for scientific visualisation and maintain existing ones


Required skills and experience
  • 3+ years of experience in C++/Python software development, testing, release, compilation, debugging, and documentation
  • 2+ years of experience with computer graphics (OpenGL, CUDA)
  • Strong knowledge of object-oriented, parallel, and distributed programming
  • Deep understanding of ray tracing and physically based rendering
  • Experience in software quality control and testing
  • Experience using UNIX/Linux operating systems
  • Experience in Linux-based system administration
  • Experience with Continuous Integration systems such as Jenkins
  • Great team player
  • Fluent English in speech and writing

Nice to have

  • Interest in science (in particular neurobiology)
  • Experience in software development on supercomputers and distributed systems.

Apply


For more info, email samuel.lapere@epfl.ch