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.

    Applying

    Are you interested in our Systems Manager job position? Send your CV and a letter of interest to blanca@cnb.csic.es.

    Systems Manager job position @ Biocomputing Unit

    We have a systems manager job position open at the Biocomputing Unit. Get to know it in this post!

    biocomputing unit server rack

    Description

    We are looking for a candidate with a background in Computer Science for the position of  Systems Management. You will be part of the team in charge of managing the computing infrastructure of the group, learning how public science development and compute infrastructures work. The tasks include assisting in the deployment and configuration of hardware and scientific software. Once here, you will also be participating in European and national projects related to cloud and open data technologies. The amount and heterogeneity of servers requires someone capable of thinking out of the box and exercise creativity to solve IT problems in complex scenarios.

    Location: in person, UAM campus, Madrid

    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)”. The 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 i2pc.es and biocomputingunit.es webpages.

    Required skills

       

        1. Upper cycle in Computer Science related matters (Spanish “FP superior”, BSc, MSc), Mathematics, Engineering, Physics or equivalent are also accepted.

             

              • (specialties or mentions related to systems and networks management such as Computer Engineering/Systems administration appreciated)

          1. Scripting and orchestrating experience: Bash and Python scripts, YAML (Ansible and similar)

          1. Experience and commodity in Linux environments (HPC environments is a plus)

          1. Interest and/or experience in computer hardware and computer networks

          1. Medium level of proficiency in written and spoken English

        Although not essential, we consider the following skills a “plus”:

           

            1. Experience in assisting open-source software development teams (GitHub, documentation, user support, collaboration tools…).

            1. Experience in Virtualization: Docker, Virtualbox

            1. Familiarity with the architecture and functioning of GPUs: NVIDIA CUDA, CUDA Toolkit, NVCC…

            1. Experience in Cloud (Amazon AWS)

          Applying

          Are you interested in our Systems Manager job position? Send your CV and a letter of interest to blanca@cnb.csic.es.