Yang Harus Dipersiapkan untuk Menekuni Profesi Sebagai Programmer

"Mau tanya mas, kalo fresh graduate, dan ingin jadi programmer begitu, ada tips khusus tidak mas? Soalnya saya bingung tentang apa yang harus saya pelajari dan kompetensi yang dibutuhkan"

Pertanyaan tersebut masuk ke inbox Facebook saya dari seorang mahasiswa tingkat akhir. Saya akan membagikan jawaban dari pertanyaan tersebut berdasarkan pengalaman yang saya dapatkan selama menekuni profesi yang akrab dengan ketik-mengetik dan kode-mengkode tersebut.

1. Kuasai minimal satu bahasa pemrograman


Bahasa pemrograman wajib dikuasai oleh seorang programmer (software developer) karena hal tersebut adalah tool yang digunakan untuk membangun perangkat lunak. Minimal satu bahasa pemrograman harus dikuasai oleh seseorang yang ingin menjadi programmer profesional.

Ada banyak sekali bahasa pemrograman yang bisa digunakan, banyak pilihan yang tersedia. Manakah bahasa pemrograman yang harus dikuasai?

Jawaban dari pertanyaan tersebut adalah, pelajarilah bahasa pemrograman dengan mengambil konsepnya, jangan mempelajari sebuah bahasa pemrograman untuk menghafal sintaks (tata cara penulisan). Dengan demikian tidak masalah bahasa pemrograman yang mana yang dipelajari, ambil konsepnya jangan hafalkan sintaksnya. Sintaks bisa dilihat lagi dari contoh, namun konsep harus dipahami.

Seorang programmer harus siap menghadapi perubahan, ada saatnya sebuah sistem cocok dibangun menggunakan bahasa pemrograman A. Namun suatu saat ada sistem lain yang lebih cocok dibangun menggunakan bahasa pemrograman B. Jadi akan lebih mudah bila seorang programmer menguasai lebih dari satu bahasa pemrograman. Namun demikian sangat jarang seorang programmer menguasai banyak bahasa pemrograman dengan level penguasaan yang sama dan hampir mustahil memang menguasai banyak bahasa pemrograman. Untuk itu sebenarnya cukup minimal ada satu bahasa yang dikuasai dengan tingkat penguasaan yang mendalam, sedangkan bahasa pemrograman lain cukup sampai tahap "tahu".

Akan lebih mudah juga apabila seorang programmer mengetahui prospek sebuah bahasa pemrograman di masa mendatang. Investasi waktu dan pikiran untuk mempelajari sebuah bahasa pemrograman sangatlah besar, sehingga penting untuk memperkirakan bagaimana potensi sebuah bahasa pemrograman. Sebuah bahas pemrograman yang berpotensi dan punya prospek setidaknya bisa dilihat dari jumlah pengguna dan trend pengembangan bahasa tersebut. Namun demikian perlu diingat bahwa tidak ada sebuah bahasa pemrograman yang sempurna, semua bisa berubah seiring waktu.

2. Kuasai teknik debugging dan testing

Teknik debugging adalah teknik melacak bug / error dan memperbaikinya, sedangkan testing adalah salah satu teknik coding yang sangat penting guna meminimalisir error. Dua teknik tersebut jarang diajarkan di bangku sekolah / kuliah namun sangat penting untuk dikuasai seorang programmer. Saya sangat menyarankan (kalau bisa bahkan mewajibkan) seorang fresh graduate menguasai kedua teknik tersebut. Debugging dan testing dipelajari menyesuaikan dengan bahasa pemrograman yang dipilih.

3. Kuasai tool source code management

Membangun sebuah aplikasi atau sistem dalam real world adalah kerja tim, mengerjakannya sendirian akan sangat menguras sumber daya dan tentu saja tidak efisien. Membagun sebuah aplikasi sendirian mungkin tidak ada masalah apabila aplikasi tersebut skalanya kecil, misalnya aplikasi untuk tugas kuliah. Namun dalam dunia nyata, sebuah aplikasi / sistem skalanya bisa sangat besar, misalnya dengan jumlah pengguna yang mencapai jutaan.

Sebuah tim akan bekerja bersama untuk membangun sistem, biasanya sebuah sistem akan dibagi menjadi modul-modul kecil yang terpisah. Sebuah tim besar akan dibagi menjadi kelompok-kelompok yang lebih kecil yang masing-masing kelompok akan mengerjakan modul-modul kecil tersebut. Sebuah tool akan digunakan untuk memanajemen source code yang ditulis oleh tim. Tool source code management ini yang sering dipakai saat ini adalah git. Sangat disarankan seorang fresh graduate mengenal tool git ini karena akan sangat membantu pekerjaannya di tim nanti.

4. Buat portofolio

Portofolio menjadi bukti otentik atas kemampuan seorang programmer. Untuk itu saya menyarankan mahasiswa IT yang berminat menjadi programmer harus memiliki pengalaman membangun aplikasi. Pengalaman membangun aplikasi tersebut akan lebih baik lagi apabila didokumentasikan, misalnya mulai dari hal yang sederhana ketika mempelajari pemrograman dikumpulkan source codenya. Upload source code hasil belajar tadi misalnya ke github, buat account di github tersebut untuk menampung source code hasil belajar. Seorang interviewer biasanya melihat juga track record programmer yang ingin direkut berdasarkan hasil coding mereka. Saya dulu mendapatkan tawaran untuk bekerja di wonderlabs karena salah seorang foundernya menemukan akun github saya.

5. Bergabung dengan komunitas

Selanjutnya saya menyarankan untuk bergabung ke komunitas yang mendukung pengembangan kemampuan pemrograman. Misalnya dengan bergabung ke komunitas programmer atau komunitas startup atau komunitas bidang IT lainnya. Melalui komunitas akan banyak terbuka kesempatan, misalnya melalui komunitas kita akan bertemu dengan banyak orang yang bidang minatnya sama kemudian kita diajak bekerja sama untuk membangun sebuah aplikasi. Atau bertemu dengan orang-orang yang sudah memiliki wawasan mengenai teknik pemrograman baru kemudian kita dapat belajar dari sana.

Gunakan komunitas sebagai sarana untuk memperluas relasi dan memperlajari hal-hal baru yang belum pernah kita ketahui sebelumnya.

6. Aktif belajar dan mengembangkan diri

Tips selanjutnya adalah belajar. Pemrograman menuntut programer untuk terus belajar, apa yang kita pelajari saat ini belum tentu masih relevan untuk satu tahun mendatang karena perubahan dan perkembangan teknologi yang sangat pesat. Seorang programmer dituntut untuk mengikuti perkembangan teknik dan teknologi bahasa pemrograman beserta environmentnya.

Selain belajar hal-hal teknis bidang IT, sangat penting juga untuk melakukan pengembangan diri dengan mempelajari hal-hal non teknis atau hal-hal lain di luar bidang IT. Salah satu hal yang perlu dipelajari misalnya tentang public speaking, menurut pengamatan saya sebagian besar programmer memiliki kekurangan yaitu kurang bisa menyampaikan gagasan di hadapan banyak orang. Nah melatih kemampuan public speaking ini akan sangat bermanfaat misalnya ketika harus melakukan presentasi hasil kerja atau untuk menunjang peningkatan karir untuk meningkat ke posisi yang lebih tinggi.

Demikian tips-tips yang dapat saya sampaikan terkait apa saja hal yang sebaiknya dipersiapkan ketika memutuskan untuk menekuni profesi sebagai programmer. Apabila ada pertanyaan silakan tuliskan pertanyaan di kolom komentar ya, terima kasih.

Comments