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
- Git Commit Guidelines - Commit message format
4. Deploy Your Application
- Docker Registry - Containerize and publish
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
Key concepts:
- Microservices architecture
- API design patterns (REST, GraphQL)
- Message queues and async processing
- Database design
3. Follow Development Standards
- Version Control - Git workflow and branching
- Definition of Done - Quality standards
- Security Practices - Secure coding
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:
- Collaboratory - Jupyter notebooks in the cloud
- High-Performance Computing - HPC access
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
- Knowledge Graph - Share datasets and metadata
- Version Your Project - Semantic versioning
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
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:
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
Next Steps
After completing your onboarding:
- Join a project: Talk to your team lead about your first assignment
- Review existing code: Familiarize yourself with the codebase
- Set up local development: Get the project running on your machine
- Make a small contribution: Fix a bug or improve documentation
- 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!