1 poin oleh GN⁺ 2024-04-22 | 1 komentar | Bagikan ke WhatsApp
  • Berbeda dari kenikmatan pemrograman itu sendiri, tempat kerja software terasa seperti lingkungan yang menuntut produksi kode lebih banyak, alih-alih menanyakan tujuan desain dan kriteria keberhasilannya
  • Pengalaman melihat lowongan kerja selama beberapa minggu pada 2023 mematahkan harapan akan “tempat yang lebih baik”; khususnya budaya startup secara terang-terangan menunjukkan sikap “kurangi pertanyaan, tingkatkan produksi”
  • Di perusahaan teknologi besar pun, pengembang diperlakukan sebagai angka seperti skala backend stack, skor wawancara, dan skor evaluasi kinerja; penilaian pribadi tentang cara menulis kode menjadi semakin tidak berarti
  • Sikap “membuat lebih banyak dan bertanya lebih sedikit” mungkin bisa menambah jumlah kode, tetapi berujung pada software yang lebih buruk; teknologi tren dan inersia meresap hingga ke bahasa, library, framework, dan pola kode
  • Pekerjaan yang diinginkan penulis adalah memecahkan masalah rekayasa yang berangkat dari kebutuhan yang sudah ada di masyarakat, dan “mengapa” dari sebuah sistem seharusnya menentukan bahasa, paradigma, arsitektur, hingga sintaksnya

Ketidaksesuaian yang Dirasakan di Tempat Kerja Software

  • Penulis mengatakan dirinya tidak benar-benar cocok dengan peran software engineering mana pun yang pernah ia jalani
  • Setelah cukup memahami logika internal sebuah codebase, aspek teknisnya menjadi membosankan, dan setelah itu ia ingin melakukan dengan cara berbeda, bukan sekadar melakukan lebih banyak
  • Ia terus memikirkan pertanyaan-pertanyaan berikut tentang keputusan desain dan tujuan
    • Mengapa melakukan pekerjaan ini
    • Mengapa melakukannya dengan cara ini
    • Apakah tidak ada cara yang lebih baik
    • Apa metrik untuk menilai keberhasilan, dan mengapa metrik itu digunakan
  • Meski tidak selalu mengungkapkan pertanyaan-pertanyaan ini secara verbal, ia mendengar komentar seperti “terlalu banyak berpikir” dan “terlalu banyak peduli” pada waktu yang bisa dipakai untuk menghasilkan lebih banyak kode
  • Ini bukan sekadar masalah ketidakcocokan antara bakat dan pekerjaan; ia sulit menyetujui cara organisasi beroperasi itu sendiri, dan ingin mengubahnya alih-alih mempertahankannya

Lowongan Startup dan “Membuat Lebih Banyak, Bertanya Lebih Sedikit”

  • Pengalaman menelusuri lowongan kerja selama beberapa minggu pada 2023 menghancurkan harapan bahwa “pasti ada tempat yang lebih baik”
  • Ia menilai 90% deskripsi pekerjaan memperlihatkan bahwa kode yang akan ditulis kandidat yang diterima tampak jauh dari masalah penting, baik bagi umat manusia maupun bagi individu
  • Budaya startup ditampilkan sebagai contoh paling terang-terangan dari sikap industri: “hasilkan lebih banyak kode dan ajukan lebih sedikit pertanyaan”
  • Banyak startup dikritik karena memindahkan uang investor, sambil berusaha meyakinkan pengguna bahwa produk yang manfaatnya terbatas adalah sesuatu yang mereka butuhkan, agar mendapatkan pengguna berbayar
  • Startup umumnya gagal, dan hasilnya adalah spaghetti code yang sulit dipelihara, yang ditulis di bawah tekanan dalam hitungan minggu, bukan bulan
  • Kode semacam itu tidak akan dilihat lagi kecuali sebagai contoh praktik coding yang buruk; waktu engineer terbuang, sementara modal ventura mengalir kepada orang-orang yang sudah memiliki modal besar dan dapat kembali dimasukkan ke startup lain
  • Iklan lowongan dikritik karena mengemas pekerjaan seperti ini seolah-olah pekerjaan menarik yang memperkaya hidup orang dan merangsang pertumbuhan engineering

Otonomi yang Juga Menghilang di Perusahaan Teknologi Besar

  • Perusahaan teknologi mapan memiliki struktur organisasi dan finansial yang berbeda dari startup, tetapi secara budaya tidak terlalu kontras
  • Kode yang ditulis di FAANG bisa benar-benar sampai ke pengguna, tetapi pemikiran pribadi tentang aspek apa pun dari penulisan kode menjadi semakin tidak relevan
  • Penulis mengkritik bahwa pengembang menjadi roda gigi dalam mesin dengan cara berikut
    • Produk berpotensi mengotomatiskan sisi terburuk kapitalisme dengan cara yang semakin licik
    • Secara praktis, mereka menjadi angka seperti skala backend stack, skor wawancara teknis, dan skor evaluasi kinerja
  • Masalahnya bukan hanya realitas ini sendiri, tetapi juga bahwa engineer diharapkan lebih mendambakan kerja repetitif yang hampa dan merendahkan dibanding pekerja lain, serta ditekan lebih kuat agar tidak mempertanyakan aspek apa pun darinya

Engineering yang Menyingkirkan Pemikiran Kritis

  • Programmer ditempatkan pada posisi yang hanya berfokus pada bagaimana, jarang dilibatkan dalam apa yang akan dibuat, dan hampir tidak dapat menanyakan mengapa sesuatu dibuat
  • Bahkan bagi pengembang yang mampu dan ingin mengkritik sistem yang mereka produksi, pesan yang diberikan adalah agar sikap seperti itu ditinggalkan di luar tempat kerja
  • Pengembang merasa bahkan mengidentifikasi kurangnya otonomi dan kreativitas yang melekat dalam pekerjaan pun dilarang; mereka bisa membuat lebih banyak, tetapi sulit membuat dengan cara berbeda atau membuat sesuatu yang lebih baik

Struktur yang Menambah Jumlah Kode tetapi Memburukkan Software

  • Sikap do-more-ask-less di industri teknologi bisa menghasilkan lebih banyak kode, tetapi pada saat yang sama berujung pada software yang lebih buruk
  • Bahkan ketika modal dan kondisi eksternal memberi ruang untuk membuat software yang berkelanjutan, positif, atau setidaknya bermanfaat secara praktis, banyak pihak tidak melakukannya karena inersia
  • Mengikuti tren dan mereproduksi keadaan yang sudah ada lebih mudah dan biasanya lebih memungkinkan untuk diwujudkan
  • Inersia yang sama juga meresap ke seluruh technology stack tempat produk yang tidak berguna secara sosial dibangun
    • Bahasa
    • Library
    • Framework
    • Pola kode
  • Kecenderungan mengutamakan kebaruan dan gimmick daripada inovasi nyata mengganggu seluruh industri, dan jika tidak memecahkan masalah yang tidak biasa, engineering yang tidak biasa pun tidak diperlukan

Kriteria Engineering yang Diinginkan

  • Masalah rekayasa paling menarik bukanlah masalah yang menjadikan kemajuan teknologi itu sendiri sebagai tujuan atau yang berusaha menciptakan permintaan pasar yang tidak ada secara artifisial, melainkan masalah yang muncul secara alami di dalam masyarakat
  • Kebutuhan sosial adalah pendorong terbaik untuk inovasi, dan pencapaian terobosan pada era awal komputasi pun terjadi demi kepentingan publik yang lebih besar
  • Cara kerja yang diinginkan adalah mengapa sebuah sistem dibangun memandu semua bagaimana
    • Bahasa pemrograman
    • Paradigma
    • Arsitektur
    • Satu baris kode
    • Elemen sintaks
  • “Mengapa” itu harus mencerminkan kebutuhan nyata yang benar-benar ada, bukan metrik bisnis yang ada demi metrik itu sendiri

Permintaan untuk Menemukan Orang dengan Nilai yang Sama

  • Penulis sejauh ini belum pernah bertemu orang yang secara bermakna berbagi nilai-nilai ini dan ingin melakukan jenis pekerjaan engineering seperti ini
  • Dalam interaksi dengan industri, ia sering merasa terisolasi, tetapi ia yakin pada nilai pekerjaannya dan pentingnya hal-hal yang harus ia katakan
  • Ia meminta orang seperti itu untuk menghubunginya; ia ingin tahu apakah tempat semacam itu sudah ada, dan jika belum, ia melihat manfaat dalam membangunnya bersama
  • Ia terbuka untuk pekerjaan konsultasi yang berada dalam bidang minatnya dan cukup selaras dengan nilai-nilainya

1 komentar

 
GN⁺ 2024-04-22
Komentar Hacker News
  • Yang dibenci OP tampaknya bukan “industri pemrograman”, melainkan dunia korporat. Saya pernah bekerja dengan para developer yang ekspektasinya tidak selaras dengan apa yang “realitas” tuntut dari developer, dan saya sendiri juga pernah begitu
    Perusahaan tidak peduli pada keanggunan, abstraksi, kecerdikan, atau kode yang indah. Mereka menginginkan developer yang bisa menghasilkan fitur sesuai kebutuhan bisnis
    Individu-individu dalam roda gigi seperti manajer, eksekutif, dan rekan kerja mungkin berkata bahwa mereka akan membiarkan kita mempraktikkan “seni” pemrograman, tetapi jika kita tidak berkontribusi secara ekonomi bagi perusahaan, pada akhirnya kita akan diperlakukan sebagai beban
    Lebih baik mencari kesenangan dan sisi artistik pemrograman di luar korporasi, dan sebaiknya jangan berharap “industri” peduli pada bagaimana atau mengapa pemrograman dilakukan. Mereka hanya melihat apakah karakter yang diketik di layar bisa diubah menjadi uang tunai. Jika menerima hal ini, hidup akan jauh lebih tidak membuat frustrasi, dan kita juga bisa menemukan kesenangan dalam pekerjaan. Hanya saja, itu belum tentu “seni”

    • Menurut saya, kata “industri” di sini sangat kuat berarti dunia korporat
      Namun soal pernyataan “perusahaan tidak peduli pada keanggunan, abstraksi, kecerdikan, atau kode yang indah”, saya jadi bertanya-tanya apakah saya ini bagian dari dunia korporat
      Yang ingin saya katakan kepada rekan-rekan adalah: sebelum mencoba keanggunan, abstraksi, kecerdikan, atau keindahan, buatlah dulu agar berfungsi sesuai spesifikasi. Kalau tidak, semuanya tidak bernilai
      Baru setelah cukup mahir membuatnya berfungsi dengan benar, kita bisa membuatnya dengan cara yang tepat, dan mungkin juga membuatnya cepat
    • Kalau dilihat lebih sederhana, yang mengejutkan adalah pekerjaan memang kurang menyenangkan dibanding hobi
      Bahkan jika kita menjadikan sesuatu yang kita sukai sebagai bisnis sendiri, misalnya membuat furnitur, tetap saja akan ada pelanggan yang menginginkan hal yang “salah” atau tidak mau membayar bahan langka yang lebih baik
      Melakukan hal yang benar-benar kita sukai murni sebagai hobi tanpa unsur pekerjaan selalu lebih baik
    • “Carilah pelipur lara dari pemrograman di luar dunia korporat” adalah kebenaran pahit yang saya pelajari selama 10 tahun terakhir di industri ini
      Alasan kita dibayar adalah untuk mengirimkan hasil. Apakah itu efisien, apakah masalahnya terselesaikan, apakah menghasilkan uang, apakah sekadar mencentang checkbox—itu bukan kekhawatiran saya dan bukan sesuatu yang saya kendalikan. Rencanakan pekerjaan, kerjakan, bersikap baik kepada orang-orang, lalu pulang pukul 5
      Bukan berarti boleh asal-asalan dengan menulis kode buruk atau tidak peduli pada dampak hilir dari keputusan. Ada juga orang yang dipecat karena hal semacam itu
      Yang lebih penting adalah jangan berlebihan. Jangan mencoba mengantisipasi semua skenario dengan menebak bagaimana produk akan berevolusi, jangan memaksakan desain yang jelas-jelas lebih baik, jangan mencoba mengirimkan lebih cepat, dan sebaiknya jangan memperbaiki bug lain yang ditemukan saat mengerjakan tugas sendiri. Mengejar promosi adalah salah satu sumber stres terburuk yang saya ciptakan sendiri
      Kita perlu memahami apakah proyek tempat kita berada berintensitas tinggi, bertumbuh cepat, sudah matang, atau akan segera dipangkas, lalu bertindak sesuai itu
      Selain itu, kita harus mengambil kredit dan terlihat. Lakukan demo sekali tiap kuartal, review kode orang lain, hadir di rapat desain dan ajukan pertanyaan, balas email atau pesan yang masuk sebelum pukul 5 sore dengan cepat, dan kirimkan apa yang sudah kita janjikan. Terlihatlah sebagai sumber daya yang berguna, tetapi jika ada sedikit saja tanda tekanan untuk delivery, tolak dengan tindakan nyata
      Terakhir, sebaiknya selalu siap untuk mengikuti wawancara berikutnya dalam 2 minggu
      Pekerjaan hanyalah pekerjaan. Bukan keluarga, dan bukan juga agen penyalur tenaga kerja
    • Saya merasa pola pikir seperti ini persis jalan menuju kondisi seperti Boeing
      Sayap yang tetap menempel saat pesawat terbang tidak menaikkan indikator kinerja utama, jadi jadinya seperti: pecat saja semua orang yang membuang waktu untuk kekhawatiran yang tidak relevan semacam itu
    • Karena tampaknya sangat relevan, kalau boleh promosi diri, alasan seperti itulah mengapa saya menjalankan konferensi Handmade sebagai pekerjaan, dan membuatnya gratis tanpa sponsor https://handmadecities.com/about
      Tujuan implisitnya adalah menjadi cukup populer hingga para programmer secara kolektif mencapai titik sepakat bahwa mereka harus punya suara di “dunia korporat”. Misalnya, menuntut agar laju “mencetak” fitur baru diperlambat dan investasi pada kualitas perangkat lunak ditingkatkan
  • Saya sudah bekerja sebagai developer lebih dari 30 tahun, tetapi sayangnya tidak banyak bagian dari tulisan OP yang bisa saya bantah. Saya berharap bisa membantahnya
    Orang muda diajari bahwa membuat teknologi dan perangkat lunak adalah aktivitas kreatif tempat mereka bisa menyalurkan passion bawaan. Pekerjaan ini menarik jenis pola pikir tertentu yang tertarik pada simbol, abstraksi, dan aktivitas berulang. Tahun demi tahun berlalu, para pemegang saham makin gemuk
    Kenyataannya, pengembangan perangkat lunak hampir sepenuhnya merupakan aktivitas ekonomi, dan bahkan punya sifat eksploitatif. Lingkungan kerjanya jelas lebih baik daripada menambang emas atau bauksit, tetapi hampir semuanya adalah menambang kode dari urat kode demi membuat orang lain kaya. Orang-orang yang duduk di kantor sudut, dan orang-orang di atas mereka yang punya yacht
    Mereka tidak peduli apa yang kita lakukan, kepura-puraan kita yang menganggapnya sebagai seni atau keahlian, atau hal-hal yang kita anggap penting. Pada kenyataannya, kebanyakan dari mereka menganggap kita pecundang yang membuang-buang waktu https://ribbonfarm.wpenginepowered.com/wp-content/uploads/2009/10/hughMcLeodCompanyHierarchy.jpg
    Seperti yang dikatakan orang lain di sini, kesalahan mendasarnya adalah mencoba mencari makna dalam pekerjaan korporat. Namun manusia membutuhkan makna, dan karena kita harus menghabiskan terlalu banyak waktu dari hidup yang hanya sekali ini untuk bekerja, pilihannya tidak banyak. Saya tidak tahu jawabannya

    • “Mereka menganggap kita pecundang yang membuang-buang waktu” sebenarnya adalah fenomena yang muncul di cukup banyak tempat
      Setidaknya ada dua jenis orang yang memandang “lapisan bawah” perangkat lunak sebagai pecundang
      Yang pertama adalah kelompok yang menganggap pekerjaan itu membutuhkan keahlian, pekerjanya memiliki spesialisasi yang bernilai, dan layak didengar. Meski begitu, mereka tetap melihatnya hanya sebagai komoditas bergaji, bukan pemain sungguhan yang menjadi “orang terpintar di ruangan” atau “pemimpin” seperti mereka dan mendapat imbalan besar, jadi dianggap pecundang
      Yang kedua adalah kelompok yang menganggap pekerjaan perangkat lunak sebagai tugas kasar berketerampilan rendah, pekerjanya sebagai kejahatan sementara yang diperlukan, dan dalam urusan kompensasi serta loyalitas mereka kurang ajar dan tidak tahu diri. Mereka menganggap pendapat para pekerja itu tidak bernilai. Tentu saja, di dunia bisnis, karena pekerja perangkat lunak tidak bergerak seperti pemain sungguhan dan tidak mengambil keuntungan secara pribadi, mereka dianggap pecundang
      Yang terakhir ini adalah situasi yang jauh lebih buruk
    • “Menambang kode dari urat kode demi membuat orang lain kaya” adalah sesuatu yang biasa disebut pekerjaan. Pekerjaan yang kita lakukan agar kita punya hal-hal baik dan masyarakat
      Jika sesuatu yang saya buat membuat orang lain kaya, itu bagus. Karena itu berarti apa yang saya buat punya nilai. Saya ingin semua yang saya buat punya nilai
      Suatu hari nanti, setelah cukup berlatih, belajar, mengumpulkan pengalaman dan tabungan, saya berharap bisa mempekerjakan orang lain secara bertanggung jawab
      Jika saya punya ide bagus dan mengeksekusinya dengan benar, ada kemungkinan saya juga bisa memiliki yacht itu. Kita menyebutnya insentif ekonomi, atau motivasi
  • Saya melihat “arah yang dituju industri ini” sejak dulu sebagai proses infiltrasi oleh para penipu. Nilai yang bisa diciptakan dengan menulis perangkat lunak sangat besar, dan gaji tinggi di industri teknologi mencerminkan hal itu. Kekayaan itu menarik segala macam penipu
    Ini paling jelas terlihat dalam permainan kucing-kucingan saat merekrut engineer yang memenuhi syarat. Rasio antara bagian atas dan bawah funnel rekrutmen lebih tinggi dari sebelumnya
    Yang kurang kentara, muncul seluruh “peran penipu” seperti product manager dan scrum master. Begitu masuk, semakin banyak jumlah mereka semakin aman, jadi mereka membawa lebih banyak lagi
    Orang-orang pintar yang mampu berinovasi kini harus menuntun orang-orang tidak kompeten melalui proses kreativitas, inovasi, riset, penemuan, dan rekayasa. Karena orang-orang tidak kompeten itu sering kali memegang keputusan akhir tentang ke mana waktu orang-orang pintar akan dihabiskan
    Jika Anda pernah mengalami rapat di mana para engineer sudah tahu cara menyelesaikan masalah pelanggan dalam 10 menit pertama, lalu para product manager bergiliran harus dituntun sampai ke kesimpulan yang sama, seperti itulah wujudnya

    • Infiltrasi penipu juga punya efek yang lebih halus. Perangkat lunak yang tampak hebat dari luar tetapi buruk sekali untuk benar-benar ditangani akhirnya dibuat. Karena keahlian orang-orang yang membuatnya adalah mengemasnya agar tampak hebat, bukan membuat perangkat lunak yang baik
      Muncullah masalah performa, lubang keamanan, ketiadaan observability, skalabilitas yang buruk, serta masalah konfigurasi atau dependensi yang tidak masuk akal
      Khususnya perusahaan-perusahaan FAANG penuh dengan sampah seperti ini. Kode yang ditulis untuk “tulisan pamer” demi promosi, lalu pada dasarnya ditinggalkan saat pembuatnya pindah ke tempat lain sebelum jalan pintas murahan itu ketahuan
      Kefasihan berbicara telah menjadi keterampilan paling bernilai bagi software engineer dibanding desain yang kokoh, dan hasilnya tampak di mana-mana
  • Setelah lebih dari 10 tahun mengembangkan software enterprise, saya tidak lagi peduli pada hasilnya atau ke mana sirkus ini menuju
    Yang saya pedulikan sekarang hanyalah gaji dengan angka yang luar biasa tinggi

    • Dan meminimalkan stres juga penting. Umumnya lakukan seminimal mungkin, tetapi sesekali lakukan sedikit lebih banyak untuk mencegah stres di kemudian hari
      Saya menyebutnya pengembangan dengan peduli secukupnya sekarang agar tidak perlu terlalu peduli nanti
  • Saya menghabiskan 40 tahun sebagai programmer, tetapi selalu mencari cara untuk menggunakan kreativitas dan imajinasi, dan berusaha tidak menjadi orang yang hanya mengetik kode secara mekanis
    Di pekerjaan terakhir, saya memimpin tim kecil dan membuat kode yang penting secara strategis, dan itu juga berhasil. Jika kode itu tidak selalu berjalan, setiap hari 100.000 orang akan marah, dan deretan eksekutif yang marah pun akan bermunculan
    Pada akhirnya saya lelah bekerja terlalu keras dan memutuskan pensiun
    Jika pekerjaan tidak memberi motivasi, Anda perlu mencari cara atau tempat baru untuk tetap menjadi programmer. Misalnya memulai perusahaan sendiri atau mencoba sesuatu yang baru. Kalau tidak, Anda perlu mencari profesi lain
    Menciptakan ulang diri sendiri tidak mudah, dan sekarang jauh lebih sulit, tetapi jika Anda benar-benar menginginkannya, itu bisa dilakukan

  • Bahkan ketika bekerja untuk para penguasa perusahaan, pemrograman tetap memberi energi. Membujuk mesin agar bergerak sesuai kehendakku tidak pernah membosankan. Aku bisa melakukannya seharian tanpa merasa lelah
    Pada masa-masa langka ketika perlu banyak memprogram, aku sering baru sadar belakangan bahwa aku sudah melakukannya 15 jam nonstop tanpa terasa waktu berlalu. Hampir 20 tahun terus begitu
    Sayangnya, pemrograman hanyalah bagian kecil dari pekerjaan. Semakin lama berkarier, hal itu semakin jelas. Kadang waktu yang benar-benar dipakai untuk coding hanya satu atau dua jam seminggu
    Sisanya dihabiskan untuk rapat-rapat konyol, menuntun orang-orang yang tidak membaca, meyakinkan orang lain agar bisa meyakinkan mesin sesuai kebutuhan, “perencanaan”, dan kebisingan serupa. Satu-satunya bagian yang terasa bermakna adalah membimbing programmer muda
    Alasan aku tetap melakukannya adalah karena ini jalan aman menuju pensiun dan aku sudah hampir sampai. Rencanaku setelah pensiun adalah memprogram hal-hal yang ingin kubuat semata-mata demi kesenangan murni

  • Menurutku sebagian masalahnya adalah banyak developer ingin bekerja di proyek yang bermakna dan bersama orang-orang baik, sambil tetap mempertahankan level gaji yang sekarang mereka terima di $FAANG atau ekuitas yang bisa mereka dapatkan di $STARTUP
    Pada kenyataannya, karyawan memperlakukan makna, kemandirian, inisiatif, serta keseimbangan kerja-hidup seperti mata uang, dan kadang bersedia menerima pemotongan gaji demi mendapatkan pekerjaan yang bermakna
    Pekerjaan yang lebih baik itu ada. Aku juga menemukannya. Namun jika sekarang kamu bekerja di perusahaan teknologi iklan atau startup AI, hampir pasti kamu harus siap melihat gaji yang jauh lebih rendah daripada yang biasa kamu lihat

    • Demi kesehatan mental, dalam 9 dari 10 kasus aku adalah orang yang rela menerima pemotongan gaji yang cukup besar
      Aku tumbuh di keluarga berpenghasilan rendah dan beberapa kali setelah dewasa juga pernah hidup dengan uang yang sangat sedikit, jadi itu terasa alami. Dalam beberapa hal, aku bahkan hampir lebih menyukainya
      Kesehatan mentalku lebih mudah terancam oleh stres berlebihan atau rasa tidak bermakna daripada oleh anggaran yang ketat
      Terus menjalani pekerjaan yang tidak terasa positif, atau lebih buruk lagi hanya memunculkan perasaan negatif, hanya masuk akal jika ada rencana yang sangat konkret untuk uang tambahan itu dan kemungkinan menjalankan rencana tersebut sangat tinggi
      Cara hidup seperti ini tidak cocok untuk semua orang, tetapi jika kamu kurang materialistis dibanding rata-rata atau tidak takut hidup lebih hemat, aku sangat menyarankan untuk mempertimbangkannya. Terutama jika akhir-akhir ini kamu bertanya pada diri sendiri lebih dari sekali seminggu, berapa lama lagi kamu bisa bertahan di “pekerjaan bagus ini” tanpa ambruk
    • Aku bekerja sebagai software engineer di sebuah perusahaan konstruksi besar, dan pekerjaanku sangat bermakna
      Dengan alat yang kami buat, orang-orang yang membangun benda nyata bisa bekerja lebih aman dan efisien. Melihat proyek-proyek nyata yang membuka mata dan bisa disentuh itu dibangun benar-benar keren
      Memang benar kompensasi FAANG jauh lebih tinggi, tetapi aku sangat menyukai tempat kerjaku sekarang, dan untuk pertama kalinya dalam waktu lama aku tidak merasa terdorong untuk mencari tempat lain setelah beberapa tahun
    • Setuju. Ada banyak perusahaan kecil. Startup tahap awal, perusahaan yang belum menemukan product-market fit atau baru saja menemukannya
      Kebanyakan tidak mampu membayar gaji besar. Mereka butuh orang yang tertarik dan punya motivasi diri kuat. Kamu juga perlu bersedia fleksibel dalam berbagai cara, dan di perusahaan kecil jauh lebih banyak hal yang bisa dinegosiasikan
      Perusahaan seperti ini tidak akan muncul begitu saja di depan mata, jadi kamu harus mencarinya sendiri
  • Solusinya adalah menjadi independen, membuat idemu sendiri, dan menjualnya kepada konsumen. Bisa saja itu startup milikmu sendiri, tetapi dalam kasusku, itu berarti menjadi developer game indie
    Salah satu game-ku, YOYOZO, terpilih dalam “Best Video Games of 2023” versi Ars Technica, jadi aku merasa keputusanku benar

    • Aku penasaran, bagaimana kamu bertahan secara finansial selama membuat game? Misalnya apakah kamu juga freelancing, memakai tabungan, dan semacamnya
    • Aku penasaran bagaimana kamu melakukan transisi ini. Aku juga penasaran bagaimana perasaanmu terhadap keputusan itu sebelum game-mu diliput. Aku pernah memikirkan jalan ini juga, tetapi terlalu ragu untuk terjun
    • Aku penasaran stack pengembangan game apa yang kamu pakai
  • Ini seperti menyukai seks tetapi tidak ingin menjadi pelacur. Apa pun yang kamu lakukan, kalau tidak bisa melakukannya dengan syaratmu sendiri, kamu bisa menjadi sengsara

    • Aku juga hampir selalu memakai analogi yang sama ketika menjelaskan perasaanku tentang industri ini
  • Aku merasakan hal serupa terhadap LeetCode
    Aku suka rekayasa perangkat lunak, tetapi LeetCode membuatku membenci rekayasa perangkat lunak
    Aku hanya ingin membuat sesuatu yang keren. Aku tidak ingin menghafal dan mengimplementasikan cache LRU atau satu lagi soal LeetCode tingkat menengah-atas dalam 40 menit

    • Tinggal tolak saja. Aku secara terbuka menambahkan keterangan di LinkedIn, dan sekarang juga di GitHub, bahwa aku menolak wawancara gaya LeetCode atau semacamnya, dan sejak itu aku lebih bahagia https://github.com/mihaitodor
      Tentu saja mungkin ada perusahaan yang karena itu tidak mau berbicara denganku, tetapi tidak apa-apa. Toh aku juga tidak pernah lolos wawancara seperti itu, dan selama ini aku memang harus mendapatkan pekerjaan yang tidak mengharuskan live coding saat wawancara
    • Kapan terakhir kali kamu memakai bubble sort di proyek sampingan klon Linktree?
    • Masalah dengan wawancara seperti ini adalah mereka bahkan tidak benar-benar menguji seberapa baik kamu berpikir tentang masalah dan merancang solusi
      Ekspektasinya pada dasarnya adalah menghafal solusi optimal dengan sempurna. Solusi optimal itu kemungkinan besar ditemukan oleh seseorang setingkat doktor yang meneliti algoritma
      Pada akhirnya kamu cuma akan mengimplementasikan endpoint untuk CRUD dengan 1.000 pengguna aktif bulanan