This project aims to help software engineers understand the skills and knowledge required at each stage of their career, from novice to expert. It serves as a roadmap for personal and professional development, enabling individuals to identify areas for growth and track their progress. This is done by using 'archetypes' that define competencies 'topics' expected at different competency stages, as well as 'learning resources' that guide individuals in acquiring these skills.
The project is structured into several key components:
src/
- This folder contains definition files that outline the archetypes, topics, and learning resources in Markdown format.src/archetypes/
- Contains archetype definitions, which describe the competencies and skills expected at various stages of a software engineer's career.src/topics/
- Contains definitions of topics that are relevant to the archetypes, detailing the specific skills, knowledge areas and any learning resources associated with them.src/assets/
- Contains images and other assets used in the documentation.
_site/
- A static website generated from these definitions using MkDocs, providing an accessible and user-friendly interface for exploring the archetypes and learning pathways. Not to be edited directly or committed to the repository.
We welcome contributions to the Zühlke Archetypes and Learning Pathways project! Whether you're a seasoned developer or just starting out, your insight and experiences can help shape a more comprehensive and useful resource for everyone.
Please read through the CONTRIBUTING.md file for guidelines on how to contribute effectively. This document covers everything from reporting issues to submitting pull requests, ensuring a smooth and collaborative process.
This project uses just
as a command runner and uv
for Python environment and dependency management.
# On macOS (using Homebrew)
brew install just
See the just installation guide for more options.
# On macOS (using Homebrew)
brew install uv
See the uv installation guide for more options.
just install
The pre-commit
hook will rebuild the static website before every commit.
This project is maintained by:
Feel free to reach out to any maintainer if you have questions or need assistance.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.