Target Performance, Scope, dan 20-Hour Learning Contract
Membangun kontrak belajar Python berbasis The First 20 Hours: target performa, batas scope, sub-skill, feedback loop, dan rencana praktik 20 jam pertama untuk software engineer.
// Membangun kontrak belajar Python berbasis The First 20 Hours: target performa, batas scope, sub-skill, feedback loop, dan rencana praktik 20 jam pertama untuk software engineer.
This track is ordered for sequential learning. Start from the first part if you want the full mental model, or jump directly into a chapter if you already know the foundations.
Ordered progression from foundations to advanced topics
Membangun kontrak belajar Python berbasis The First 20 Hours: target performa, batas scope, sub-skill, feedback loop, dan rencana praktik 20 jam pertama untuk software engineer.
Membedah Python sebagai bahasa, runtime, standard library, ecosystem, dan cara berpikir engineering agar software engineer tidak hanya menghafal syntax.
Membangun environment Python modern yang reproducible, minim friksi, dan siap untuk deliberate practice: venv, pip, uv, pyproject.toml, pytest, Ruff, editor, dan command workflow.
Panduan syntax survival Python untuk software engineer: struktur file, indentation, expression, statement, values, names, conditionals, loops, functions, imports, I/O, dan membaca traceback.
Membangun mini project Python pertama berbasis The First 20 Hours: CLI case tracker dengan domain model, state transition, JSON persistence, error handling, testing, dan practice loop.
Membahas fondasi data model Python untuk software engineer: object, name binding, identity, equality, mutability, aliasing, copy, mutable defaults, lifecycle, dan konsekuensi desain API.
Membahas core collections Python untuk software engineer: list, tuple, dict, set, ordering, mutability, hashability, complexity, modelling trade-off, dan praktik pada case-tracker.
Membahas function Python sebagai unit desain: signature, parameter, return, side effect, purity, closure, higher-order function, composition, error boundary, dan refactoring procedural code.
Membahas module, package, import system, __init__.py, python -m, import-time side effects, circular import, dependency direction, dan application boundary untuk Python project yang maintainable.
Membahas exception Python secara engineering-level: hierarchy, raise/catch, custom exception, exception chaining, failure taxonomy, defensive boundaries, logging, dan error semantics.
Membahas iteration model Python: iterable, iterator, for-loop protocol, comprehension, generator function, generator expression, lazy evaluation, streaming data, itertools, dan pipeline design.
Membahas OOP Python secara engineering-level: class, instance, attributes, methods, dataclass, value object, entity, inheritance, composition, Protocol, ABC, duck typing, dan domain modelling.
Membahas type hints Python untuk production engineering: gradual typing, annotations, Optional, Union, Literal, TypedDict, Protocol, Generic, NewType, type alias, mypy/pyright, dan typing strategy.
Membahas testing Python dengan pytest sebagai feedback loop desain: test discovery, assertions, fixtures, parametrization, tmp_path, monkeypatch, exception tests, CLI tests, dan test structure.
Membahas arsitektur testing Python tingkat lanjut: fakes vs mocks, unittest.mock, monkeypatch, property-based testing dengan Hypothesis, contract tests, golden files, deterministic tests, dan strategi menghindari flaky tests.
Membahas quality tooling Python modern: Ruff formatter/linter, import sorting, pytest, mypy/pyright, pyproject.toml, pre-commit, GitHub Actions CI, quality gates, dan workflow team.
Membahas packaging Python modern: pyproject.toml, project metadata, dependencies, dependency groups, optional dependencies, build backend, editable install, lockfile, wheel, sdist, dan reproducible builds.
Membahas Python standard library sebagai leverage engineering: pathlib, datetime, json, csv, argparse, logging, collections, itertools, functools, contextlib, tempfile, subprocess, sqlite3, dan modul penting lainnya.
Membahas file I/O dan serialization Python secara engineering-level: text/binary, encoding, JSON, CSV, schema boundary, validation, atomic writes, corruption handling, data migration, dan repository design.
Membahas logging dan diagnostics Python: logging levels, logger hierarchy, structured context, exception logging, correlation id, metrics mindset, debugging, runtime visibility, dan operational design.
Membahas model concurrency Python: concurrency vs parallelism, GIL, thread, process, concurrent.futures, queue, locks, workload classification, race condition, deadlock, dan decision framework.
Membahas async Python secara praktis: event loop, coroutine, await, Task, TaskGroup, cancellation, timeout, semaphore, queue, backpressure, async context manager, dan design pitfalls.
Membahas performance engineering Python secara profesional: measurement before optimization, latency vs throughput, profiling, benchmarking, timeit, cProfile, pstats, flame graph mindset, algorithmic complexity, dan optimization strategy.
Membahas memory engineering Python: object model, references, object overhead, container overhead, sys.getsizeof, tracemalloc, allocation churn, __slots__, dataclass slots, streaming, and data-oriented representation.
Membahas CPython internals yang praktis untuk software engineer: interpreter, bytecode, frame, code object, object model, reference counting, garbage collector, GIL, free-threading, dan implikasi desain.
Membahas pengembangan API Python dengan FastAPI dan Pydantic: HTTP semantics, schemas, validation boundary, dependency injection, service layer, error mapping, OpenAPI, testing, dan production-ready API design.
Membahas data access Python secara production-grade: SQLAlchemy 2.x style, Engine, Session, ORM mapping, transactions, repository pattern, unit of work, migration, testing, dan boundary design.
Membahas arsitektur aplikasi Python: layering, dependency rule, ports and adapters, domain model, application service, repositories, unit of work, DTOs, domain events, dan modular boundaries.
Membahas state machine dan workflow modelling di Python: finite states, transition table, guards, commands, side effects, audit trail, idempotency, concurrency, testing, dan complex case lifecycle.
Membahas security engineering untuk aplikasi Python: threat modelling, OWASP, input validation, authn/authz, secrets, password hashing, injection, deserialization, SSRF, CORS, dependency security, logging, dan secure design.
Membahas production readiness Python: observability, logs, metrics, traces, health checks, readiness/liveness, configuration, graceful shutdown, deployment, runbook, alerts, SLO, dan operational excellence.
Membahas desain library/framework Python: public API, ergonomics, extension points, versioning, backward compatibility, deprecation, documentation, typing, errors, packaging, dan design principles.
Membahas cara memodernisasi dan merawat sistem Python jangka panjang: legacy assessment, Python version upgrade, dependency upgrade, pyproject migration, typing adoption, tests, refactoring, deprecation, dan migration playbook.
Capstone project Python: membangun regulatory case management service production-grade dengan domain model, state machine, FastAPI, Pydantic, SQLAlchemy, Unit of Work, security, observability, testing, dan deployment readiness.
Final review seri belajar Python berbasis The First 20 Hours: menyatukan mental model, skill tree, deliberate practice, engineering judgment, rubric top-tier, capstone review, dan rencana lanjutan setelah 20 jam pertama.