Sebagai pengembang pemula, beginilah cara saya membaca tutorial yang Anda (seorang pengembang) tulis untuk saya
(anniemueller.com)- Tulisan ini menggambarkan secara humoris kebingungan dan hambatan yang dialami pemula saat membaca tutorial teknis yang ditulis oleh para pengembang
- Istilah teknis dan singkatan yang sering digunakan pengembang terdengar seperti “bahasa alien” tanpa konteks bagi pemula
- Langkah instalasi, path file, dan perintah terminal dalam tutorial sering kali terlalu rumit atau ada bagian yang dihilangkan sehingga sulit dipahami
- Penulis menyoroti bahwa penjelasan yang terasa wajar dari sudut pandang pengembang bisa menjadi hambatan yang menuntut berjam-jam pencarian dan trial and error bagi pemula
- Tulisan ini mengingatkan para pengembang yang menulis tutorial bahwa mereka perlu memberi penjelasan yang lebih ramah dan jelas dari sudut pandang pemula
Latar belakang tulisan dan persoalan yang diangkat
- Penulis menceritakan pengalamannya sebagai pemula non-pengembang saat membaca tutorial yang ditulis oleh pengembang
- Situasi ketika istilah teknis dan nama alat yang muncul di tutorial sama sekali tidak memberi gambaran apa pun dipaparkan secara satir
- Contoh: nama-nama teknologi fiktif seperti Hoobijag, Snarfus, dan portal Shamrock digunakan untuk menekankan bahwa di mata pemula, semuanya tampak rumit
Terjemahan teks asli
“Hai! Saya seorang pengembang. Pengalaman relevan saya seperti ini: saya ngoding dengan Hoobijag dan kadang juga memakai jabbernocks, dan tentu saja saya juga mengerjakan ABCDE++++ (tapi sama sekali bukan ABCDE+/^+, itu kan konyol, ya? Haha!) Dan saya suka bekerja dengan Shoobababoo, serta sesekali menangani kleptomitrons. Saya kemudian mengerjakan kode terkait Shoobaboo di Company[1], dan itu membawa saya ke Snarfus. Nah, mari kita mulai!
Tentang tutorial ini
Awalnya saya mulai melakukan sesuatu yang sangat sederhana[2] dengan Snarfus, dan makin saya pakai, makin saya melihat potensinya! chromus memang agak berantakan, tapi sebenarnya sangat serbaguna. Jadi saya mulai melakukan argyling pada pintafore dengan quagmire alih-alih hoobastank! Gila, saya tahu. Tapi sampai titik tertentu itu berhasil, dan sebenarnya cukup menyenangkan… sampai saya menemui hambatan besar: fisterfunk sama sekali tidak mau berkomunikasi dengan portal shamrock, juga tidak mengirim beep-boops ke Snarfus! Tentu saja Anda tahu apa artinya itu[3]— sekarang seluruh hoob-tunnel tersumbat oleh gramelions. Tidak bisa diterima.
Saya hampir menyerah, tapi lalu saya sadar: kalau backside Snarfus stagnator disambungkan ke backside shamrock Klingon troglodyte emulater, semuanya akan baik-baik saja! Semuanya mulai beep-boops dan ding-dongs, dan akhirnya saya bisa sampai ke topik utama tutorial ini. Dan saya pun bisa melakukan sesuatu yang sangat sederhana dengan cara yang saya inginkan! Cukup keren, kan[4].
Jadi begini cara menyiapkannya:
- Di terminal, masukkan ajkl;gawgor;iqeg;iJLkqen. wl;R aw;oeiga 4648664 arjarwgj;llj;ja fadgfgajkljl; wlj;sdjk;lfas
- Sekarang buka folder/hidden/deep/in/the/file/system/surprise!.file dan salin isi filenya. Kalau tidak ada di sana, mungkin ada di library/library/library/llibrary/liiiiiibrarrrary/llllliiiiibrary/hidden/hidden/hiding/you can’t find me/hidden/nope/never/hahahahereiam.file
- Kembali ke terminal, tempel isi file itu, lalu masukkan 64A786AGR45JAR; rdja;jg [[]][[]][[]][[]]][()()()()()()()(){{}{}{}|{}{|}{}{|}{ ////////////////!! !!!! !! //// !!! agjlkargji;lwej;OI [ASRGASG[]ASGDASG[]EAEadgasg[]EAGE[edaga][]ahgr-0-0=-0-=0-=0=0-0=-0-=0=-0-=0=-0=-0!!!
- Boop![5]
- Buka Snarfus dan unggah file yang baru saja Anda buat
- Hanya untuk iseng, kalau Anda ingin melepaskan sham dari chronostatiomatrix —()()(]]asdg a=-do —cd go cd stay —sususudododo baby shark—][] juga bisa dijalankan. Ini opsional
- Selesai!
Beri tahu saya hasilnya. Saya juga penasaran apakah ada yang memakai metode ini bersama GewGawGamma atau ometer2.7.”
Penjelasan catatan kaki
- Sepertinya perusahaan terkenal, tapi saya tidak tahu
- Sama sekali tidak sederhana
- Saya tidak tahu artinya apa
- Memang keren, tapi saya tetap tidak paham. Meski begitu, saya ikut senang Anda bisa melakukannya
- Tiga langkah pertama kemungkinan akan membutuhkan sekitar 7 jam dan 193 kali pencarian. Tapi saat berhasil sampai ke Boop!, rasanya sangat memuaskan
Penutup
- “Ini cuma tulisan untuk lucu-lucuan. Saya sungguh berterima kasih kepada semua orang yang berbagi pengetahuan dan menulis tutorial.”
1 komentar
Komentar Hacker News
Saya sangat merekomendasikan pendekatan menyuruh seseorang yang hanya punya pengetahuan minimum untuk mengikuti dokumentasi, lalu mengawasinya diam-diam dari samping. Pada saat itu jangan membantu sama sekali, cukup amati. Dalam prosesnya, Anda bisa menemukan berbagai masalah seperti di mana pengguna tersendat, bagian yang bagi penulis sudah terlalu familier sehingga tak terpikir lagi, atau pengaturan yang terlewat. Jika pengguna bisa mencapai tujuannya tanpa banyak stres, berarti dokumentasinya lolos. Jika tidak, semua titik kegagalan harus dicatat tanpa ada yang terlewat, lalu masing-masing diperbaiki dan diuji lagi dengan orang baru. Saya bahkan pernah memakai dokumentasi perusahaan besar seperti FAANG yang tidak lolos standar ini. Saya sangat bersyukur organisasi kami menetapkan standar yang tinggi. Jika dokumentasi dibuat dengan cara seperti ini, rapat berulang, permintaan dukungan, dan panggilan video akan berkurang, dan pengguna jadi bisa menyelesaikan masalah sendiri
Judul blog post aslinya adalah “Sebagai non-developer, saya membaca tutorial yang Anda, seorang developer, tulis”, tetapi judul HN diubah menjadi “Sebagai developer pemula...”. Non-developer dan developer pemula adalah dua hal yang sama sekali berbeda. Misalnya, bagi tim HR atau orang yang benar-benar bukan dari bidang ini, istilah internal atau konsep dasar bisa sama sekali asing. Dalam kasus seperti itu, jika developer menulis penjelasan yang benar-benar meleset, wajar jika dikritik. Sebaliknya, developer pemula meskipun kesulitan tetap bisa mencari istilah atau konsep baru sendiri, dan setelah beberapa waktu bahkan bisa memperbarui dokumentasi untuk pemula berikutnya
cd ~/.snarfus (buat foldernya jika belum ada)pun sudah cukup. Saya sendiri saat dulu memasang Debian sangat terbantu hanya oleh satu penjelasan kecil seperti ituKebanyakan tutorial sebenarnya bukan untuk non-developer, melainkan lebih mirip pertukaran informasi antarsesama developer, posisinya serupa dengan makalah akademik yang ditujukan kepada kelompok berpengetahuan tertentu. Cara seperti ini juga tidak buruk. Bahkan dokumentasi yang saya tulis untuk catatan masa lalu saya sendiri jadi mudah dicari kembali. Itulah sebabnya ada kursus atau materi terpisah untuk pemula. Jika setiap tutorial harus selalu dimulai dari seluruh penjelasan latar belakang sepanjang 30 ribu kata, tidak ada yang akan membacanya sampai selesai. Sebaliknya, sekalipun ditambah lebih banyak penjelasan latar belakang, bagi seseorang itu tetap bisa terasa belum cukup
Banyak technical writer tidak benar-benar menyadari “kutukan pengetahuan”. Dulu saya pernah menjalankan guild WoW (World of Warcraft). Empat puluh orang berkumpul bersamaan untuk masuk ke dungeon dan bekerja sama menghadapi beberapa boss, dan satu kesalahan kecil saja bisa membuat seluruh tim wipe. Karena itu, semua orang berkumpul di Teamspeak dan strategi dijelaskan dengan sangat cukup sebelumnya. Pelajaran terbesar saat itu adalah “anggap lawan bicara tidak tahu apa yang sedang saya katakan” dan “hal yang sudah dikatakan pun harus diulang”. Kebanyakan orang tidak akan menyela untuk bertanya meskipun ada yang tidak mereka pahami, jadi kebiasaan terus bertanya pada diri sendiri “istilah apa yang sedang saya pakai?” dan “apakah mereka mungkin tidak tahu konsep ini?” lalu menambahkan penjelasan ternyata sangat efektif. Pengalaman komunikasi seperti ini berlaku persis sama dalam technical communication juga, dan jika Anda membiasakan diri berusaha melampaui “kutukan pengetahuan”, Anda bisa meningkatkan pemahaman orang lain
Banyak homepage proyek atau README GitHub ditulis dengan sikap seolah-olah “orang yang membaca ini sudah tahu semuanya”. Saat saya melihat dokumentasi, saya ingin ada perhatian lebih pada hal-hal seperti “mengapa alat ini diperlukan”, “masalah apa yang diselesaikannya”, “apa bedanya dengan alat lain yang mirip”, “apakah masih terus dipakai sekarang”, dan “apakah pembaca diberi bahan yang cukup agar bisa menilai sendiri kelebihan dan kekurangannya”. Hanya dengan meluangkan 5 menit untuk memikirkan “bahkan pemula sekalipun akan penasaran tentang apa?” lalu menuliskannya, aksesibilitas akan meningkat drastis. Sangat disayangkan bila proyek yang dibuat selama bertahun-tahun akhirnya berulang kali membuat pengguna menyerah karena merasa repot bahkan sebelum sadar mereka sebenarnya sudah menemukannya. Dan penting juga memahami peran tiap jenis dokumentasi dengan baik. https://diataxis.fr/ adalah titik awal yang bagus
Hal terpenting saat menulis dokumentasi adalah menetapkan dengan jelas ‘tingkat pengetahuan pembaca sasaran’. Tidak masalah apakah patokannya dibuat tinggi atau rendah, tetapi jika terlalu menyimpang dari baseline itu, sebagian pembaca pasti akan merasa tidak puas. Dalam situasi seperti ini, Anda bisa memilih beralasan atau mencari solusi. Faktanya, dengan AI, Google, buku, dan sebagainya, sekarang apa pun bisa segera dicari. Jika penasaran “apa itu Shoobababoo” atau “mengapa memakai quagmire”, Anda tinggal mencarinya. Tentu idealnya dokumentasi ditulis semandiri mungkin tanpa perlu informasi eksternal, tetapi dunia tidak selalu memberi kebaikan sebesar itu
Prinsip yang sudah lama saya tekankan selama mentoring adalah “hal terbaik yang bisa dilakukan dengan pengetahuan adalah membagikannya”. Jika Anda tahu sesuatu, jelaskanlah. Kalau ternyata orang yang Anda beri tahu sudah tahu, paling-paling Anda hanya menambah keyakinannya; kalau belum tahu, itu akan sangat membantu. Kadang ada keluhan bahwa saya terlalu bertele-tele, tetapi jika saya bilang “ini ditulis untuk berjaga-jaga kalau ada karyawan baru, pelanggan, atau manajer yang membacanya”, kebanyakan orang mengerti. Prinsip ini berlaku di semua bidang, termasuk development, reporting, dan people management
Baru-baru ini saya mencoba men-deploy aplikasi ke DigitalOcean Kubernetes lewat Gitlab, dan saya harus mengimplementasikan 3–4 alat pihak ketiga tanpa penjelasan alat itu melakukan apa, serta harus mengisi sendiri nama atau path yang harus dimasukkan ke command line. Tidak ada penjelasan apa yang menjadi acuan dan apa yang harus dicocokkan. Meskipun kemampuan Docker saya cukup baik, dokumentasi alat-alat ini terasa begitu tidak ramah sampai rasanya lebih baik tidak ada dokumentasinya sekalian
Alasan utama saya berhenti menulis buku dan membuat website tutorial adalah karena tutorial bisa dibuat lebih mudah diakses oleh lebih banyak orang dengan bantuan berbagai alat interaktif (seperti elemen
<abbr>dan sebagainya). Meskipun begitu, saya tetap frustrasi karena konten web saat ini masih berhenti pada fungsi buku kertas. Ada begitu banyak fitur seperti klik, hover, melipat area, video, respons pengguna, dan lain-lain, tetapi yang masih melimpah justru teks panjang seperti dinding. Bahkan OP pun memakai cara yang saat catatan kaki diklik lalu halaman bergulir ke bagian paling bawah, dan itu terasa seperti belum benar-benar memanfaatkan potensi webSebenarnya sebagian besar tutorial sering kali bukan untuk non-developer maupun developer, melainkan sekadar ‘teks panjang yang tidak perlu’ yang pada akhirnya tetap melewatkan satu atau dua langkah penting. Menurut saya penyebab terbesarnya adalah sulitnya menulis seolah-olah sedang menjelaskan kepada orang lain. Jika isi yang hanya ada di kepala penulis tidak benar-benar dituangkan ke dalam tulisan, pembaca tidak akan pernah tahu. Daripada gaya ‘tutorial’, sebaiknya ditulis seperti ‘cookbook’ agar lebih berguna di praktik nyata dan tidak cepat usang setelah ada pembaruan versi