71 poin oleh GN⁺ 2025-09-01 | Belum ada komentar. | Bagikan ke WhatsApp
  • Rekayasa perangkat lunak dalam pengertian tradisional sedang menuju akhir, dan paradigma rekayasa produk berbasis AI mulai muncul
  • Insinyur produk adalah peran hibrida antara manajer produk dan pengembang full-stack, yaitu builder yang otonom dan berorientasi hasil yang bertanggung jawab atas seluruh siklus dari perencanaan hingga deployment
  • Dengan fondasi AI-native, kemampuan berbentuk T, dan pola pikir berpusat pada KPI, mereka diorganisasi berdasarkan unit fungsi (feature), bukan tim, dan memegang tanggung jawab end-to-end untuk onboarding, pembayaran, notifikasi, dan lain-lain
  • Pada tahap produk, mereka menjalankan ideasi, analisis pasar, riset pengguna, dan desain produk; pada tahap engineering, mereka menangani arsitektur, perancangan sistem, pengembangan frontend, dan backend
  • AI menjadi alat yang sangat kuat terutama di area yang dapat didefinisikan dan deterministik (D&D), dan organisasi ke depan kemungkinan besar akan berevolusi dari segitiga PM-desainer-insinyur tradisional menjadi struktur kolaborasi insinyur produk + AI

Background

  • Rekayasa perangkat lunak tradisional tidak lagi memadai
    • Pengumuman bahasa C oleh Dennis Ritchie pada 1972 merupakan pergeseran paradigma mendasar terakhir
    • Perkembangan setelahnya pada dasarnya hanya berupa optimisasi dan abstraksi untuk mempermudah penulisan serta transformasi bahasa mesin
    • Pengukuran produktivitas selama ini dievaluasi berdasarkan efisiensi waktu dan ruang kode, panjang kode, serta keterbacaan
  • Saat ini kita telah memasuki paradigma yang sepenuhnya baru, dan kecil kemungkinan kembali ke era “raw coding” masa lalu
  • John Carmack baru-baru ini menyebut bahwa ke depan alat pembangunan terbaik akan bergeser dari hand-coding ke panduan AI
    • Karena itu, penting bagi engineer untuk mengembangkan “product skills” dan memanfaatkan alat yang paling optimal
  • Rekayasa perangkat lunak secara bertahap akan berevolusi menjadi Product Engineering

Apa itu Insinyur Produk (Product Engineer, PE)?

  • Peran gabungan antara Product Manager dan software engineer full-stack
  • Bertanggung jawab atas seluruh siklus produk, dan berhubungan langsung dengan keberhasilan atau kegagalan produk
  • Karakteristik utama insinyur produk:
    • AI-native: menggunakan LLM bukan sebagai fitur tambahan, melainkan alat inti
    • Kemampuan berbentuk T: memiliki keterampilan engineering yang mendalam sekaligus pemahaman luas tentang produk, data, dan desain
    • Berorientasi hasil: bertanggung jawab atas KPI seperti retensi, conversion rate, dan activation rate
    • Kemampuan eksekusi mandiri: mampu menjalankan ide → dokumen perencanaan → desain → deployment dengan pengawasan minimal
  • Perubahan struktur tim
    • Insinyur produk membentuk lean team yang kecil tetapi sangat terampil
    • Alih-alih pemisahan frontend/backend/infrastruktur seperti sebelumnya, organisasi berpusat pada produk dan unit fungsi (feature squad)
    • Tidak lagi dibagi berdasarkan stack, melainkan disejajarkan berdasarkan outcome
    • Contoh: satu orang menangani onboarding, yang lain pembayaran, dan yang lain lagi fitur notifikasi
    • Masing-masing bertanggung jawab end-to-end atas seluruh fungsi, dari UX hingga lapisan data
    • Dengan kata lain, struktur “tim frontend/backend/infrastruktur” berubah menjadi “squad independen per fitur”
  • Insinyur produk memiliki dua sisi:
    • Sisi produk (pra-pengembangan, pre-development)
    • Sisi engineer (pengembangan dan tahap setelahnya, in/post-development)

The Product

  • Peran sisi produk dari insinyur produk tumpang tindih dengan pekerjaan Product Manager tradisional, yaitu bagian yang bertanggung jawab atas perencanaan dan arah produk
  • Product Ideation (ideasi produk)
    • Proses mendefinisikan dan mengonkretkan fitur inti produk, value proposition, dan kelompok pengguna sasaran
    • Menetapkan dengan jelas alasan keberadaan produk dan target pelanggan sebagai dasar arah pengembangan berikutnya
  • Mind-mapping (pembuatan mind map)
    • Memetakan dan memvisualisasikan ide atau tugas yang bercabang dari konsep utama untuk memahami gambaran besar
    • Digunakan sebagai alat untuk membantu berbagi dan mengembangkan ide dalam tim
  • Brainstorming
    • Proses mencatat ide secara pribadi, lalu membagikannya kepada orang lain untuk diperbaiki, dilengkapi, dan divalidasi
    • Memperluas keberagaman dan kreativitas ide melalui kolaborasi
  • Discovery
    • Proses menggali kebutuhan pelanggan serta meneliti peluang pasar untuk menemukan produk yang menyelaraskan tujuan bisnis dan nilai pengguna
    • Mencakup wawancara pengguna, analisis kompetitor, dan riset pasar
  • Selection (penentuan prioritas)
    • Menentukan fitur atau proyek mana yang lebih dulu dijalankan berdasarkan arah strategi, tujuan bisnis, kebutuhan pelanggan, dan tren pasar
    • Menghasilkan rencana eksekusi yang paling efektif dalam keterbatasan sumber daya
  • Market Analysis (analisis pasar)
    • Menganalisis lingkungan pasar tempat produk akan berada, serta memahami lanskap persaingan, ukuran pasar, peluang, dan ancaman
    • Digunakan untuk penentuan positioning produk dan penyusunan strategi pertumbuhan
  • User Research (riset pengguna)
    • Proses memahami secara mendalam perilaku, kebutuhan, dan pain point pengguna
    • Menyediakan dasar berbasis data untuk meningkatkan pengalaman pengguna
  • Product Design (desain produk)
    • Mencakup desain UI/UX, desain layanan, desain interaksi, dan pengujian pengguna
    • Menjamin pengalaman yang ramah pengguna melalui pembuatan prototipe dan pengujian berulang
  • Peran-peran ini selama ini dijalankan oleh Product Manager tradisional, tetapi insinyur produk menjalankannya dengan lebih lincah menggunakan alat AI
    • AI memiliki keterbatasan dalam menciptakan ide yang benar-benar baru, tetapi sangat kuat dalam meninjau pola yang sudah ada atau melengkapi pemikiran yang berulang
    • Hal pentingnya adalah visi produk harus dipimpin manusia, dan AI sebaiknya digunakan sebagai soundboard untuk memurnikan dan mengoreksi ide

The Engineer

  • Peran sisi engineer dari insinyur produk adalah tahap mengeksekusi dan mengimplementasikan spesifikasi yang telah direncanakan
  • Mencakup empat area utama:
    • Arsitektur perangkat lunak: pengambilan keputusan struktural
    • Perancangan sistem: pendefinisian dan perincian sistem
    • Pengembangan frontend: implementasi desain visual dan antarmuka pengguna
    • Pengembangan backend: optimisasi logika bisnis dan desain database
  • Tentu saja topik engineering tambahan seperti testing, monitoring, dan integrasi AI juga penting, tetapi pada sebagian besar proyek, prioritasnya adalah membangun dan mendeploy produk SLC (Simple, Lovable, Complete) dengan cepat
  • Karena coding LLM sangat kuat dalam lingkungan yang dapat didefinisikan dan deterministik (D&D), kontribusi AI lebih besar pada sisi engineering
  • Planning

    • Tahap kunci untuk memanfaatkan AI secara efektif adalah perencanaan
    • Jika maksud proyek diberikan ke AI sebagai kebutuhan yang terstruktur dengan baik, kualitas kode dalam jangka panjang akan meningkat secara signifikan
    • Dengan mendefinisikan Rules (sekumpulan aturan), AI coder dapat terus merujuk pedoman tingkat sistem
      • Contoh: aturan pembaruan dokumentasi, pencatatan perubahan arsitektur, gaya kode, dan standar pengujian
    • Contoh struktur aturan:
      • Sinkronisasi dokumen /docs serta README dan CHANGELOG
      • Menulis ADR (Architecture Decision Record) saat ada perubahan dependensi utama atau arsitektur
      • Menghasilkan API client dengan OpenAPI Generator, menggunakan template TypeScript axios
      • Akses data menggunakan pola repository, dengan standardisasi penanganan error
      • Mendefinisikan dengan jelas standar pengujian unit, integrasi, dan E2E
    • Di sebagian besar IDE, ini bisa dibuat otomatis dengan /Generate Cursor Rules
  • Software Architecture

    • Arsitektur adalah keputusan yang membentuk tulang punggung codebase, sehingga biaya perubahannya besar dan harus dipertimbangkan hati-hati sejak tahap awal
    • Hal yang perlu dipertimbangkan:
      • Monolitik vs microservices, serverless vs containerization
      • Manajemen dependensi, definisi batas integrasi
      • Modularisasi dan pemisahan concern
      • Protokol komunikasi seperti REST, GraphQL, gRPC, dan event bus
      • Strategi skalabilitas (misalnya horizontal scaling)
    • Peran AI:
      • Membandingkan kelebihan dan kekurangan pola arsitektur alternatif
      • Menghasilkan diagram dengan Mermaid.js
      • Menulis draf ADR
      • Namun keputusan akhir tetap membutuhkan penilaian manusia dan keahlian domain
  • System Design

    • Perancangan sistem adalah proses mengonkretkan arsitektur menjadi layanan nyata, alur data, state machine, dan antarmuka
    • Pekerjaan utama:
      • Mendefinisikan batas API dan layanan
      • Pemodelan data dan perancangan aliran data antar lapisan
      • Strategi penanganan error dan pemulihan gangguan
      • Pemodelan transisi status dan workflow asinkron
      • Penulisan dokumen desain dan peninjauan edge case
    • Potensi pemanfaatan AI:
      • Menghasilkan draf desain awal
      • Mensimulasikan masalah konkurensi dan edge case
      • Menulis antarmuka API, skema, dan state machine
      • Membandingkan pola desain dan memberikan umpan balik
      • Membantu validasi desain seperti “junior engineer
  • Frontend Engineering

    • Frontend bertanggung jawab atas desain visual dan implementasi fungsi klien
    • AI berkinerja sangat baik di ekosistem JS, khususnya framework yang banyak digunakan seperti React
    • Tips meningkatkan performa AI:
      • Berikan brand guideline (font, warna, spasi, aturan responsif) ke AI dalam bentuk screenshot atau dokumen
      • Gunakan Tailwind config, variabel CSS, dan sebagainya untuk menghasilkan kode UI yang konsisten
    • Konversi kode melalui alat Figma-to-code (seperti Tempo) juga bisa dicoba
    • Jika definisi komponen berulang dan aturan responsif dimasukkan ke AI, akan lebih mudah menulis UI yang menjaga konsistensi merek
  • Backend Engineering

    • Backend bertanggung jawab atas implementasi logika bisnis, desain database, pembangunan API, dan optimisasinya
    • AI sangat efektif terutama pada tugas yang dapat didefinisikan dan deterministik (D&D)
    • Teknik yang efektif:
      • Impor dokumen: memuat spesifikasi API dan dokumen teknis langsung ke IDE agar AI dapat merujuknya, sehingga mengurangi halusinasi
      • Penggunaan workspace: pada proyek dengan frontend dan backend terpisah, folder digabungkan untuk memberi konteks sehingga AI lebih memahami struktur proyek secara menyeluruh

General Tips for the Product Engineer

  • Always work at the frontier

    • Selalu penting untuk menggunakan model terbaru
    • Model terbaru memungkinkan pemahaman proyek yang lebih besar berkat peningkatan ukuran context window
    • Ada peningkatan performa seperti kemampuan penalaran yang lebih baik, berkurangnya halusinasi, dan stabilitas yang lebih tinggi
  • Use thinking mode

    • Menyalakan Thinking mode sangat meningkatkan kualitas jawaban model
    • Jika ada opsinya, sebaiknya selalu diaktifkan
    • Jika tidak didukung, efek serupa bisa diperoleh dengan menyertakan kata “ultrathink” dalam prompt
  • Be hyper-specific

    • Saat meminta sesuatu ke AI, instruksinya harus spesifik dan jelas
    • Harus mencakup tujuan, batasan, keputusan desain, cuplikan kode terkait, path file, dan nama komponen
    • Contoh prompt yang baik:
      • Tambahkan fitur pelacakan analitik ke form /src/pages/SignUp.tsx
      • Saat pengguna mengklik ‘Submit’, kirim event sign_up_started melalui fungsi trackEvent()
      • Event perlu diproses dengan debounce
      • Sertakan domain email pengguna (misalnya gmail.com) sebagai properti
  • Provide visual context

    • Dalam pekerjaan frontend, memberikan konteks visual sangat penting
    • Coding LLM dapat memahami gambar, jadi jika melampirkan screenshot desain atau tangkapan pesan error dari bug, AI dapat menyelesaikan masalah lebih cepat
  • Work in small iterations

    • Daripada menyerahkan tugas besar sekaligus ke AI, lebih baik memecahnya menjadi unit kecil dan mengerjakannya secara iteratif
    • Implementasikan dulu fungsi dasar, lalu tingkatkan secara bertahap
    • Prompt juga sebaiknya dipecah menjadi beberapa instruksi yang terdefinisi jelas
  • Stay curious

    • Ada banyak sekali tips dan contoh prompt engineering di internet
    • Dengan ikut komunitas atau jaringan terkait, Anda bisa menemukan teknik terbaru dan cepat mempelajari cara pemanfaatan yang unggul

Closing thoughts

  • Terlepas dari revolusi AI, ada kemampuan yang dalam waktu dekat tidak akan tergantikan, atau justru akan menjadi lebih bernilai
  • Kemahiran menggunakan alat CLI (misalnya git)
    • Git adalah alat paling efisien untuk version control kode dan pelacakan perubahan
    • Karena keandalan kode yang dihasilkan AI masih rendah, kemampuan untuk kembali ke keadaan sebelumnya atau memulai ulang menjadi sangat penting
    • Karena itu, kemampuan menggunakan alat CLI seperti Git akan semakin penting
  • Kemampuan dasar engineering
    • Kemampuan mengelola technical debt serta menjaga modularisasi dan enkapsulasi kode
    • AI mungkin tidak dapat menjamin konsistensi gaya kode (konvensi penamaan, prinsip DRY, modularitas)
    • Karena itu, kemampuan engineer untuk menjaga prinsip-prinsip dasar secara langsung menjadi semakin bernilai
    • Namun, dalam jangka panjang masih ada kemungkinan perubahan ketika AI menulis semakin banyak kode
  • Kemampuan komunikasi yang kuat
    • Kemampuan menulis dokumen, prompt, dan spesifikasi yang jelas serta terstruktur memiliki efek leverage
    • AI tidak menyimpulkan maksud seperti manusia, melainkan hanya menjalankan apa yang diperintahkan, sehingga kejelasan adalah hal yang wajib
    • Spesifikasi yang baik, prompt yang terdefinisi dengan baik, dan dokumentasi yang sistematis akan meningkatkan produktivitas dan kualitas hasil
  • Pergeseran kekuasaan dalam organisasi
    • Pekerjaan teknis secara bertahap akan diambil alih AI, yang cocok untuk sifat D&D (Definable & Deterministic)
    • Semakin murah dan umum kemampuan eksekusi, kemampuan mengelola AI dan mengemas hasilnya untuk disampaikan kepada eksekutif serta pemegang saham akan menjadi lebih bernilai
    • Di perusahaan besar, proses eksekusi nyata tidak terlihat dan yang disampaikan hanya hasil akhirnya, sehingga kemampuan penyampaian strategis dan pengemasan hasil akan menentukan pengaruh
    • Ada kemungkinan manajer yang menyelaraskan dan menyampaikan hasil akan memiliki kekuatan lebih besar daripada orang yang langsung mengimplementasikan teknologi
  • Prospek perubahan struktur organisasi
    • Semakin baru sebuah perusahaan (startup), semakin cepat peran insinyur produk tercermin di dalamnya
    • Seiring pertumbuhan, saat AI semakin otonom, struktur segitiga PM–desainer–engineer tradisional dapat melemah
    • Sebagai gantinya, mungkin akan muncul topologi tim baru berupa pod kecil yang dipimpin insinyur produk dengan product sense, bersama AI copilot yang membantu seluruh stack

References

Belum ada komentar.

Belum ada komentar.