Mahir Programming Butuh Berapa Lama dan Bagaimana?

Pertanyaan ini lazimnya tidak memiliki jawaban yang saklek

Muhammad Ridho K. Pratama
Ridho's Personal Note
3 min readSep 10, 2017

--

Saya nggak ingat sudah pernah ditanyain oleh siapa saja dan sudah berapa kali adik-adik junior atau siapapun menanyakan hal ini. By the way, saya tidak jago-jago amat dalam programming kok.

Oke, straight to the point aja ya, untuk bisa mahir programming menurut saya pribadi tidak ada batasan waktu tertentu agar bisa mahir, bahkan bisa saja membutuhkan waktu tak terhingga. Mengapa?

Dunia Programming Terlalu Dinamis

Kalau dari sisi teknologinya sendiri, sudah sekian banyak bahasa pemrograman, library, maupun tool yang mendukung dalam pengembangan sebuah software akhir-akhir ini. Misalkan, jaman dahulu orang-orang lazimnya dalam membuat aplikasi berbasis web biasanya pakai PHP, Ruby, Java maupun ASP. Untuk di 2017 ini sudah mulai banyak pilihan, sebut saja Nodejs, Golang atau yang lain semisal React untuk develop frontend. Jika ingin mahir di kesemuanya tadi tentunya membutuhkan waktu yang tidak sedikit bukan?

Learning Pace Yang Berbeda

Tiap orang kecepatan belajarnya berbeda-beda, ada yang cepat memahami dan mengimplementasikan suatu framework ataupun ada yang lambat. Contohnya saya sendiri, dibandingkan teman-teman angkatan 2015-2016 di BCC FILKOM UB sendiri, saya lebih lambat dalam memahami materi React / React Native tingkat lanjut seperti Redux dan kawan-kawannya, dibandingkan teman-teman angkatan 2015–2016 yang memang udah telanjur kepincut dengan React / React Native. Mereka sudah bisa membuat frontend maupun cross platform mobile app yang menawan, sedengkan saya sendiri masih dalam level Hello World alias masih noob. Jadi, berapa lama untuk memahami React / React Native bergantung pula pada learning pace tiap orang, jadi tidak ada ukuran waktu yang pasti supaya bisa mahir.

Nah, tadi beberapa alasan mengapa untuk bisa mahir programming tidak ada batasan waktu tertentu dan tidak ada jawaban yang saklek.

Jadi untuk mahir programming bagaimana? Terlepas dari berapa lama waktu yang dibutuhkan untuk bisa mahir, karena tiap orang lama waktu untuk bisa mahir berbeda-beda.

Fokus

Tentukan arahmu mau kemana, apakah ke web development, mobile development, ataupun mau ke ranah IoT development. Usahakan untuk tetap fokus ke satu pilihan, supaya bisa paham lebih dalam dan tidak setengah-setengah. Misalkan, saya lagi. Saya untuk saat ini fokus ke iOS development (native) menggunakan Swift, karena memang saat ini pekerjaannya memang lagi pakai Swift dan untuk beberapa bulan kedepan setelah lulus saya memang akan bekerja full time sebagai iOS engineer di salah satu kumpeni. Mainannya masih native, belum cross platform 😂

Latihan Terus Menerus

Programming bukan ilmu yang cuma dibaca dan dihapal lalu bisa langsung mahir dalam waktu 24 jam. Programming membutuhkan banyak-banyak latihan dan jam terbang supaya skill tetap terjaga dan tetap tajam. Karena bahasa pemrograman maupun framework jaman sekarang berkembang sangat pesat, maka latihan & belajar terus menerus sangat wajib hukumnya, dan tidak bisa dibantah.

Nah latihannya bagaimana? Bisa coba-coba selesaikan soal di online judge system seperti di Hackerrank maupun SPOJ untuk mengasah penguasaan algoritma maupun terjun langsung dalam proses pengerjaan proyek perangkat lunak. Kalau saya pribadi lebih cocok di opsi kedua (terjun langsung kerjakan proyek perangkat lunak), tetapi jangan lupakan opsi pertama. Opsi pertama akan sangat berguna dalam fase seleksi awal calon engineer di suatu kumpeni, pada fase whiteboard coding interview maupun memperkuat foundation untuk bisa merancang & mengimplementasikan algoritma yang efisien.

Tumbuhkan Passion

Ketika kita memiliki passion, tentunya proses belajar akan semakin menyenangkan dan tidak terasa berat. Bagaimana menumbuhkan passion? Mulailah untuk mencintai, dan jangan menganggap bahwa programming merupakan momok yang menakutkan (biasanya mahasiswa suka takut sama programming).

Tidak Manja

Ketiga hal tadi tidak akan berguna kalau kita dalam proses belajar memiliki sifat yang manja dan tidak berani untuk mengalami kesulitan dalam belajar alias hanya pingin enaknya saja. Lebih baik kita mengalami sakit dalam belajar daripada harus menanggung pedihnya kebodohan.

Jadi, begitulah.

Untuk bisa mahir programming, tidak ada rentang waktu yang spesifik, bergantung pada masing-masing orang dan at least bisa mengimplementasikan 4 item diatas. Dan yang terpenting, belajarlah dengan gaya belajar yang cocok dengan karakteristik diri sendiri.

Sekian pendapat pribadi saya, semoga bermanfaat.

--

--