10 Kualitas yang Harus Dimiliki untuk Menjadi Seorang Rockstar Programmer

Programming adalah pekerjaan yang muncul akibat menjamurnya penggunaan komputer di abad 21. Programming adalah pekerjaan yang membutuhkan kreativitas, yaitu membangun sesuatu dari yang tadinya tidak ada menjadi ada dengan kekuatan imajinasi yang dikombinasikan dengan logika sehingga pekerjaan programming tidak banyak berbeda dari pekerjaan lainnya yang membutuhkan kreatifitas seperti pelukis, komposer musik, atau arsitek. Sehingga programmer dapat dikategorikan sebagai creative worker karena lebih banyak bekerja menggunakan pikiran daripada kekuatan fisik.

Sebagai seorang programmer, tentu kita tidak ingin tergolong sebagai seorang programmer yang so-so alias programmer dengan kualitas yang biasa saja sehingga tergerus oleh programmer lain yang lebih muda dan lebih catch up dengan teknologi terbaru. Programmer yang baik haruslah dapat menyesuaikan dengan zaman sekaligus menjadi partner yang menyenangkan baik dengan client maupun dengan rekan kerjanya. Dan pada akhirnya seorang programmer yang baik haruslah dapat memberi manfaat bagi komunitas di sekitarnya.

Berikut adalah kualitas yang harus dimiliki agar kita dapat menjadi seorang Rockstar Programmer :

1. Versatility

Secara harafiah, arti dari versatility adalah sebagai berikut :

ability to adapt or be adapted to many different functions or activities.

Programming adalah pekerjaan yang dapat masuk ke semua bidang. Jika kita membuat software akuntansi misalnya, maka mau tidak mau kita harus mempelajari bagaimana akuntansi itu bekerja. Begitu pula jika kita membuat software di bidang kesehatan, travelling, atau e-commerce. Mempelajari business process dari bidang yang akan kita buat softwarenya adalah sebuah keharusan. Lalu apakah programmer adalah seorang superman yang bisa segala hal? Tentu saja tidak, namun seorang programmer yang baik harus mau belajar hal-hal yang baru diluar bidang keilmuannya, memahami bagaimana sesuatu hal bekerja, dan dapat menerapkan hal tersebut dalam konteks programming. Semua hal tersebut dilakukan dalam waktu yang relatif singkat.

2. State of the Art Mentality

Seperti yang sudah disebutkan diatas, teknologi berkembang secara cepat. Hampir setiap hari ada berita tentang munculnya bahasa pemrograman baru, framework baru, dan cara-cara baru untuk menyelesaikan persoalan. Semua mengklaim bahwa teknologi baru ini lebih baik daripada teknologi sebelumnya. Hal ini membuat programmer harus terus belajar dan mencoba hal baru untuk menambah wawasannya. Apabila seorang programmer enggan untuk belajar, posisinya akan segera digantikan oleh programmer yang lebih muda karena pekerjaan programming tidak mengenal usia. Jadi jangan heran apabila saat ini seorang anak berusia 9 tahun sudah bisa membuat mobile appsnya sendiri dan siap mengambil pekerjaan anda. Programmer akan selalu dituntut untuk menjadi pembelajar yang cepat agar tidak tergerus oleh zaman.

3. Independent Learner

Hal ini sering saya temui ketika mengunjungi forum-forum pemrograman di social media. Acap kali muncul pertanyaan-pertanyaan yang sebenarnya jawabannya sudah tersebar di internet dan sebenarnya usaha yang dibutuhkan untuk menemukan jawaban tersebut sangat minim. Tapi kemalasan membuat orang tersebut enggan untuk mencari dan lebih suka langsung bertanya dengan harapan memperoleh jawaban dengan instan. Untuk menjadi Rockstar Programmer, kita harus buang jauh mentalitas seperti ini. Programmer yang handal akan berusaha untuk menemukan jawaban sendiri dengan melakukan riset, trial and error, dan hanya bertanya apabila usaha untuk menemukan jawaban tersebut sudah mentok. Kemampuan googling yang baik adalah kualitas dari seorang Programmer yang handal.

4. Curiosity

Rockstar Programmer haruslah memiliki rasa ingin tahu yang tinggi. Hari-harinya dipenuhi pertanyaan tentang bahasa pemrograman, framework, atau text editor apa yang lagi nge-trend, bagaimana artificial intellegence dan machine learning dibuat, bagaimana sebuah aplikasi dapat melayani jutaan request per detik dan sebagainya. Rasa ingin tahu yang tinggi akan membuat programmer terus belajar dan bereksperimen, yang pada akhirnya dapat memberikan solusi terbaik berdasar eksperimen yang telah ia lakukan.

5. Open-minded

Kadangkala, ada beberapa programmer yang memiliki fanatisme yang tinggi terhadap teknologi yang ia gunakan sehingga ia cenderung menetap di zona nyamannya dan tidak mau belajar teknologi lain. Yang lebih parah lagi apabila seseorang telah belajar teknologi baru, lalu cenderung menjelek-jelekkan teknologi lama dengan alasan kuno atau ketinggalan zaman. Padahal ia hanyalah pemakai dan belum tentu dapat membuat teknologi pengganti yang lebih baik. Seorang Rockstar Programmer tahu bahwa teknologi hanyalah alat dan baik atau tidaknya alat tersebut tergantung oleh penggunanya. The man behind the gun. Rockstar Programmer tidak terikat oleh satu teknologi, selalu terbuka dengan teknologi yang baru, dan tidak pernah menjelekkan teknologi yang telah ia pakai sebelumnya diluar batas objektivitas.

6. Deep Mastery

Walau telah disebutkan bahwa programmer yang baik dapat menguasai banyak hal seperti menguasai beberapa bahasa pemrograman atau framework, namun seorang Rockstar Programmer biasanya memiliki trademark dengan menguasai satu keahlian, namun sangat mendalam. Rockstar programmer memiliki bayangan yang jelas akan menjadi apa ia nantinya. Apakah menjadi seorang backend developer, frontend developer, devops, mobile developer atau data scientist? Bahasa pemrograman apa yang akan dikuasai secara mendalam? C++, Java, PHP, Javascript atau Python? Kesalahan dari seorang programmer pemula adalah tidak menentukan dimana ia akan fokus, sehingga melahap semua materi yang ada dan pada akhirnya tidak memiliki keahlian khusus yang mendalam. Fokus pada satu keahlian akan mempermudah personal branding dari programmer itu sendiri.

7. Creative Thinker & Problem Solver

Tujuan awal dari munculnya komputer adalah untuk mempermudah hidup manusia. Secara otomatis, programmer wajib memiliki pemikiran untuk menyelesaikan masalah dalam kesehariannya dan membuat hidupnya dan hidup orang lain semakin mudah. Ada kalanya, solusi yang muncul benar-benar diluar pemikiran yang mainstream namun efektif dalam menyelesaikan permasalahan yang ada. Rockstar programmer adalah seorang yang memiliki pemikiran yang kreatif, out-of-the-box, dan terkadang radikal demi menyelesaikan suatu permasalahan.

8. Persistence

Dari 7 poin diatas, tidak heran jika seorang programmer adalah orang yang gigih. Dibalik sebuah program yang terlihat sederhana, kita tidak pernah tahu seberapa banyak waktu yang dihabiskan untuk riset, berapa banyak rambut yang rontok karena ditarik saking frustasinya, dan berapa banyak cangkir kopi yang telah habis untuk menemani malam-malam lembur seorang programmer. Tanpa kegigihan, mungkin sebagian besar orang yang berprofesi sebagai programmer akan menyerah karena banyaknya hal yang harus dipelajari dan diantisipasi, sulitnya memetakan persoalan di dunia nyata ke dalam arsitektur dan kode, bugs yang entah darimana munculnya, dan hal-hal eksternal seperti tekanan dari client, deadline, dan sebagainya.

9. Humble

Inilah kualitas yang sangat langka, yang bahkan tidak semua programmer hebat memilikinya. Fenomena yang ada, semakin mastah seorang programmer (atau yang merasa dirinya mastah), dia akan semakin cenderung jual mahal, sinis, atau menanyakan sesuatu hanya untuk sekedar menguji, bukan bertanya dengan tulus (tentu tidak semua demikian). Saya pribadi banyak menemukan hal ini di forum-forum pemrograman di Indonesia. Seringkali ada pertanyaan semacam ini dan mendapat jawaban seperti ini :

Q: Bisakah framework X melakukan Y ?
A : Bisa.

Sang mastah mungkin beralasan jika tipe pertanyaannya adalah yes/no question. Tapi jika kita menempatkan diri sebagai sang penanya, jawaban yang diharapkan tentu tidak sesingkat itu. Dan apabila pertanyaannya dirasa konyol, why you even bother to answer it in the first place? just leave that question alone. Dan kasus seperti ini masih banyak terjadi. Seorang programmer yang benar-benar hebat, justru akan merasa dirinya tidak tahu apa-apa sehingga ia akan lebih terbuka dan memperlakukan orang lain dengan lebih hormat.

“Stay Hungry, Stay Foolish”

10. Passionate

Terakhir, seseorang tidak mungkin mencapai semua kualitas yang telah disebutkan diatas apabila ia tidak mencintai pekerjaannya. Bagaimana mungkin seseorang rela untuk melakukan sesuatu hal, terkadang tanpa dibayar, secara terus menerus apabila ia tidak mencintai pekerjaannya? Rockstar Programmer mencintai pekerjaannya yaitu programming. Jika ia melewatkan harinya tanpa melakukan pekerjaan yang ia cintai, rasanya ada sesuatu yang kurang. Ia rela melakukan pekerjaan tersebut meski tanpa dibayar atau bahkan membagikannya secara free dan open source. Ada kebahagiaan tersendiri melihat hasil karyanya dapat dimanfaatkan oleh khalayak luas dan hal ini tidak mungkin dapat dicapai apabila ia tidak memiliki passion terhadap pekerjaannya.

“Follow your passion, and success will follow”

Jadi, apakah kita sudah memiliki kualitas yang dibutuhkan untuk menjadi seorang Rockstar Programmer ?


Terimakasih telah membaca artikel ini. Apabila anda menyukainya klik ❤️ dan share serta follow medium, facebook, atau twitter Koding Kala Weekend untuk mendapat info tentang artikel terbaru kami.