Full-Stack Developer & Scientific Software Engineer @ Biocomputing Unit

We have a Full-Stack Developer & Scientific Software Engineer position open at the Biocomputing Unit. Get to know it in this post!

About Scipion: Scipion is an open-source, workflow-oriented software framework used primarily in Cryo-Electron Microscopy (cryoEM). It integrates various scientific software packages into a unified interface, allowing researchers to execute, track, and share complex image-processing pipelines. Its goal is to ensure reproducibility and provide a seamless experience for processing high-resolution biological data.

About ScipionWeb: ScipionWeb is the modern web-based evolution of this framework. It provides a platform to manage scientific projects and workflows: from project creation and protocol execution to high-level visualization and productivity tools.

Stack: React + TypeScript (Frontend) and FastAPI + Python (Backend).

Your Tasks & Evolution: In this role, your responsibilities will evolve as you gain mastery over the framework:

Short to Medium Term:

  • 50% Web Development: Full-stack development of the ScipionWeb interface (UI + API + Integration).
  • 50% Scipion Core & Domains: Diving into the backend logic, the Scipion core architecture, and specific scientific domains like SPA (Single Particle Analysis) and Tomography.

Medium to Long Term:

  • Focus on the Scipion Core and expansion into new scientific domains.
  • Maintain and update the ScipionWeb ecosystem to ensure long-term stability.

    Requirements

    Academic & Language

    • Degree: BSc/MSc in Physics, Mathematics, or Software Engineering.
    • English: B2 level or equivalent (ability to work in an international environment).

    Technical Essentials

    • Python: 2+ years of experience with Core Python (Standard Library).
    • Linux: Solid basic knowledge (Ubuntu is our preferred distribution).
    • Version Control: GitHub (PRs, collaborative workflows).
    • DevOps/Distribution: Experience with software distribution (PyPI, Conda) and CI/CD (GitHub Actions).

    Stack & Desired Skills

    The Tools We Use:

    • Frontend: React Router, React Query, MUI, ReactFlow (for diagrams).
    • Backend: FastAPI, Pydantic, service-oriented layers.
    • Integration: Async workflows (jobs/queues), schema-based forms, and data visualization.

    Bonus Points (Desired Skills):

    • Knowledge of Image Processing or cryoEM.
    • Experience with 3D visualization (three/react-three-fiber or vtk.js).
    • Experience with Docker and Celery.
    • A strong eye for API design and complex UI (editors, dashboards, large-scale data).

    What We Value

    We are looking for someone with a scientific mindset—someone who is not only a great coder but is also curious about how pipelines and HPC (High-Performance Computing) environments work. You should enjoy solving complex logic puzzles and building tools that help scientists discover the building blocks of life.

    Applicaton deadline: May 30, 2026.

    Are you interested in our Full-Stack Developer & Scientific Software Engineer position? Send your CV and a letter of interest to blanca@cnb.csic.es.

    I2PC – Instruct-RI Hubs hybrid course on Electron Tomography and Subtomogram Averaging. Madrid, December 10 – 13, 2024

    VENUE

    Hybrid course.
    December 10 – 13, 2024 from 16:00 to 21:30 CET.
    You do not need to install any special software to connect. A modern browser should be enough.

    Overall aims and course outline

    By using image processing algorithms, it becomes possible to pinpoint the macromolecules of interest within the electron tomograms. Subsequently, researchers can extract small subtomograms from these locations and identify similar particles, facilitating their averaging and the recognition of diverse conformations. This process, referred to as subtomogram averaging, has played a pivotal role in elucidating an increasing number of macromolecular structures, achieving resolutions ranging from 20 to 3 A.

    The course is designed to offer a comprehensive overview of the whole image processing workflow in Electron Tomography (ET). This includes tasks such as aligning the tilt series, reconstructing 3D tomograms, identifying particles, performing subtomogram averaging or even to perform a tomogram segmentation, all inside Scipion integration framework.  

    With the experience gained in the organisation of virtual and in-person courses, we intend to organise this course in a hybrid format. We will be able to accommodate up to 20 individuals for in-person attendance. However, other 20 participants will attend remotely. In total, we can host 40 attendees. 

    The course is aimed at researchers of all levels wanting to adopt electron microscopy as one of the tools at their disposal for elucidating biological structures

    For more information see:

    I2PC – Instruct-RI Hubs hybrid course on Electron Tomography and Subtomogram Averaging. Madrid, December 10 – 13, 2024 – I2PC – Instruct Image Processing Center

    Position open: Software Engineer in the Biocomputing Unit (BCU), CNB-CSIC, Madrid

    Description: We are looking for a candidate with a BSc in Computer Science, Mathematics, Engineering, Physics or equivalent, who has experience on system management at HPC scale and/or software development skills. The candidate will be part of a team in charge of managing the computing infrastructure of the group, assisting in the deployment and configuration of scientific software and participating on European and National projects related to cloud and open data technologies.

    Background: INSTRUCT ERIC is the European Strategic Initiative in the area of Structural Biology. It is organized as a distributed infrastructure with “Instruct Centers” and the BCU hosts the “INSTRUCT Image Processing Center (I2PC)”.
    BCU is well known in the area of 3D-EM, with over 200 publications in the area and large contributions to open source scientific software, like Scipion, Xmipp and 3DBionotes.For further information go to INSTRUCT Image Processing Center or  Biocomp web sites.

    Location: Madrid 

    Required Skills:

    • BSc / MSc in Computer Science, Mathematics, Engineering, Physics or equivalent.
    • Programming experience with python (C/C++ is a plus)
    • Experience in Linux and HPC environments
    • Interest and/or experience in computer Hardware 
    • Medium level of proficiency in written and spoken English

    The following skills are considered a “plus”, but are not essential:

    • Experience in assisting open source software development teams (GitHub, documentation, user support, collaboration tools…).
    • Automation skills (bash, python…)
    • Experience in Virtualization: Docker, Virtualbox
    • Experience with Graphical Processing units (GPU)
    • Experience in Cloud (Amazon AWS)

    Interested candidates should send their CV’s and letter of interest to i2pc@cnb.csic.es.