- 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.