Lewati ke konten
Roadmap Kategori Dokumentasi Masuk Daftar gratis

.Net Developer

Roadmap skill tree untuk membawa peserta tanpa pengalaman pemrograman menjadi senior backend developer .NET. Materi mencakup fondasi pemrograman, C# dan .NET modern, ASP.NET Core Web API, database dan Entity Framework Core, testing, Docker, Redis, arsitektur dan microservices, Kubernetes, serta kesiapan produksi (CI/CD, observability, keamanan, performa). Beberapa cabang dapat dipelajari paralel setelah fondasi dikuasai.

Memuat diagram…

Daftar materi

Versi teks dari diagram di atas.

  1. Section

    Fondasi Pemrograman & Tools

    Bekal dasar sebelum menulis kode C#: logika pemrograman, command line, Git, dan cara kerja web.

  2. Section

    C# & Platform .NET

    Bahasa C# dari dasar hingga fitur modern, beserta ekosistem .NET SDK dan CLI.

  3. Section

    ASP.NET Core Web API

    Membangun backend HTTP API yang terstruktur, aman, dan terdokumentasi dengan ASP.NET Core.

  4. Section

    Database & Persistence

    SQL, desain basis data relasional, dan akses data menggunakan Entity Framework Core.

  5. Section

    Testing & Kualitas Kode

    Unit test, mocking, dan integration test untuk memastikan kode backend dapat diandalkan.

  6. Section

    Docker & Containerization

    Mengemas aplikasi .NET beserta dependensinya ke dalam container yang konsisten di semua lingkungan.

  7. Section

    Redis & Caching

    Memanfaatkan Redis untuk caching, rate limiting, pub/sub, dan koordinasi terdistribusi.

  8. Section

    Arsitektur & Sistem Terdistribusi

    Prinsip desain, Clean Architecture, DDD, messaging, dan microservices untuk sistem berskala besar.

  9. Section

    Kubernetes

    Orkestrasi container: deployment, konfigurasi, networking, scaling, dan packaging dengan Helm.

  10. Section

    Kesiapan Produksi

    CI/CD, observability, keamanan aplikasi, dan optimasi performa untuk sistem yang berjalan di produksi.

  11. Section

    Jalur Senior

    System design, kepemimpinan teknis, dan proyek capstone sebagai bukti kompetensi level senior.

  12. Prerequisite

    Literasi Komputer & Sistem Operasi

    Memahami file system, proses, variabel lingkungan, dan instalasi perangkat lunak sebagai dasar kerja developer.

  13. Topic

    Logika Pemrograman & Algoritma Dasar

    Cara berpikir komputasional: memecah masalah, menyusun langkah, dan menuliskannya sebagai algoritma sebelum mengenal sintaks bahasa.

  14. Topic

    Command Line & Shell

    Bekerja efektif di terminal (Bash/PowerShell), keterampilan wajib untuk .NET CLI, Docker, dan Kubernetes.

  15. Topic

    Git & Version Control

    Mengelola riwayat kode, branching, dan kolaborasi tim menggunakan Git dan platform seperti GitHub.

  16. Topic

    Dasar Web & Protokol HTTP

    Cara kerja client-server, request/response HTTP, status code, header, serta DNS dan HTTPS.

  17. Subtopic

    Konsep REST & Format JSON

    Prinsip desain API berbasis resource dan format pertukaran data JSON.

  18. Optional · opsional

    Struktur Data & Kompleksitas Algoritma

    Array, linked list, hash table, tree, serta notasi Big-O. Berguna untuk wawancara kerja dan menulis kode efisien.

  19. Topic

    Ekosistem .NET & Setup Lingkungan

    Mengenal .NET (runtime, SDK, BCL), versi LTS/STS, serta menyiapkan IDE dan .NET CLI.

  20. Topic

    Sintaks Dasar C#

    Struktur program C#, namespace, input/output konsol, dan aturan penulisan kode.

  21. Subtopic

    Tipe Data, Variabel & Operator

    Value type vs reference type, tipe primitif, string, konversi tipe, dan operator.

  22. Subtopic

    Percabangan, Perulangan & Method

    if/switch, for/foreach/while, serta mendefinisikan method dengan parameter dan nilai kembali.

  23. Topic

    Pemrograman Berorientasi Objek di C#

    Class, object, constructor, property, enkapsulasi, dan access modifier sebagai fondasi desain aplikasi .NET.

  24. Subtopic

    Pewarisan, Polimorfisme, Interface & Abstract Class

    Membangun abstraksi dan kontrak antar komponen, dasar dari dependency injection dan arsitektur bersih.

  25. Topic

    Collections, Generics & LINQ

    List, Dictionary, HashSet, tipe generik, serta query data secara deklaratif menggunakan LINQ.

  26. Topic

    Penanganan Error & Exception

    try/catch/finally, custom exception, serta pengelolaan resource dengan using dan IDisposable.

  27. Topic

    Asynchronous Programming (async/await)

    Task, async/await, cancellation, dan concurrency dasar, kunci performa aplikasi backend yang I/O-bound.

  28. Topic

    Fitur C# Modern

    Record, pattern matching, nullable reference types, init-only property, dan primary constructor.

  29. Topic

    Delegate, Event & Lambda Expression

    Func, Action, lambda, dan event sebagai dasar LINQ, middleware, dan konfigurasi di ASP.NET Core.

  30. Subtopic

    NuGet, Solution & Struktur Proyek

    Mengelola dependensi dengan NuGet, file .csproj, serta solution multi-proyek.

  31. Project

    Proyek: Aplikasi Konsol Manajemen Tugas

    Aplikasi to-do berbasis konsol dengan penyimpanan file JSON, menerapkan OOP, LINQ, exception handling, dan async I/O. Dikelola di Git.

  32. Assessment

    Evaluasi: C# & .NET Dasar

    Kuis konsep dan tantangan coding untuk menguji OOP, LINQ, async, dan fitur C# modern.

  33. Optional · opsional

    Reflection & Attribute

    Membaca metadata tipe saat runtime dan membuat attribute kustom; berguna untuk memahami cara kerja framework.

  34. Topic

    Fundamental ASP.NET Core

    Hosting model, Program.cs, Kestrel, dan middleware pipeline yang memproses setiap request.

  35. Subtopic

    Dependency Injection & Service Lifetime

    Container DI bawaan, lifetime Singleton/Scoped/Transient, dan jebakan captive dependency.

  36. Subtopic

    Configuration, Options Pattern & Environment

    appsettings.json, environment variable, user secrets, dan binding konfigurasi ke class bertipe kuat.

  37. Subtopic

    Logging dengan ILogger

    Abstraksi logging bawaan, log level, kategori, dan structured logging dasar.

  38. Topic

    Membangun Web API: Controller & Minimal API

    Membuat endpoint CRUD menggunakan controller dan Minimal API, termasuk DTO dan pemetaan respons HTTP.

  39. Subtopic

    Routing & Model Binding

    Attribute routing, route constraint, serta binding dari route, query, header, dan body.

  40. Subtopic

    Validasi Input

    Validasi dengan DataAnnotations dan FluentValidation agar data yang masuk selalu konsisten.

  41. Subtopic

    Error Handling Global & ProblemDetails

    Menangani exception secara terpusat dan menyajikan error dengan format standar ProblemDetails (RFC 9457).

  42. Topic

    Dokumentasi API (OpenAPI) & Versioning

    Menghasilkan dokumen OpenAPI dan menerapkan strategi versioning API agar perubahan tidak merusak klien.

  43. Topic

    Autentikasi & Otorisasi

    JWT Bearer, ASP.NET Core Identity, role dan policy-based authorization, serta konsep OAuth 2.0/OpenID Connect.

  44. Optional · opsional

    gRPC di .NET

    Komunikasi antar-service berkinerja tinggi berbasis Protocol Buffers dan HTTP/2.

  45. Optional · opsional

    SignalR untuk Komunikasi Real-time

    Push notifikasi dan pembaruan data real-time ke klien melalui WebSocket.

  46. Project

    Proyek: REST API Toko Online

    API toko online dengan produk, kategori, keranjang, dan pesanan. Menggunakan EF Core dan PostgreSQL/SQL Server, autentikasi JWT, validasi, dokumentasi OpenAPI, serta unit dan integration test.

  47. Assessment

    Evaluasi: ASP.NET Core Web API

    Code review proyek toko online dan kuis tentang middleware, DI, dan keamanan API.

  48. Topic

    Database Relasional & SQL

    Tabel, primary/foreign key, query SELECT, JOIN, agregasi, subquery, dan DML menggunakan PostgreSQL atau SQL Server.

  49. Subtopic

    Desain Skema & Normalisasi

    ERD, bentuk normal, dan kapan melakukan denormalisasi demi performa.

  50. Topic

    Entity Framework Core

    ORM resmi .NET: DbContext, pemetaan entity, Fluent API, dan query LINQ ke database.

  51. Subtopic

    Migrations & Seeding

    Mengelola evolusi skema database dengan migration dan menyiapkan data awal.

  52. Subtopic

    Relasi, Loading Strategy & Performa Query

    Relasi one-to-many dan many-to-many, eager/lazy/explicit loading, masalah N+1, AsNoTracking, dan projection.

  53. Topic

    Transaksi & Concurrency Control

    Properti ACID, isolation level, optimistic concurrency dengan row version, dan pessimistic locking.

  54. Optional · opsional

    Dapper & Micro-ORM

    Akses data ringan dengan SQL mentah untuk query yang sangat kritis performanya.

  55. Optional · opsional

    Database NoSQL (MongoDB)

    Model data dokumen dan kapan NoSQL lebih cocok daripada database relasional.

  56. Subtopic

    Indexing & Execution Plan

    Jenis index, cara membaca execution plan, dan trade-off index terhadap performa tulis.

  57. Topic

    Unit Testing dengan xUnit

    Menulis unit test yang cepat dan terisolasi dengan pola Arrange-Act-Assert.

  58. Subtopic

    Mocking & Test Double

    Mengisolasi unit yang diuji menggunakan mock, stub, dan fake dengan library seperti NSubstitute atau Moq.

  59. Topic

    Integration Testing

    Menguji API end-to-end dengan WebApplicationFactory dan database nyata melalui Testcontainers.

  60. Optional · opsional

    Test-Driven Development (TDD)

    Siklus red-green-refactor untuk mendorong desain kode yang lebih baik.

  61. Assessment

    Evaluasi: Database & Testing

    Uji pemahaman SQL, EF Core, transaksi, dan strategi testing melalui soal praktik.

  62. Milestone

    Milestone: Junior Backend Developer .NET

    Mampu membangun, menguji, dan menjelaskan Web API berbasis database secara mandiri.

  63. Topic

    Konsep Container & Dasar Docker

    Perbedaan container dan VM, arsitektur Docker, serta perintah dasar Docker CLI.

  64. Subtopic

    Image, Volume & Network

    Layer image, persistensi data dengan volume, dan komunikasi antar container melalui network.

  65. Topic

    Dockerfile untuk Aplikasi .NET

    Menulis Dockerfile multi-stage untuk build dan runtime aplikasi ASP.NET Core.

  66. Topic

    Docker Compose

    Mendefinisikan lingkungan multi-container (API, database, cache) dalam satu file deklaratif.

  67. Subtopic

    Keamanan & Optimasi Image

    Menjalankan container sebagai non-root, memilih base image minimal, dan memindai kerentanan image.

  68. Project

    Proyek: Kontainerisasi API Toko Online

    Kemas API toko online beserta database menggunakan Dockerfile multi-stage dan Docker Compose, lengkap dengan healthcheck dan migration otomatis.

  69. Assessment

    Evaluasi: Docker

    Kuis dan tantangan troubleshooting container yang gagal berjalan.

  70. Topic

    Fundamental Redis & Struktur Data

    Redis sebagai in-memory data store: string, hash, list, set, sorted set, TTL, dan redis-cli.

  71. Topic

    Caching di ASP.NET Core

    In-memory cache, IDistributedCache dengan Redis, HybridCache, output caching, dan pola cache-aside.

  72. Subtopic

    Strategi Invalidasi & Expiration

    Absolute dan sliding expiration, invalidasi berbasis event, serta mencegah cache stampede.

  73. Topic

    Pola Lanjutan Redis

    Pub/Sub, Redis Streams, distributed lock, rate limiting, dan penyimpanan session terdistribusi.

  74. Topic

    Persistence, Replikasi & High Availability Redis

    RDB dan AOF, replikasi, Sentinel, Redis Cluster, serta pemantauan memori.

  75. Project

    Proyek: Caching & Rate Limiting API

    Tambahkan caching katalog, rate limiting, dan distributed lock checkout ke API toko online, dijalankan melalui Docker Compose.

  76. Assessment

    Evaluasi: Redis

    Studi kasus pemilihan strategi caching dan analisis risiko konsistensi data.

  77. Topic

    Prinsip SOLID & Design Pattern

    SOLID, DRY, KISS, serta pola GoF yang sering dipakai di backend: Strategy, Factory, Decorator, Repository, dan Unit of Work.

  78. Topic

    Clean Architecture & Domain-Driven Design

    Pemisahan layer domain, application, infrastructure, dan presentation; entity, value object, aggregate, dan bounded context.

  79. Subtopic

    CQRS & Mediator Pattern

    Memisahkan command dan query, pipeline behavior untuk validasi dan logging.

  80. Topic

    Messaging & Event-Driven Architecture

    Message broker (RabbitMQ), MassTransit, outbox pattern, idempotency, dan eventual consistency.

  81. Topic

    Microservices: Desain & Komunikasi

    Kapan memilih microservices vs modular monolith, dekomposisi service, database per service, serta komunikasi sinkron dan asinkron.

  82. Subtopic

    Resiliency: Retry, Timeout & Circuit Breaker

    Membuat panggilan antar-service tahan gangguan dengan Polly dan Microsoft.Extensions.Resilience.

  83. Subtopic

    API Gateway dengan YARP

    Reverse proxy dan gateway sebagai pintu masuk tunggal: routing, autentikasi terpusat, dan rate limiting.

  84. Optional · opsional

    .NET Aspire

    Orkestrasi pengembangan lokal aplikasi terdistribusi dengan service discovery, dashboard, dan telemetry bawaan.

  85. Project

    Proyek: Sistem Microservices Pemesanan

    Pecah toko online menjadi service katalog, pesanan, pembayaran, dan notifikasi dengan Clean Architecture, RabbitMQ, Redis, API gateway, dan resiliency; semua berjalan di Docker Compose.

  86. Assessment

    Evaluasi: Arsitektur & Microservices

    Review desain proyek microservices dan diskusi trade-off arsitektur.

  87. Milestone

    Milestone: Mid-level Backend Developer .NET

    Mampu merancang dan membangun sistem backend terdistribusi berbasis container secara mandiri.

  88. Topic

    Konsep & Arsitektur Kubernetes

    Control plane, node, kubelet, model deklaratif, kubectl, serta cluster lokal (kind/minikube).

  89. Subtopic

    Pod, Deployment & Service

    Unit dasar workload, rolling update dan rollback, serta tipe Service ClusterIP, NodePort, dan LoadBalancer.

  90. Topic

    ConfigMap, Secret & Namespace

    Memisahkan konfigurasi dari image, mengelola data sensitif, dan mengisolasi lingkungan dengan namespace.

  91. Topic

    Networking: Ingress & Service Discovery

    DNS internal cluster, Ingress controller, TLS, dan NetworkPolicy.

  92. Topic

    Health Probe, Resource & Autoscaling

    Liveness, readiness, dan startup probe yang terhubung ke health check ASP.NET Core; request/limit; HorizontalPodAutoscaler.

  93. Topic

    Storage & StatefulSet

    PersistentVolume, PersistentVolumeClaim, StatefulSet, serta pertimbangan menjalankan database dan Redis di dalam cluster.

  94. Topic

    Helm

    Package manager Kubernetes: chart, values, templating, dan release management.

  95. Optional · opsional

    GitOps dengan Argo CD

    Sinkronisasi state cluster secara otomatis dari repository Git.

  96. Project

    Proyek: Deploy Microservices ke Kubernetes

    Deploy sistem microservices pemesanan ke cluster Kubernetes menggunakan Helm, Ingress, probe, HPA, dan pipeline CI/CD.

  97. Assessment

    Evaluasi: Kubernetes

    Tantangan troubleshooting pod yang gagal (CrashLoopBackOff, ImagePullBackOff, probe gagal) dan kuis konsep.

  98. Topic

    CI/CD dengan GitHub Actions

    Pipeline otomatis untuk build, test, analisis kode, build image, dan deployment.

  99. Topic

    Observability: Log, Metrik & Tracing

    Structured logging dengan Serilog, OpenTelemetry untuk metrik dan distributed tracing, serta dashboard dan alerting.

  100. Topic

    Keamanan Aplikasi Backend

    OWASP Top 10, secret management, HTTPS, CORS, data protection, dan pemindaian dependensi.

  101. Topic

    Performa & Profiling .NET

    Garbage collector, alokasi memori, Span<T>, pooling, benchmarking dengan BenchmarkDotNet, dan diagnosis dengan dotnet-counters/dotnet-trace.

  102. Subtopic

    Load Testing

    Menguji kapasitas sistem dengan k6 dan menemukan bottleneck sebelum produksi.

  103. Optional · opsional

    Platform Cloud (Azure atau AWS)

    Layanan terkelola untuk aplikasi .NET: managed Kubernetes (AKS/EKS), managed database, managed Redis, dan secret vault.

  104. Topic

    System Design untuk Backend

    Skalabilitas, teorema CAP, sharding, replikasi, load balancing, desain API berskala besar, dan estimasi kapasitas.

  105. Topic

    Kepemimpinan Teknis

    Code review yang efektif, mentoring, Architecture Decision Record, dokumentasi teknis, dan estimasi pekerjaan.

  106. Project

    Capstone: Platform Backend Production-Ready

    Bangun platform backend lengkap (misalnya sistem reservasi atau marketplace) dengan Clean Architecture, microservices, Redis, messaging, CI/CD, Kubernetes, observability penuh, keamanan, dan hasil load test terdokumentasi.

  107. Assessment

    Evaluasi Akhir: Review Capstone & Mock Interview

    Presentasi capstone, sesi system design interview, dan wawancara teknis setara posisi senior.

  108. Milestone

    Milestone: Senior Backend Developer .NET

    Mampu merancang, membangun, mengoperasikan, dan memimpin pengembangan sistem backend .NET skala produksi.