Free
00
Start Here
Software & Programming Architect Introduction
Η δωρεάν είσοδος στη βιβλιοθήκη. Βλέπουμε γιατί ένα software system δεν γίνεται maintainable επειδή ο
κώδικας λειτουργεί, και τι χρειάζεται ώστε architecture, repositories, environments, releases,
incidents, documentation και ownership να μπορούν να περάσουν σε άλλους developers.
4 Blocks
F
Core Foundation
Design Software That Can Be Maintained by Others
Ο συνολικός χάρτης της βιβλιοθήκης: system purpose, architecture, repositories, services, modules,
standards, environments, configuration, secrets, branches, testing, builds, releases, deployments,
monitoring, incidents, migrations, security, onboarding, reviews, documentation, offboarding και
transfer.
20 Blocks
01
Know What the Software Protects
System Purpose and Architecture
Ορίζουμε protected outcome, users, system responsibilities, major components, data flow, external
dependencies, constraints, architecture decisions και non-goals ώστε ο κώδικας να υπηρετεί σαφή system
purpose.
22 Blocks
02
Make the Codebase Navigable
Repository Structure
Σχεδιάζουμε repositories, folders, packages, apps, shared libraries, infrastructure files, tests,
documentation και ownership boundaries ώστε ένας νέος developer να μπορεί να βρει πού ανήκει κάθε
αλλαγή.
24 Blocks
03
Separate Responsibilities Before Scale
Service and Module Boundaries
Ορίζουμε τι ανήκει σε κάθε service ή module, ποια data κατέχει, ποια interfaces εκθέτει, τι
dependencies επιτρέπονται και πώς αποφεύγουμε hidden coupling και circular relationships.
20 Blocks
04
Write Code Others Can Read
Naming and Coding Standards
Δημιουργούμε standards για naming, formatting, structure, comments, error handling, types, interfaces,
commits και file organization ώστε η συνέπεια να μειώνει discovery time και review ambiguity.
22 Blocks
05
Separate Development from Production
Environment Architecture
Σχεδιάζουμε local, development, test, staging και production environments με σαφή data boundaries,
dependencies, access, refresh rules, parity expectations και promotion path.
24 Blocks
06
Control Runtime Behavior Safely
Configuration and Secrets
Ορίζουμε configuration sources, environment variables, secret storage, rotation, access, defaults,
validation, local development handling και incident response ώστε credentials και runtime settings να μη
ζουν μέσα στον κώδικα.
22 Blocks
07
Govern Parallel Development
Branching and Merge Governance
Σχεδιάζουμε branch strategy, naming, protection rules, pull requests, approvals, required checks, merge
method, release branches, hotfixes και cleanup ώστε η συνεργασία να μην καταστρέφει το approved state.
24 Blocks
08
Prove Behavior Before Release
Testing Architecture
Ορίζουμε unit, integration, contract, end-to-end, security, performance και regression tests μαζί με
ownership, fixtures, environments, coverage expectations, failure triage και release gates.
24 Blocks
09
Create Repeatable Artifacts
Build and Release Process
Σχεδιάζουμε versioning, build steps, dependencies, artifact creation, signing, changelog, release
notes, approval, storage και reproducibility ώστε κάθε release να μπορεί να ανασυντεθεί.
22 Blocks
10
Control Who Can Change Production
Deployment Permissions
Ορίζουμε deployment roles, approval thresholds, privileged access, service accounts, break-glass
procedures, environment restrictions και audit logs ώστε production changes να έχουν σαφή authority και
evidence.
24 Blocks
11
See the System While It Operates
Logging and Monitoring
Σχεδιάζουμε structured logs, metrics, traces, dashboards, alerts, ownership, retention, privacy, noise
reduction και health indicators ώστε incidents και degradation να γίνονται visible πριν φτάσουν στον
χρήστη.
24 Blocks
12
Recover Without Guessing
Incident and Rollback
Ορίζουμε detection, severity, incident command, containment, rollback triggers, previous safe version,
communication, evidence, recovery validation και post-incident actions ώστε η αποτυχία να μη
διαχειρίζεται με αυτοσχεδιασμό.
24 Blocks
13
Move Data Without Losing Meaning
Data Migration
Σχεδιάζουμε schema changes, backfills, compatibility, validation, sequencing, downtime, reversible
steps, reconciliation, ownership και rollback ώστε code και data να μετακινούνται ελεγχόμενα.
24 Blocks
14
Protect the Software Boundary
Security Boundaries
Ορίζουμε authentication, authorization, trust zones, input validation, encryption, dependency risk,
secure defaults, threat assumptions, security testing και incident ownership ανά system boundary.
22 Blocks
15
Bring Developers into the System
Developer Onboarding
Δημιουργούμε setup path, access package, architecture orientation, repository tour, local environment,
first task, coding standards, review expectations, support route και readiness verification πριν από
independent changes.
22 Blocks
16
Review Code with Clear Responsibility
Code Review Ownership
Ορίζουμε reviewers, domain ownership, approval requirements, review depth, risk levels, response times,
conflict resolution, security escalation και merge authority ώστε το review να προστατεύει το system και
όχι απλώς το style.
24 Blocks
17
Preserve Technical Context
Technical Documentation
Καταγράφουμε architecture, ADRs, APIs, setup, environments, operations, deployment, incidents, data
models, dependencies, known limits και change history ώστε οι αποφάσεις να επιβιώνουν από τους ανθρώπους
που τις πήραν.
24 Blocks
18
Transfer the Repository and Responsibility
Developer Offboarding and Repository Transfer
Ορίζουμε open-work review, ownership transfer, access revocation, secrets rotation, branch cleanup,
pending releases, knowledge handoff, device return, successor readiness και repository custody πριν
ολοκληρωθεί η έξοδος.