Le Duy Khuong (Daniel)

Dev Productivity & Tools

Lakehouse — Team Development Guidelines

Development guidelines for Lakehouse team: Git workflow, coding standards, testing, security, deployment, code review, communication.

2026-03-175 min read


Document Info

  • Sprint: 01 - Infrastructure Foundation
  • Created: June 25, 2025
  • Version: 1.0
  • Status: Approved
  • Owner: Development Team

Summary: Comprehensive development guidelines for Lakehouse team including Git workflow, coding standards, testing practices, and collaboration protocols to ensure consistent, high-quality deliverables.


Development Workflow

Git Workflow (GitLab Flow)

  • Main branch: Production-ready code only
  • Staging branch: Pre-production testing
  • Develop branch: Integration branch for features
  • Feature branches: Work stream specific development

Branch Naming Convention

feature/ws1-infrastructure-devops
feature/ws2-data-engineering-platform
feature/ws3-customer-domain-data
feature/ws4-data-catalog-governance
feature/ws5-analytics-api-layer
feature/domain-01-customer-analytics
feature/domain-02-lending-risk

Commit Message Standards

Follow conventional commits format:

<type>(<scope>): <description>

[optional body]

[optional footer]

Types: feat, fix, docs, style, refactor, test, chore
Scopes: ws1, ws2, ws3, ws4, ws5, domain-01, domain-02, etc.

Examples:

feat(ws1): add docker-compose for complete lakehouse stack
fix(ws3): resolve customer data generation encoding issue
docs(ws4): add data catalog setup instructions

Development Environment

Required Tools

  • Git: Version control
  • Docker Desktop: Container orchestration
  • VS Code: Primary IDE with workspace configuration
  • Python 3.9+: Data engineering scripts
  • Node.js 16+: Frontend development (if needed)

VS Code Extensions (Auto-installed)

  • Python, Docker, YAML, SQL
  • GitHub Actions, Black formatter
  • Docker Explorer, Pylint

Environment Setup

# 1. Clone repository
git clone <repository-url>
cd <project-root>
 
# 2. Open VS Code workspace
code .vscode/workspace.code-workspace
 
# 3. Create Python virtual environment
python -m venv venv
source venv/bin/activate  # Linux/Mac
# or
venv\Scripts\activate     # Windows
 
# 4. Install dependencies
pip install -r requirements-dev.txt
 
# 5. Start Docker stack
docker-compose up -d

Code Standards

Python Code Style

  • Formatter: Black (auto-format on save)
  • Linter: Flake8, Pylint
  • Line length: 88 characters
  • Import organization: isort

Docker Standards

  • Use official images when possible
  • Pin specific versions for production
  • Include health checks for all services
  • Use multi-stage builds for optimization

Documentation Standards

  • Markdown: All documentation in markdown
  • Comments: Explain why, not what
  • Docstrings: Python functions with type hints
  • README: Each domain/component has README

SQL Standards

  • Style: Uppercase keywords, lowercase table names
  • Naming: snake_case for tables/columns
  • Formatting: One column per line in SELECT

Testing Guidelines

Test Structure

tests/
├── unit/           # Unit tests for individual functions
├── integration/    # Integration tests for services
├── performance/    # Performance benchmarks
└── e2e/           # End-to-end workflow tests

Testing Requirements

  • Unit tests: >80% code coverage
  • Integration tests: All service connections
  • Performance tests: Meet SLA targets
  • E2E tests: Complete user workflows

Test Commands

# Run all tests
pytest tests/
 
# Run specific test category
pytest tests/unit/
pytest tests/integration/
pytest tests/performance/
 
# Run with coverage
pytest --cov=src tests/

Security Guidelines

Secrets Management

  • Never commit secrets to Git
  • Use .env files with .env.example templates
  • Rotate passwords regularly
  • Use strong, unique passwords

Docker Security

  • Run containers as non-root users
  • Use official base images
  • Scan images for vulnerabilities
  • Limit container resources

Access Control

  • Principle of least privilege
  • Use service accounts for automation
  • Enable 2FA for all accounts
  • Regular access reviews

Monitoring & Logging

Logging Standards

  • Format: JSON structured logging
  • Levels: DEBUG, INFO, WARN, ERROR, FATAL
  • Context: Include request IDs, user IDs
  • Sensitive data: Never log passwords/tokens

Monitoring Requirements

  • Health checks: All services must have /health endpoint
  • Metrics: Prometheus format preferred
  • Alerts: Define SLA-based alerting
  • Dashboards: Grafana visualization

Deployment Process

Environment Promotion

Developer Local → Dev Environment → Staging → Production

Deployment Checklist

  • All tests pass
  • Code review approved
  • Documentation updated
  • Performance benchmarks met
  • Security scan clean
  • Deployment rollback plan ready

CI/CD Pipeline

  • Trigger: Pull request to develop/staging/main
  • Steps: Test → Build → Security scan → Deploy
  • Notifications: Slack/Teams integration
  • Rollback: Automated rollback on failure

Code Review Process

Review Requirements

  • Mandatory: All code changes require review
  • Reviewers: Minimum 1 for feature branches, 2 for main
  • Scope: Code quality, security, performance, documentation

Review Checklist

  • Code follows style guidelines
  • Tests included and passing
  • Documentation updated
  • No security vulnerabilities
  • Performance acceptable
  • Error handling appropriate

Review Timeline

  • Response time: <24 hours for review request
  • Resolution time: <48 hours for approval
  • Escalation: Contact work stream lead if delayed

Communication & Support

Daily Standups

  • Time: 9:00 AM daily
  • Duration: 15 minutes
  • Format: What did you do? What will you do? Any blockers?

Communication Channels

  • Slack/Teams: Daily coordination
  • Email: Formal communications
  • Video calls: Complex technical discussions
  • Documentation: Async knowledge sharing

Support Process

  • Level 1: Team member support
  • Level 2: Work stream lead
  • Level 3: Technical architect
  • Level 4: Program manager

Troubleshooting Guide

Common Issues

Docker services won't start:

# Check Docker Desktop is running
docker --version
 
# Check available resources
docker system df
 
# Clean up if needed
docker system prune

Git push rejected:

# Check commit message format
git log --oneline -1
 
# Amend if needed
git commit --amend -m "feat(ws1): correct commit message"

VS Code workspace issues:

  1. Close VS Code
  2. Delete .vscode/settings.json
  3. Reopen workspace file
  4. Reinstall recommended extensions

Getting Help

  1. Check this guide first
  2. Search project documentation
  3. Ask team member
  4. Contact work stream lead
  5. Escalate to technical architect

Document Version: 1.0
Created: June 25, 2025
Owner: Lakehouse Program Team
Next Review: Weekly team meeting

LDK

Le Duy Khuong

AI Transformation & Digital Strategy. Writing about agentic systems, engineering leadership, and building in public.