Competencies: Software Engineering > Build & Package Management

Build & Package Management

Body of Knowledge

Topic Description Relevance Career Tracks

Python Packaging

Modern Python packaging with pyproject.toml, build backends (hatchling, setuptools), dependency specification, and distribution formats.

Medium

Backend, DevOps

Dependency Management

Lockfiles, version constraints, dependency resolution, security auditing

High

All Engineering

Build Systems

Make, CMake, Gradle, Maven, Bazel, build automation principles

High

DevOps Engineer, Software Engineer

Artifact Management

Package registries, artifact repositories, versioning, retention

High

DevOps Engineer, Platform Engineer

Containerized Builds

Multi-stage Docker builds, build caching, reproducible builds

High

DevOps Engineer, Platform Engineer

Semantic Versioning

Major/minor/patch, version constraints, breaking changes, changelogs

High

All Engineering

Monorepo Build Tools

Nx, Turborepo, Bazel, incremental builds, affected detection

Medium

Platform Engineer, DevOps Engineer

Cross-Platform Builds

Cross-compilation, platform-specific dependencies, build matrices

Medium

DevOps Engineer, Systems Developer

Build Caching

Local and remote caching, cache invalidation, build acceleration

Medium

DevOps Engineer, Platform Engineer

Personal Status

Topic Level Evidence Active Projects Gaps

Python Packaging

Intermediate

pyproject.toml for domus-api and association-engine; understand build backends (hatchling, setuptools), dependency specification, optional groups

domus-api

No PyPI publishing, no wheel building, no namespace packages