Rabu, 30 September 2015

Mencoba Banyak Bahasa Pemrograman atau Menguasai Beberapa Saja?

03.24 Posted by Unknown No comments

Pendahuluan

Dunia IT (information technology) merupakan sebuah ranah ilmu yang terlihat semacam satu kesatuan (asalkan bisa menggunakan komputer) bagi orang awam namun kenyataannya terdapat banyak sekali cabang ilmu yang tidak bisa kita ambil semuanya dalam waktu yang sebentar. Sebagai contoh kecil, di dunia IT sendiri terdapat fokus ilmu pada bidang teori komputasi, jaringan komputer, algoritma dan pemrograman, sistem informasi, kecerdasan buatan, dan masih banyak lagi bidang ilmu di dunia IT yang bahkan dalam kuliah pun hanya dibahas kulitnya saja.
Bagi seseorang yang baru mengenal dunia IT tentu punya ambisi untuk ingin menguasai segalanya. Mulai dari jaringan komputer hingga menguasai semua bahasa pemrograman. Sekarang kita akan ambil contoh kasus dalam konteks seseorang ingin menguasai bahasa pemrograman. Tentu bahasa pemrograman merupakan salah satu hal yang menarik bagi seseorang yang ingin menguasai dunia IT. Kenapa? ada banyak sekali bahasa pemrograman yang cukup membuat seseorang ingin menguasainya.
Bahasa pemrograman ini ada banyak sekali ragamnya. Dari segi sistem operasi ada yang hanya tersedia untuk Windows (C#, Visual Basic), ada yang hanya tersedia untuk OSX (Swift, Objective-C), ada yang hanya tersedia untuk Linux (BASH), dan ada juga yang tersedia untuk semuanya (Python, PHP, Javascript, C, C++). Dari segi perangkat ada yang hanya disediakan untuk komputer desktop, perangkat mobile, perangkat IoT, dan embedded machine. Dari sedikit aspek yang telah disebutkan, waktu yang dibutuhkan untuk semuanya tidak akan pernah cukup. Berikut ini adalah beberapa hal yang dapat Anda simak untuk memilih apakah harus mencoba banyak atau menguasai beberapa bagi Anda yang masih kuliah di jurusan IT atau baru mengenal dunia IT khususnya pemrograman.

Kuasai Saja Beberapa dan Fokus

Di kehidupan nyata mungkin ada seorang mahasiswa IT yang mencoba 10 bahasa pemrograman, ada yang mencoba menguasai 3 bahasa pemrograman untuk digunakan mengerjakan tugas kuliah yang diberikan dosennya, ada yang ingin memperdalam 1 bahasa pemrograman untuk hobi dan proyeknya. Tidak ada yang keliru dengan hal ini, namun dapat dipastikan seseorang yang mencoba menguasai bahasa pemrograman terlalu banyak belum pernah terlibat dalam proyek freelance ataupun membuat karya tertentu.
Berbeda dengan seorang mahasiswa yang fokus pada 3 bahasa pemrograman misalnya. Dia menggunakan 2 bahasa pemrograman untuk kuliah dan proyek pribadinya, satu lagi mungkin untuk hobinya. Jadi waktu yang diinvestasikan seorang penguasa 3 bahasa pemrograman tercurahkan untuk fokus pada pengembangan produk yang dibuatnya. Belum lagi timeframe yang dimiliki seorang mahasiswa hanya 4 ~ 7 tahun. Ketika lulus apakah perusahaan akan mencari seseorang yang menguasai banyak bahasa pemrograman namun tidak mendalam? atau seorang fresh graduate yang menguasai sedikit bahasa pemrograman namun lebih fokus dan menguasai satu saja bahasa pemrograman sampai topik spesifik? Akan semakin lebih baik apabila memiliki sebuah karya dalam bentuk aplikasi dengan menggunakan bahasa pemrograman yang dipilihnya.
Berikut ini adalah diagram sederhana yang dapat menunjukkan kenapa kita harus fokus pada bahasa pemrograman tertentu”
  • Anda tetap dalam kondisi labil hingga banyak sekali bahasa pemrograman yang Anda coba tapi tidak menguasai sampai hal dasar
    Belajar banyak bahasa pemrograman tapi hanya menguasai bagian umum
    Belajar banyak bahasa pemrograman tapi hanya menguasai bagian umum
  • Anda mulai mencoba fokus pada beberapa bahasa pemrograman saja sampai akhirnya Anda membuat sebuah karya dan produk
    Menguasai sedikit bahasa pemrograman dan mencoba lebih fokus
    Menguasai sedikit bahasa pemrograman dan mencoba lebih fokus
  • Anda menguasai satu saja tapi akhirnya ketika lulus sudah dapat dianggap sebagai orang yang piawai dalam bahasa pemrograman tersebut
    Mencoba fokus pada satu bahasa pemrograman sampai akhirnya mengerti betul seluk beluk bahasa pemrogramant ersebut
    Mencoba fokus pada satu bahasa pemrograman sampai akhirnya mengerti betul seluk beluk bahasa pemrogramant ersebut
Jadi sekarang Anda dapat memilih apakah ingin menguasai 10 bahasa pemrograman hanya kulitnya saja? atau menguasai sedikit atau satu bahasa pemrograman namun punya kompetensi dan kemampuan yang mendalam hingga ke bagian inti dari bahasa pemrograman tersebut. Pilihan tersebut akan selalu ada di tangan Anda.

Pelajari Hal Lain di Waktu yang Tepat

Misal Anda hanya ingin fokus pada PHP dan Javascript namun harus menguasai Visual Basic untuk memenuhi tugas kuliah desktop programming? atau harus menggunakan Matlab hanya untuk membuat skrip perhitungan matriks dan aljabar linier? tidak masalah, pelajari saja Visual Basic dan Matlab tersebut sampai tugas Anda benar – benar terpenuhi untuk mata kuliah tersebut. Setelah beres perkuliahan Anda dapat meninggalkan kedua bahasa pemrograman tersebut apabila memang tidak benar – benar dibutuhkan dan bukan menjadi fokus utama untuk kemampuan programming yang akan Anda kuasai.
Hal serupa pun dapat terjadi ketika Anda yang sudah biasa menggunakan suatu Relational Database, misalnya MySQL, namun diminta menggunakan Microsoft SQL Server untuk suatu proyek yang Anda dapatkan. Anda dapat mencoba untuk mulai mempelajarinya dan kuasai beberapa hal yang dapat menyokong pengerjaan Anda pada proyek tersebut. Bila ada orang lain yang lebih expert dalam tim Anda, tentu itu akan lebih membantu Anda karena tidak harus menguasai seluk beluk dari SQL Server tersebut. Tapi bila tidak ada lagi orang yang diamanahi, Anda dapat mulai mempelajarinya hanya untuk lingkup proyek tersebut.
Jadi menguasai hal baru diluar fokus yang Anda kejar, dapat Anda lakukan hanya di waktu yang tepat. Terlebih waktu yang Anda miliki pasti terbatas bila harus semua Anda coba dalam satu waktu.

Jangan Merasa Malu Karena Tidak Bisa Menguasai yang Orang Lain Kuasai

Ketika Anda melihat seorang teman yang piawai membuat game dengan menggunakan ActionScript 3.0, tentu Anda akan terpukau melihatnya bahkan sedikit tergiur untuk mencoba membuat game tersebut. Bila Anda memang ingin fokus di dunia game development, hal tersebut bisa menjadi sebuah jalan bagi karir Anda. Tapi bila hanya untuk hobi? itu juga tidak masalah, namun Anda tidak perlu merasa malu bila teman Anda dapat menguasai suatu hal yang tidak dapat Anda kuasai. Sejatinya manusia hidup dengan cara berkelompok dan kolaborasi. Suatu saat mungkin saja kemampuan Anda dan teman Anda dapat dibutuhkan dalam suatu proyek. Anda memperoleh bagian Anda, teman Anda memperoleh bagiannya sendiri.
Kadang ketertarikan untuk mengikuti seseorang tersebut terjadi karena kurangnya kepercayaan diri yang kita miliki. Ada kalanya apa yang kita pelajari terasa kurang menarik untuk saat ini ataupun di masa depan. Tapi tunggu dulu. Bila Anda hanya baru sebulan, 6 bulan, atau satu tahun mencoba. Tentu hasil yang diharapkan tidak akan dapat Anda peroleh begitu saja. Misal bila Anda adalah seorang web programmer bila hanya mencoba Javascript selama satu tahun, mungkin yang Anda kuasai baru dasarnya saja. Tapi bila Anda sudah terlibat dengan proyek dan konsisten mencoba Javascript selama lebih dari 1 ~ 2 tahun, bukan hal asing bila Anda akan sudah menguasai Ajax, Validasi Form, membuat komponen web sendiri, dan mungkin Anda membuat library Javascript untuk Anda sendiri.
Untuk menguasai kompetensi terdalam dalam suatu bahasa pemrograman, Anda tidak dapat melakukannya hanya dalam “satu hari” saja, Anda bukanlah Sangkuriang yang harus menyelesaikan sesuatu dalam satu malam, bahkan menurut legenda Sangkuriang pun tidak pernah menyelesaikan perahunya. Dalam suatu bahasa pemrograman selain ada bidang yang secara umum dapat dilakukan dengan bahasa pemrograman tersebut, ada juga bidang khusus yang tidak dapat dilakukan suatu bahasa pemrograman. Kita ambil contoh sebuah bahasa pemrograman seperti C, Javascript, dan Java.
Secara umum, kita dapat menggunakan ketiga bahasa pemrograman tersebut untuk keperluan belajar algoritma dan logika pemrograman. Tapi Anda dapat menemukan bidang spesifik yang hanya dapat dilakukan oleh salah satu bahasa pemrograman tersebut. Misalnya bahasa C sendiri merupakan bahasa pemrograman yang banyak digunakan di dunia mikrokontroler dan embedded system, bahkan C sendiri digunakan untuk membuat library bagi bahasa pemrograman lain. Tapi tentunya C belum pernah digunakan untuk manipulasi halaman web yang saat ini dikuasai oleh Javascript. Javascript digunakan untuk membuat konten web semakin menarik dan interaktif sehingga halaman HTML statis yang biasa tampil tak bergerak akhirnya memiliki animasi yang indah dan memberikan reaksi interaktif terhadap pengguna web. Begitupun Java, yang saat ini menguasai ranah mobile apps development khususnya di Android.
Jadi ketika Anda sedikit merasa malu bahwa Anda hanya bisa menguasai satu bahasa pemrograman, atau hanya beberapa saja. Tidak perlu ragu. Kuasailah bahasa pemrograman tersebut sampai ke akar – akarnya dan bidang khususnya. Sehingga setelah waktu yang Anda lalui cukup lama, Anda dapat menjadi ahli untuk bahasa pemrograman tersebut beserta bidang yang Anda geluti.

Penutup

Fenomena ini sangat menarik, karena selalu terjadi di setiap generasi dan pada semua orang yang baru saja mengenal dunia IT. Pada akhirnya seseorang akan melihat dan mengakui Anda sebagai seorang expert yang di bidangnya. Katakanlah bila Anda menguasai bahasa pemrograman PHP sampai bagian terdalam, orang akan memiliki kepercayaan lebih terhadap Anda dibandingkan Anda yang hanya menguasai bagian kulit dari banyak bahasa pemrograman yang Anda coba.
Tulisan ini sebagian besar didasari oleh pengalaman penulis sendiri dan beberapa teman penulis di dunia IT khususnya programming selama kuliah hingga sekarang bekerja. Tulisan ini bisa saja berbeda dengan kenyataan pembaca. Bila ada perkataan yang kurang berkenan sekiranya mohon maaf, karena kesempurnaan hanya milik Tuhan semata. Semoga bermanfaat.

0 komentar:

Posting Komentar