Menjadi programmer yang lebih baik

Durasi membaca: 6 menit

Banyak kolegaku yang penasaran apa sih teknik yang aku terapkan hingga jadi master dalam programming di hampir semua jenis programan?

Skill itu bukan lahir karena gen atau keturunan. Semua skill membutuhkan investasi dan mental yang tepat. Aku melihat banyak orang yang ingin terjun ke programming, namun dengan mental menurutku salah kaprah. Jadi apabila anda sepertinya stuck untuk memanjat karir pemrograman, artikel ini mungkin bisa menjadi reminder anda.

Read in English

Ini sih poin mutlak. Kalau kamu gak mau belajar baca referensi English, mending jangan jadi programmer. Aku banyak menemukan orang suka stuck dan bertanya padaku “Eh ini error merah solusinya gimana?” padahal errornya sudah jelas itu sebuah tipo dilihat dari pesan errornya saja. “Kamu bisa baca gak sih?!” begitu umpatan dalam hatiku, sayangnya hal seperti itu sering terjadi.

Referensi indo menurutku dikit dan rawan ketinggalan jaman. Aku sering gugel referensi dan pesan error yang terjadi, dan selalu menemukan solusinya di dokumentasi official, atau forum seperti Stack Overflow, dan itu pasti berbahasa inggris. Anda hanya akan membuang waktu jika hanya mencari jawaban berbahasa indonesia.

English bukan cuma buat cari referensi doang, namun harus menjadi budaya. Meskipun aplikasiku berbahasa indo, semua elemen script termasuk variabel dan fungsi juga english, karena kalau English dicampur sama Indo bacaannya bakal aneh.

Mau tidak mau, semakin anda mendalami IT, English tak dapat anda tolak. English juga merupakan kunci agar anda membuka akses potensi pasar luar negeri. Dan IT kalau tidak menjaring pasar luar negeri, menurutku hanya akan membuang waktu saja.

Aku tidak pernah kursus English, sebaliknya aku lebih suka langsung praktek menulis/ngomong English. Dan skillku ini terbantu karena aku sering diskusi langsung di forum online atau email. Aku punya +1000 rep Unity Answers dan +300 rep Stack Overflow, banyak bule juga yang aku balas di email. Menurutku interaksi dua arah seperti itu jelas membantu sekali untukku belajar bahasa baru.

Beberapa orang mungkin bakal mengambil shortcut dengan cara memasang terjemahan otomatis. Menurutku itu hanya akan memanjakan otak. Aku pas kecil dulu pernah belajar inggris dengan cara menerjemah deskripsi di 300+ kartu Yu-Gi-Oh secara manual pakai kamus tebal.

Belajar English itu tidak susah, hanya perlu praktek dan pembiasaan. Belajar English juga menurutku sebuah sebuah investasi, harus mau susah dalam jangka pendek agar berguna untuk jangka panjang.

Project-Code-Repeat

Tidak seperti pekerjaan formal lainnya seperti dokter atau polisi, karir programming nggak ada petunjuk bakunya, karena teknologi berkembang terus. Karena itu, cara terbaik menurutku untuk belajar ialah dengan langsung terjun memprogram software.

Banyak orang belajar pemrograman dengan membeli buku atau mengikuti tutorial. Tapi aku tidak pernah membaca buku programming, dan juga jarang mengikuti tutorial. Aku hanya mengandalkan naluri untuk merencanakan “Apa project-ku selanjutnya?”

Agar kalian dapat bertahan, anda harus mencoba untuk bikin hal-hal yang bisa dibilang tidak berguna. Ingin menjadi web developer? Cobalah bikin Website sendiri. Ingin menjadi sysadmin? Cobalah bikin server linux sendiri. Kamu tidak harus menunggu peluang muncul dari orang lain, anda bisa memunculkannya sekarang.

Aku pun demikian, aku punya 50+ project GitHub yang sekarang menjadi sampah. Dan menurutku project sampah itu sebenarnya bukan sampah, melainkan batu pondasi agar kamu bisa menambah pengalaman dan skill untuk kedepan. Kamu boleh memilih untuk fokus menjadi web atau android dev, namun tidak ada salahnya untuk melenceng agar kamu bisa lebih tau prospek karir di bidang yang belum pernah kamu coba.

Sayangnya, banyak orang stuck, bukan karena bug, tapi karena tidak yakin mau eksekusi project apa. Banyak orang berpendapat membuat project itu harus berguna atau berpotensi menjadi peluang/startup, padahal menurutku itu Absurd.

Apabila kamu belum yakin, cobalah berhenti sejenak untuk melihat konferensi TED dibawah ini, yang membawakan pesan penting: it’s okay kamu ingin membuat hal-hal tak berguna, karena hal itu tetap membuat pengalamanmu tambah banyak.

Kenapa kamu harus bikin hal yang tak berguna?

Dari sini mungkin kamu bakal tetap kepikiran “ya oke tapi kalau tidak bisa jadi peluang bisnis tetap tidak berguna”. Namun aku percaya “skill memang butuh project, tapi bisnis butuh bejo“. Karena, contoh saja 2016 dulu, project ku TEXDraw yang sekarang beromset total 9 digit itu, apakah aku merencanakan itu untuk bisnis? Tidak, aku tidak pernah mengira bakal bisa sesukses itu sampai aku menyadarinya. Tapi akankah aku bisa membuat bisnis lagi dengan model yang sama? Tidak, bahkan 4 tahun sampai sekarang, tidak ada project lain yang bisa sesukses project itu.

Explore and Exploit

Dari pengalaman itu juga, aku berpendapat, money is the sins of creativity. Jangan pernah berharap project anda sendiri dapat berputar menjadi uang. Kalaupun itu ternyata bisa, anggap itu sebuah keberuntungan. Beberapa projectku sendiri seperti TEXDraw, Engine 4, DOM Cloud memang dapat berputar menjadi uang, namun itu semua aku anggap bonus, dan aku masih mengelolanya karena mereka masih berguna untuk orang lain.

Namun apabila kebutuhan anda memang uang, maka anda harus mencarinya dengan cara lain, contohnya mencari internship, freelance, sayembara atau join ke project orang lain. Itu kalau anda ingin kerja anda selera dengan skill (jika memang pemrograman adalah bakat anda). Namun ingat, sangat normal apabila anda punya skill kedua untuk menunjang finansial. Skill ini bisa apa saja, reseller, writer atau photographer, tergantung dengan apa yang anda anggap mudah atau menjamin untuk menunjang finansial, sementara anda tetap menjadi programmer sebagai hobi atau investasi skill masa depan.

Apakah mental seperti itu absurd? Tidak. Banyak orang yang sudah terjun dan sukses, bakal bilang “Don’t follow your passion” karena realita kadang bisa berbeda dengan ekspetasi (passion) anda sendiri. Pasti banyak milenial menganggap pekerjaan kotor seperti tukang las, pedagang atau petani merupakan pekerjaan level rendah, namun sebenarnya pekerjaan seperti itu masih dibutuhkan dan berpotensi untung besar. Kau hanya perlu berani dan punya strategi untuk berkembang layaknya orang berbisnis.

Belajar dari pekerjaan kotor…

Bagaimana dengan aku sendiri? Aku percaya bahwa orang harus eksplor jauh sebelum meng-ekspoit. Artinya meskipun aku mencoba membangun bisnis ini-itu, aku percaya itu bukan prioritas hingga aku siap. Dan kapan aku siap? Mungkin sekitar 10 tahun dari sekarang baru bisa terjun full bisnis, sehingga menambah masa belajar agar aku bisa menambah impact lebih besar.

Have Fun

Programmer merupakan pekerjaan idaman penggemar IT yang membutuhkan talent dan kreativitas. Namun tidak semuanya. Sebenarnya banyak juga tawaran pekerjaan IT yang kerja rendah tapi tidak menguras otak seperti kerjaan Office ataupun WordPress, biasa disebut Operator di instansi sekolah atau organisasi non-IT lain. Kalau anda ingin kerja di instansi IT selain Developer anda juga bisa jadi Analis, Sysadmin, Auditor dan banyak macam pekerjaan IT yang tersedia, tinggal anda sendiri mau fokus dimana. Namun memulai bisnis IT dari nol merupakan hal yang sulit, aku akui apabila kamu tidak mengedepankan manfaat daripada duitnya, gak akan pernah berhasil.

Dari semua advice yang anda dapat tangkap disini, hanya kamu sendiri yang mengerti situasi dan tujuanmu sendiri, but at least, menurutku programming bisa menyenangkan apabila disertai tekanan dari luar.

Dan kita adalah manusia. Kapasitas otak terbatas, tentu nggak bisa siang malam diforsir, jadi gunakan waktu se-efektif mungkin. Juga gunakan waktu non-efektif untuk memenuhi kebutuhan sosial atau rehat sejenak dan menikmati hidup.