Gaël Varoquaux

Wed 12 February 2014


Hiring a programmer for a brain imaging machine-learning library

Work with us on putting machine learning in the hand of cognitive scientists

Parietal is a research team that creates advanced data analysis to mine functional brain images and solve medical and cognitive science problems. Our day to day work is to write machine-learning and statistics code to understand and use better images of brain function (most often fMRI). Our purpose is to be useful to the NeuroImaging community, mostly medical and cognitive science researched, to understand brain function better. What is limiting us in this respect is that to reach end users we need to turn our algorithms in usable software.

This is why Parietal has a long tradition of investing in building an ecosystem of high-quality libraries and tools: we build, layer by layer, an environment in which we can do our research, and with which we hope to one day reach the user. We choose Python, as a high-level general purpose language with which we can do scientific computing, and, one day, GUIs, or web servers. We contribute to the scipy ecosystem; we have built the foundations of the most successful Python machine learning library, scikit-learn. We are invested in the neuroimaging in Python ecosystem. Our students, our team members, send patches to scientific Python projects, teach courses on how to use them, speak at conferences.

But to go all the way, we need support from people who do software as there sole goal. To put the finishing touch on the quality of our end-user libraries, we need full-time programmers. In an academic setting, they can be hard to justify, but we have always had dedicate top-notch engineers at Parietal, our latest hire being the well-known Olivier Grisel. This is where you can come in.

The NiConnect is a specific research project in which we are developing leading algorithmic tools. For this project, we have funding for a full-time programmer. Someone that will help us make from our understand of how to process brain images, a software tool that an cognitive science researcher can use. We have started work on such a software, in the nilearn project. What we need is someone who drives the project, and makes sure that the piece fit in together well. That the code to solve the user’s problem is not our research code, but a clean and lean library, just like scikit-learn is an elegant answer to day-to-day machine learning tasks.

If you want more details, they can be found on the job offer. This post is to motivate the job in a personal, that I cannot give in an official posting.

Why take this job?

I don’t expect some to take this job only because it pays the bill. To be clear, the kind of person I am looking for has no difficulties finding a well-payed job elsewhere. So, if you are that person, why would you take the job.

  • To join a great team that is focused on finding elegant solutions to hard problems at the intersection of machine learning, cognitive science, and software. Choose to work with great people, knowledgeable, passionate, and fun.
  • To work on interesting problems, that matter. They are interesting because they are challenging but we have the skills to solve them. They matter because these skills need to be used to make brain research better.
  • To have a boss (me) that actually codes and gives you feedback on your code.
  • To learn. Data science + Python is the combination of skills to have. We have a at Parietal a unique expertise in these. And add to it fine understanding of algorithms, high performance computing, statistics, and software quality. You have the perfect lines on a CV.

What would make me excited in a resume?

  • Open source contributions (there is no better coding CV than a github account).
  • Experience in agile-like situations
  • A passion for code quality
  • Good Python experience
  • The unlikely combination of research-like training (eg undergraduate) and experience in a non academic and non scientific setting (say web development).
  • To know that you care about user experience, about understanding and solving the user’s problems.

Now if you are interested and feel up for the challenge, read the real job offer, and send me your resume.

Go Top