Developer Onboarding

Welcome to EBRAINS development! This guide will help you get started based on what you’re building.

First time at EBRAINS? Complete Your First Week at EBRAINS tutorial before diving into development.

What Are You Building?

Choose your path based on the type of development you’ll be doing:

Web Application Development

1. Setup Your Environment

Prerequisites:

  • Node.js 18+ and npm/yarn
  • Git and GitLab access
  • IDE (VS Code recommended)

Quick Start: Build Your First Application in the UI Ecosystem (45-60 min tutorial)

2. Learn the Design System

All EBRAINS web applications use the unified design system: Integrate The Design System

Key resources:

3. Follow Development Practices

4. Deploy Your Application

Backend Service Development

1. Setup Your Environment

Choose Your Stack:

  • Python: Flask, FastAPI, Django
  • Node.js: Express, NestJS
  • Java: Spring Boot
  • Go: Native services

Prerequisites:

  • Language runtime (Python 3.9+, Node 18+, Java 11+, Go 1.19+)
  • Docker and Docker Compose
  • Git and GitLab access

2. Understand the Architecture

System Architecture

Key concepts:

  • Microservices architecture
  • API design patterns (REST, GraphQL)
  • Message queues and async processing
  • Database design

3. Follow Development Standards

4. Containerize and Deploy

Scientific Software Development

1. Setup Your Environment

Common Tools:

  • Python: NumPy, SciPy, Pandas, Jupyter
  • R: RStudio, Tidyverse
  • MATLAB/Octave
  • C++/Fortran: For performance-critical code

EBRAINS Resources:

2. Research Software Best Practices

  • Reproducibility: Version your code and data
  • Documentation: Write clear READMEs and docstrings
  • Testing: Unit tests for scientific code
  • Publication: Cite software properly (DOI, Zenodo)

3. Workflow Integration

4. Deployment Options

  • Jupyter notebooks in Collaboratory
  • Docker containers for reproducibility
  • HPC job submission
  • Web applications via UI Ecosystem

Infrastructure Development

1. Setup Your Environment

Prerequisites:

  • Docker and Kubernetes CLI
  • Terraform or Ansible
  • GitLab CI/CD access
  • Cloud provider access (if applicable)

2. Learn Infrastructure Practices

DevOps & Infrastructure

Key areas:

  • Infrastructure as Code (IaC)
  • CI/CD pipelines
  • Container orchestration (Kubernetes)
  • Monitoring and logging

3. Security and Compliance

4. Operations

  • Deployment automation
  • Monitoring setup
  • Backup and disaster recovery
  • Performance optimization

Common Setup for All Developers

Version Control Access

All EBRAINS developers need GitLab access:

Version Control Setup

Quick checklist:

  • Create GitLab account
  • Configure SSH keys
  • Join your project group
  • Clone your first repository

Make Your First Contribution

First Contribution Tutorial (30-45 min)

Learn:

  • Git branching strategy
  • Commit message conventions
  • Merge request workflow
  • Code review process

Development Lifecycle

Essential practices for all developers:

Getting Help

Join the Developer Community
Connect with other EBRAINS developers on Chat (#tech-support channel)
Technical Documentation
Explore the Tools & Resources section for platform-specific docs
Ask Questions

Next Steps

After completing your onboarding:

  1. Join a project: Talk to your team lead about your first assignment
  2. Review existing code: Familiarize yourself with the codebase
  3. Set up local development: Get the project running on your machine
  4. Make a small contribution: Fix a bug or improve documentation
  5. Attend team meetings: Understand workflows and ask questions

Ready to Build?

You've got the basics. Choose your development path above and dive into the tutorials. Welcome to the EBRAINS developer community!