Faisalaffan Blog
|
🇮🇩
Faisalaffan Blog

Strategi Portofolio Berdasarkan Level Karir — Junior sampai CTO

Portofolio kamu harus mencerminkan level senioritasmu, bukan sekadar daftar semua project yang pernah kamu sentuh. Junior engineer jual potensi dan fundamental. Senior engineer jual depth dan arsitektur. Staff engineer jual leverage. CTO jual hasil bisnis. Ini panduan lengkap apa yang harus ada di portofolio di setiap level — dengan contoh konkret dan format universal yang bisa langsung kamu pakai.

Faisal Affan
Faisal Affan
Diterbitkan
Strategi Portofolio Berdasarkan Level Karir — Junior sampai CTO

Strategi Portofolio Berdasarkan Level Karir — Junior sampai CTO

"Tunjukkan portofoliomu, dan aku akan tahu level operasi kamu sebenarnya." — Setiap Senior Engineer yang Pernah Review Resume

Kebanyakan portofolio gagal karena satu alasan: tidak cocok dengan role yang dilamar. Portofolio junior penuh buzzword tanpa kode yang di-deploy. Portofolio senior yang isinya daftar tugas, bukan keputusan arsitektur. Portofolio staff engineer yang bacaannya kayak resume mid-level.

Portofolio harus bercerita. Dan cerita itu berubah drastis tergantung level yang kamu targetkan.


Framework Universal

Sebelum detail, hafalkan ini:

Plaintext
[Role]     → [Fokus Utama]     → [Bukti Konkret]
Junior     → Fundamental        → Kode + deploy
Mid        → Eksekusi           → Impact metrics
Senior     → Arsitektur         → Diagram + trade-off
Staff      → Leverage           → Adopsi org-wide
EM/CTO     → Bisnis             → Strategi + hasil

Kalau portofoliomu tidak mencerminkan level targetmu, kamu memberi sinyal ke audiens yang salah.


Junior / Fresh Graduate

Yang Mereka Beli

Potensi. Tidak ada yang mengharapkan junior punya pengalaman production. Mereka bertaruh pada kemampuanmu belajar cepat, menulis kode bersih, dan tidak menjadi beban bersih bagi tim.

Yang Harus Dimasukkan

Yang Dinilai

  • Keterbacaan kode: Apakah developer lain bisa memahami kodemu tanpa penjelasan?
  • Konsistensi commit: Apakah kamu commit perubahan yang atomik dan logis?
  • Dokumentasi: Apakah README-mu menjelaskan mengapa project ada dan cara menjalankannya?
  • Kecepatan belajar: Apakah kodemu membaik seiring waktu?

Yang Harus Dihindari

  • Mencantumkan 20 teknologi yang "dikuasai" tanpa project nyata yang mendukung
  • Kloning tutorial tanpa modifikasi
  • Section "coming soon" yang sudah coming soon selama 6 bulan

Mid-Level (2-5 Tahun)

Yang Mereka Beli

Keandalan eksekusi. Kamu sudah mengirim fitur nyata ke pengguna nyata. Kamu sudah merusak production dan memperbaikinya. Kamu sudah menavigasi codebase sungguhan. Portofoliomu harus membuktikan kamu bisa dipercaya dengan sebuah fitur dan mengirimkannya end-to-end.

Yang Harus Dimasukkan

  • 2-3 case study project kerja (bisa dianonimkan jika NDA): masalah → solusi → dampak terukur. "Mengurangi latency API 40% setelah implementasi Redis caching layer" jauh lebih baik daripada "Bekerja pada optimasi API"
  • Kontribusi open source: PR kecil ke project mature sekalipun memberi sinyal kamu bisa menavigasi codebase asing
  • Artikel teknis atau blog post: Menunjukkan pemahaman mendalam, bukan sekadar pengetahuan permukaan
  • Side project yang menyelesaikan masalah nyata: Bukan todo app lagi. Sesuatu yang benar-benar kamu pakai.

Yang Dinilai

  • Kemampuan mengirim dan memelihara: Bukan cuma build, tapi own — monitoring, debugging, iterasi
  • Skill debugging: Bisakah kamu menemukan root cause insiden production tanpa dipegangi?
  • Mindset kepemilikan: Apakah kamu memperbaiki masalah tanpa diminta?

Senior Engineer

Yang Mereka Beli

Depth + breadth + technical judgment. Seorang senior bisa dipercaya memegang sistem kritis, bisa membimbing junior, dan membuat keputusan teknis yang bertahan seiring waktu. Fokus portofolio bergeser dari "apa yang saya bangun" ke "apa yang saya putuskan dan mengapa."

Yang Harus Dimasukkan

  • Diagram arsitektur sistem yang kamu rancang. Bukan cuma keadaan akhir — tunjukkan evolusinya, alternatif yang ditolak, trade-off yang diambil
  • Keputusan trade-off dengan alasan eksplisit: "Kami memilih PostgreSQL daripada MongoDB karena model data kami punya persyaratan integritas relasional yang akan rusak oleh eventual consistency"
  • Dampak mentoring & code review: Apakah kamu meningkatkan level timmu? Apakah kamu menetapkan pattern yang diadopsi orang lain?
  • Speaking/writing: Presentasi konferensi, tech talk internal, RFC, design doc

Yang Dinilai

  • Bisakah kamu dipercaya dengan sistem kritis?
  • Bisakah kamu membimbing engineer junior secara efektif?
  • Apakah kamu membuat keputusan yang skalanya melampaui masalah langsung?
Contoh: Item Portofolio Senior

Project: Migrasi Pipeline Pemrosesan Pembayaran Role: Technical Lead Konteks: Monolith legacy memproses 10K pembayaran/hari, 15% failure rate saat peak hours Keputusan: Migrasi ke microservice event-driven dengan jaminan idempotensi dan dead-letter queue Trade-off yang Dipertimbangkan: CDC vs message broker, at-least-once vs exactly-once semantics, dual-write vs outbox pattern Dampak: Failure rate turun ke 0.3%, throughput naik ke 50K/hari, nol inkonsistensi data dalam 18 bulan Diagram: [Diagram arsitektur sebelum/sesudah dengan aliran data] Mentoring: Membimbing 2 engineer junior melalui migrasi, menetapkan proses review event schema yang diadopsi seluruh organisasi


Staff / Principal Engineer

Yang Mereka Beli

Leverage — dampak di luar kontribusi individual. Staff engineer tidak hanya menyelesaikan masalah sulit. Mereka menyelesaikan masalah yang mencegah engineer lain menjadi produktif. Portofoliomu harus teriak "multiplier."

Yang Harus Dimasukkan

  • Inisiatif lintas tim yang kamu pimpin atau katalisasi
  • Standar/tooling/framework yang kamu buat dan diadopsi di seluruh organisasi
  • Dokumen strategi teknis: Visi jangka panjang, roadmap migrasi, prinsip arsitektur
  • Pembingkaian masalah di level org: Bukan "kita butuh database baru" tapi "arsitektur kita saat ini mencegah kita masuk ke 3 pasar baru dalam 18 bulan ke depan"

Yang Dinilai

  • Bisakah kamu mempengaruhi tanpa otoritas langsung?
  • Apakah kamu membingkai masalah di level abstraksi yang tepat?
  • Apakah pekerjaanmu bersifat compound — membuat orang lain lebih cepat/baik?

Engineering Manager / Tech Lead

Yang Mereka Beli

People + delivery. Kamu tidak lagi dievaluasi dari output kode individual. Portofoliomu adalah tentang hasil tim: retensi, pertumbuhan, keandalan pengiriman.

Yang Harus Dimasukkan

  • Metrik pertumbuhan tim: Promosi yang kamu champion, engineer yang kamu rekrut dan kembangkan, tingkat retensi
  • Track record pengiriman: Project besar yang dikirim, persentase on-time delivery, pengurangan insiden
  • Perbaikan proses: Pengurangan cycle time, peningkatan frekuensi deployment, percepatan code review
  • Penanganan konflik & prioritas: Contoh menavigasi permintaan stakeholder yang bersaing

CTO / VP Engineering

Yang Mereka Beli

Hasil bisnis melalui strategi teknis. Di level ini, portofoliomu bukan tentang teknologi — tapi tentang bagaimana teknologi menciptakan nilai bisnis. Revenue, pengurangan biaya, time-to-market, keunggulan kompetitif.

Yang Harus Dimasukkan

  • Keputusan strategis: Analisis build vs buy, migrasi platform, pemilihan vendor
  • Metrik dampak bisnis: Pengurangan biaya (infra, lisensi), enablement revenue (lini produk baru), akselerasi time-to-market
  • Org design: Bagaimana kamu menyusun tim, filosofi hiring, scaling dari N ke M engineer
  • Manajemen budget & vendor: Budget teknologi tahunan, negosiasi vendor besar
  • Manajemen risiko: Kepatuhan keamanan, disaster recovery, kontinuitas bisnis

Checklist Portofolio Universal

Terlepas dari level, setiap portofolio harus punya:

  • Sinyal level target yang jelas: Pembaca harus tahu dalam 5 detik role apa yang kamu targetkan
  • Visual: Diagram untuk arsitektur, grafik untuk metrik dampak, screenshot untuk UI
  • So what? di setiap item: Setiap project, setiap metrik, setiap section harus menjawab: kenapa aku harus peduli?
  • Tidak ada link mati: Cek GitHub-mu, demo live-mu, link artikelmu — setiap bulan
  • Mobile-friendly: Hiring manager review portofolio di HP saat makan siang. Kalau portofoliomu rusak di mobile, kamu sudah kalah
  • Diperbarui dalam 3 bulan terakhir: Portofolio basi memberi sinyal kamu tidak aktif terlibat

Portofoliomu bukan etalase trofi. Itu deck presentasi. Dan pitch-mu berubah setiap kali kamu promosi.

Artikel terkait

Rekayasa Perangkat Lunak

Search & Catalog 15k SKU Q-Commerce: Relevan + In-Stock Real-time

System design search dan catalog untuk quick commerce dengan 15.000+ SKU. Elasticsearch full-text search dengan multi-match query dan typo tolerance (fuzziness), filter ketersediaan per-hub via Redis pipeline query-time filtering, ranking berbasis relevansi, ketersediaan, margin, dan popularitas, index update via Kafka streaming, dan autocomplete handler. Implementasi Golang lengkap dengan worker concurrency pattern untuk index sync.
Faisal Affan
Faisal Affan
Diterbitkan

Real-time Order Tracking Q-Commerce: Driver Bergerak di Peta Live

System design real-time order tracking untuk quick commerce. Driver GPS ingestion via WebSocket dengan throttling dan validasi, Kalman filter untuk position smoothing, Redis pub/sub fan-out by order ID untuk scale ribuan driver concurrent, dan Server-Sent Events (SSE) push ke user client. Implementasi Golang dengan pattern WebSocket goroutine pool, pub/sub broker, dan concurrent connection management.
Faisal Affan
Faisal Affan
Diterbitkan
Rekayasa Perangkat Lunak
Real-time Inventory Dark Store: Cegah Oversell di Q-Commerce

Real-time Inventory Dark Store: Cegah Oversell di Q-Commerce

Desain inventory per-hub untuk Astro (instant grocery). Reservation pattern dengan Redis DECRBY atomic + TTL, async sync ke Postgres, stock partitioning untuk hot SKU, reaper job untuk reservation leak, dan cycle counting untuk stok fisik vs sistem. Implementasi Golang lengkap.
Faisal Affan
Faisal Affan
Diterbitkan

Promo & Voucher Engine Q-Commerce: Rule Engine Anti-Abuse

System design promo engine untuk quick commerce. Rule engine dengan kondisi komposable (min transaksi, first-N-order, area, kategori) ke efek (discount, free ongkir), atomic counter untuk limit penggunaan Redis Lua, anti-fraud device fingerprinting, stackable vs eksklusif promo resolution, dan budget cap. Implementasi Golang lengkap dengan composable condition interface, AND/OR composite tree, concurrent-safe redeem, serta Kafka event streaming untuk audit trail.
Faisal Affan
Faisal Affan
Diterbitkan