Apakah perlu dipertanyakan, “Bahasa Pemograman Mana Yang Terbaik?”

Saya pengguna ColdFusion selama hampir 8 Tahun dan sering ditanya “Kenapa sih menggunakan ColdFusion?”. Bukannya lebih baik pakai PHP/ASP/VB.NET/[Masukkan bahasa pemograman pilihan kamu]. Dan saya selalu menjawab bahwa ColdFusion lebih bagus karena ini dan itu dan akhirnya menjadi Debat.

Apakah perlu dipertanyakan, Bahasa Pemograman Mana Yang Terbaik?
Programming Languages

Jadi mari kita coba telusuri lebih jauh pertanyaan ini. Tidak, saya tidak akan membahas jawaban dari pertanyaan tersebut karena tidak akan ada habisnya tetapi saya akan mengajak para pengunjung untuk membahas pertanyaannya sendiri “Bahasa Pemograman mana yang terbaik?” dengan tujuan sebagai masukkan untuk para calon-calon pemogram mahir di masa yang akan datang.

Sewaktu saya masih Kuliah saya giat sekali untuk belajar bahasa pemograman, saya coba bahasa Assembly, Pascal, Visual Basic, ASP, C, C++, dll. Semuanya dicoba, semuanya dicari bukunya, dicari pengetahuannya. Dan selalu saja saya berusaha menjawab pertanyaan “Bahasa Pemograman mana yang terbaik?” atau lebih tepatnya

Bahasa Pemograman mana yang terjamin digunakan di Dunia Kerja nanti?

Nah, saya coba berikan sebuah Analogi dengan menghapus kata “Pemograman” dari “Bahasa Pemograman”. Kita semua menggunakan Bahasa, saat ini saya menulis dengan Bahasa Indonesia. Saya mampu berbicara Bahasa Inggris daBahasa Jerman. Anggaplah pada saat saya lahir saya berpikir

Bahasa mana yang terbaik? Dan saya akan Bisu sampai saya mendapatkan jawaban!

Repot bukan? Anggaplah saya menemukan jawabannya pada saat saya berumur 12 tahun dan mengatakan bahasa Jepang adapah yang terbaik dan pada umur tersebut barulah saya mencoba untuk belajar bahasa Jepang. Siapapun pasti akan keteteran! Tetapi jika sejak kecil saya pelajari bahasa apapun yang telah diberikan kepada saya karena Takdir, contohnya bahasa Indonesia, maka belajar Bahasa Jepang ga susah-susah amatlah. Kita sudah memiliki kosa kata, sudah mengerti cara merangkai kalimat, sudah mengerti cara menyampaikan keinginan kita, tinggal diubah menjadi bahasa Jepang. Salah-salah dikit wajarlah, tetapi tidak akan se-ngaco orang yang baru pertama kali mempelajari bahasa. Atau misalnya, Ibu kalian memberikan pertanyaan dalam bahasa Inggris dan kalian menjawab “Saya menolak menjawab dengan Bahasa Inggris yang lebih rendah”. Bisa sih, bisa di-Tabok.

Sekarang kita kembalikan ke Topic “Bahasa Pemograman”. Kesalahan utama para pelajar muda, apalagi yang baru mulai mengenal bahasa pemograman, adalah terlalu banyak bertanya dan terlalu sedikit bertindak. Sewaktu Kuliah saya masih diajarkan Pascal di Kampus dan saya berusaha tidak mengeluh bilang bahwa bahasa Pascal sudah tidak dipakai dimana-mana. Setelah itu saya mendapatkan pelajaran Visual Basic, ternyata konsep pemograman sama aja. Ada Syntax, ada Expression, dll. Dari Desktop Programming pindah ke Web Based saat mempelajari PHP. Cara menampilkan informasi berbeda, konsepnya Server-Client. OK, tetapi konsep pemogramannya tetap sama. Ada Syntax, ada percabangan, ada Expression. Dan pada saat bekerja diberikan ColdFusion, pertanyaan pertama saya “Apa pula ini?” tetapi terima saja. Dan ternyata saya bisa, karena memiliki Basic Pemograman sebelumnya.

Sekarang jika ada yang berikan bahasa pemograman baru ke saya, baik itu LUA, Objective-C, Java, saya pasti akan lebih cepat menguasainya dibandingkan yang tidak pernah mempelajari Bahasa Pemogramannya. Dan jika kita menghayati pastinya semakin cepat bisa menguasainya.

Kalau masuk ke Forum, saya seringkali melihat pertanyaan. “Saya ingin bikin aplikasi X lebih bagus pakai bahasa A atau bahasa B?”. Kalau yang Fanboy pasti akan membela bahasa masing-masing dan akhirnya jadi Debat, tetapi sesekali akan ada beberapa Programmer Senior yang memberikan Jawaban, “Kamu coba aja dulu rasakan sendiri, yang penting itu memulai dan menceburkan diri.”

Semoga sedikti ulasan saya ini bisa bermanfaat buat yang baru mau terjun ke Dunia Pemograman atau yang baru mendapatkan Project baru dan perlu membuat keputusan.

Menjadi Manager atau Specialist?

Dulu saya sempat berdiskusi dengan Senior di tempat saya bekerja , diawali karena saya menceritakan keinginan saya untuk Kuliah S2 dibidang IT serta mengikuti seminar-seminar ilmu IT terbaru. Lalu dia mencoba menchallenge saya, untuk apa belajar ilmu tersebut? Memangnya akan kamu gunakan? Dari situ ia mulai menjelaskan bahwa saya harus bisa membuat keputusan untuk menjadi seorang Manager kelak atau seorang Specialist.

Mana yang lebih cocok untuk saya? Menjadi Manager atau Specialist?

Jawaban pertanyaan tersebut akan berbeda untuk setiap orang dan harus dimulai dengan menjawab pertanyaan-pertanyaan lain sebelumnya.

Seorang Manager harus mampu memanage (sesuai namanya), melakukan komunikasi baik keatas maupun kebawah,  mengeluarkan kemampuan tersembunyi dari Staffnya bersamaan dengan menekan kekurangan mereka. Untuk melakukan hal ini dibutuhkan skillset yang berbeda dengan menjadi Teknisi/Specialist.

Sebagai contoh jika di suatu perusahaan IT, programmer yang paling pintar dijadikan Project Manager belum tentu kepintaran dia bercoding menjadikan dia Project Manager yang baik. Bisa jadi dia justru akan gagal karena tidak mampu melakukan Project Management dengan baik. Diperlukan kemampuan untuk menjaga Timeline, mempush User/Klient serta menjaga Ekspektasi mereka, menjaga produktifitas Staff, dll. Seluruh Skill tersebut tidak berhubungan langsung dengan coding. Kebanyakan Skill ini memerlukan kita untuk dapat berkomunikasi dengan baik sehingga orang introvert mungkin kurang cocok menjadi Manager.

Banyak yang beranggapan kalau sudah menjadi Manager itu lebih baik atau bahkan bisa mendapatkan Gaji lebih besar, tetapi jangan salah, menjadi Specialist atas ilmu yang belum dikuasai banyak orang bisa memberikan harga yang sangat tinggi. Contohnya dibagian Pengeboran dimana pekerja kontrak dengan ilmu-ilmu kebumian dinilai sampai ratusan juta. Tetapi mereka ada di posisi dimana harus selalu mengembangkan diri. Apalagi bila berhubungan dengan technologi. Seorang Web Programmer/Designer Specialist untuk dapat memberikan harga yang tinggi harus tetap up-to-date dengan ilmu-ilmu terbaru. Cocok untuk mereka yang selalu ingin belajar hal baru.

Saya sih pasti tidak mau bayar tinggi Freelancer/Contractor yang hanya punya skill pas-pasan. Tetapi jika dia punya Portfolio yang memukan dan skill yang tinggi tentu saya berani bayar mahal.

Tetapi apakah Manager berarti harus putus hubungan dengan ilmu Technical?

Alasan saya Enggan menjadi Manager dulu karena takut nanti tidak lagi bisa belajar coding sedangkan saya sangat cinta dengan dunia IT dan Coding. Kenyataannya saya masih dapat belajar dan mencoba-coba hal baru di posisi manager bahkan bisa membuat project-project baru dengan ilmu yang dipelajari tersebut.

Jadi saran saya:

Jika ingin menjadi Manager harus menguasai management dan people skills. Mungkin terdengar boring tetapi posisi manager lebih banyak memiliki waktu luang untuk belajar maupun untuk keluarga. Cocok untuk yang memiliki people skills dan managing skills.

Jika ingin menjadi Specialist harus selalu mengembangkan diri. Jadilah yang terdepan dengan ilmu-ilmu terbaru agar kita dapat tetap memberikan harga tinggi atas kemampuan kita. Tetapi sebagai akibatnya waktu kita menjadi terbatas, kita harus Bekerja + mengembangkan diri. Cocok untuk yang Introvert atau gemar mempelajari ilmu-ilmu baru.