Just for Fun. No, Really. - Saya mengembangkannya hanya untuk bersenang-senang. Sungguh. (2022)
(justforfunnoreally.dev)- "Kami menyukai pengembangan perangkat lunak"; coding adalah perjalanan zig-zag untuk memecahkan masalah, dan tujuannya sering kali kurang penting daripada yang dibayangkan banyak orang
- Kami sering menerima pertanyaan seperti berikut:
- "Mengapa melakukan ini?"
- "Apa tujuan proyek ini?"
- "Apa yang membuat proyek ini lebih baik daripada X?"
Kerasnya Silicon Valley
- Jika Anda menghabiskan banyak waktu di Hacker News atau situs berita lain yang berfokus pada startup, Anda bisa percaya bahwa semua orang terobsesi dengan startup bernilai jutaan dolar berikutnya atau strategi exit
- Mungkin sulit membayangkan bahwa ada orang yang mengerjakan kode open source murni untuk bersenang-senang
- Ada para hacker yang mencintai seni membangun perangkat lunak. Mereka melakukannya demi tantangan, demi kesenangan. Mereka tidak sedang berusaha menjadi jutawan
Budaya konsumen
- Atau, jika Anda hanya mengonsumsi perangkat lunak buatan orang lain dan hampir tidak pernah membuat apa pun sendiri, Anda bisa terjebak dalam pola pikir, "Apa yang bisa proyek ini lakukan untuk saya?" (Dan jika proyek itu tidak relevan bagi mereka, mereka bertanya-tanya mengapa proyek itu ada)
- Ada hacker yang tidak membutuhkan orang lain untuk mengonsumsi perangkat lunak mereka. Tentu saja menyenangkan jika orang lain menikmati, mengagumi, atau menghargai karya mereka, tetapi itu sama sekali bukan keharusan. Membuatnya sendiri saja sudah menyenangkan.
Kami melakukannya hanya untuk bersenang-senang. Sungguh.
- Terakhir, orang yang hanya mempelajari keterampilan pemrograman yang dibutuhkan untuk pekerjaan sehari-hari mungkin tidak memahami programmer yang selalu mencoba hal-hal baru
- Ada hacker yang hidup dan bernapas lewat kode
- Gagasan bahwa setiap baris kode harus membuktikan nilai finansialnya, dan bahwa setiap jam yang dihabiskan di depan keyboard harus dijelaskan, sungguh disayangkan
- Proses itu sendiri memiliki nilai. Sekalipun tidak sempurna, ia tetap berharga. Bukan hanya produk akhirnya yang penting
- Saya akan menutup dengan kutipan favorit saya tentang pemrograman:
Programmer, seperti penyair, bekerja sedikit terpisah dari bahan pemikiran murni. Ia menggunakan imajinasinya untuk membangun istana di udara. Hanya sedikit media kreatif yang begitu lentur, begitu mudah dipoles dan dikerjakan ulang, serta begitu mudah mewujudkan struktur konseptual yang agung. Namun, tidak seperti kata-kata penyair, struktur program itu nyata karena bergerak dan bekerja, menghasilkan keluaran yang terlihat terpisah dari konstruksinya sendiri.
— Fred Brooks, The Mythical Man-Month
Cobalah!
- Jika Anda merasa tersesat — dulu coding itu menyenangkan, tetapi sekarang terasa seperti kerja paksa hanya untuk absen dan menerima gaji — kami mengundang Anda kembali!
- Atau jika Anda telah dibiasakan untuk berpikir bahwa pemrograman dengan ide-ide nyeleneh hanya milik para profesional dan akademisi, halaman ini untuk Anda. Anda punya hak untuk mengutak-atik dan menikmati prosesnya!
- Pikirkan sesuatu yang ingin Anda buat, pelajari, atau alami di dalam komputer. Dan jangan cari tahu atau menelitinya terlebih dahulu, langsung saja terjun. Mungkin Anda akan merasakan sedikit kesenangan. Sungguh.
Klub
Tanpa urutan tertentu, berikut beberapa proyek yang dengan bangga memakai label "hanya untuk bersenang-senang".
- Natalie - compiler Ruby yang dibuat untuk bersenang-senang
- ZigSelf - implementasi Self dalam Zig yang dibuat untuk bersenang-senang
- php-parser-rs - parser PHP dalam Rust yang dibuat untuk bersenang-senang
- ex6502 - emulator prosesor 6502 dalam Elixir yang dibuat untuk bersenang-senang
- Piko-piko OS - toy OS x86 16-bit yang dibuat untuk bersenang-senang
- Folders2kt - bahasa pemrograman esoterik yang dibuat untuk bersenang-senang
- GCC Rust - compiler Rust yang dibuat untuk bersenang-senang
- Soul - server SQLite REST dan real-time yang dibuat untuk bersenang-senang
- hssp - CLI kode status HTTP yang dibuat untuk bersenang-senang
- PyCraft - launcher Minecraft dalam Python yang dibuat untuk bersenang-senang
- hashsearch - mesin pencari gambar terbalik yang dibuat untuk bersenang-senang
- quackspeak - mesin text-to-speech berbasis bebek yang dibuat untuk bersenang-senang
- Quark - dialek Lisp berperforma tinggi yang dibuat untuk bersenang-senang
- Whitecat - CLI untuk pengembangan PHP yang dibuat untuk bersenang-senang
- eClient - launcher Minecraft dalam Python yang dibuat untuk bersenang-senang
- CascadeOS - OS serbaguna yang dibuat untuk bersenang-senang
- Kiesel - engine JavaScript dalam Zig yang dibuat untuk bersenang-senang
- github-pewpew - alat CLI untuk menghapus repositori, dibuat untuk bersenang-senang
- dt - bahasa mirip AWK yang dapat dirangkai, dibuat untuk bersenang-senang
- grab - klon grep ringan yang dibuat untuk bersenang-senang
- math-with-regexps - berhitung dengan regex untuk bersenang-senang
- noro - editor teks dengan window manager yang dibuat untuk bersenang-senang
- Vox - static site builder dalam Elixir yang dibuat untuk bersenang-senang
- jimson - parser JSON yang dibuat untuk bersenang-senang
- txt2tufte - website builder bergaya Tufte yang dibuat untuk bersenang-senang
- Azure Storage web explorer - Azure Storage web explorer yang dibuat untuk bersenang-senang
- renam - utilitas pengganti nama file yang sangat cepat, dibuat untuk bersenang-senang
- Funciton - bahasa pemrograman yang terdiri dari kotak-kotak, dibuat untuk bersenang-senang
Opini GN⁺
- Artikel ini membahas nilai dan pentingnya programmer yang mengejar kesenangan semata. Dalam budaya konsumen dan startup saat ini, ada tekanan agar segala sesuatu harus praktis dan menguntungkan, tetapi hal itu dapat menghambat kreativitas dan inovasi dalam pemrograman.
- Komunitas open source adalah contoh yang baik dari semangat "hanya untuk bersenang-senang" ini. Banyak proyek open source penting pada awalnya dimulai sebagai proyek hobi seseorang, dan dalam prosesnya, ide serta pendekatan baru dieksplorasi.
- Namun, jika sikap ini dikejar secara berlebihan, bisa jadi akan muncul banyak proyek yang kurang praktis. Pada akhirnya, keseimbangan antara kesenangan dan kepraktisan tampaknya penting. Meski begitu, tulisan ini terasa bermakna karena mengingatkan kita pada nilai kesenangan murni dan rasa ingin tahu yang sering kita lupakan.
- Bagi para developer yang lelah dengan pekerjaan sehari-hari, proyek hobi seperti ini tampaknya bisa menjadi inspirasi dan motivasi yang baik. Ini juga artikel yang ingin saya rekomendasikan kepada mereka yang ingin mempelajari bahasa atau teknologi baru tetapi merasa tidak punya waktu.
5 komentar
Saya tahu bahwa bahasa Python sendiri juga dibuat untuk bersenang-senang selama masa liburan sekitar satu minggu.
Saya suka mengembangkan sesuatu sekadar untuk bersenang-senang, tetapi belakangan ini setelah pulang kerja saya langsung tumbang jadi rasanya bahkan tidak sempat membayangkannya. Banyak sekali orang yang hebat ya.
Ada juga cara untuk membantu troubleshooting di issue tracker proyek open source yang sering digunakan atau berkontribusi pada dokumentasi. Sepertinya tidak harus selalu memulai proyek baru atau menulis kode.
Sampai tahun 94, saya hanyalah pengguna komputer biasa, lalu belajar bahasa pemrograman dan pada tahun 95 bekerja di bidang terkait "komputasi".
Kalau dipikir-pikir sekarang, saya ini benar-benar orang yang sangat beruntung.
Pendapat Hacker News
Menikmati membuat sesuatu lewat kode, dan kadang mempertimbangkan keuntungan finansial, tetapi sebagian besar mengerjakan proyek demi kesenangan
Pernah menjelaskan proyek pribadi dalam wawancara, tetapi merasa tidak nyaman karena pewawancara terus bertanya mengapa proyek seperti itu dikerjakan
Saat menjelaskan motivasi membuat perangkat lunak, dianalogikan seperti membangun istana pasir sendirian di pantai dan merasakan kepuasan
Model bahasa besar (LLM) membuat proyek-proyek menyenangkan jadi lebih mudah dimulai
Untuk meluangkan waktu bagi proyek pribadi, biaya hidup dikurangi dan waktu di antara kontrak dimanfaatkan
Disayangkan jika daftar proyek untuk bersenang-senang hanya memuat proyek yang selesai
Dalam percakapan dengan rekan kerja kemarin, sampai pada kesimpulan bahwa mengembangkan keterampilan melalui banyak pekerjaan itu penting
Baik produk yang dibuat untuk kesenangan maupun untuk keuntungan finansial sama-sama bisa berkualitas rendah
Ini adalah pengalaman batin, seperti memasak hidangan luar biasa sendirian, tetapi tetap memiliki nilai tersendiri
Di situs seperti Hacker News, orang bisa mengira banyak orang sedang menyiapkan startup besar berikutnya