Hal yang Perlu Diketahui Sebelum Masuk Dunia Software Development

Kuliah mengenai software development (sistem komputer, teknik informatika, ilmu konputer dll) selama 4-5 tahun dan kemudian lulus, menyandang gelar sarjana teknik (ST) ataupun sarjana komputer (S.Kom). Hal berikutnya yang dilakukan para sarjana baru ini adalah berbondong-bondong melamar kerja di perusahaan IT.

Mengembangkan software di sebuah organisasi yang berorientasi pada profit jelas berbeda jika dibandingkan dengan cara mengembangkan software yang selama ini dilakukan di kampus baik itu untuk tugas, ngoprek atau pun sebagai final project.

Berdasarkan pengalaman saya, hal-hal di bawah ini wajib hukumnya untuk diketahui fresh graduate yang akan memasuki dunia profesional pengembangan perangkat lunak karena anehnya justru hal-hal di bawah ini tidak diajarkan di perkuliahan.

Version Control System

Entah kenapa, di kampus diajarkan nulis kode program (walaupun yaa gitu-gitu doang) tetapi tidak diajarkan bagaimana mengelola kode yang sudah kita tulis menggunakan Version Control System (VCS). Padahal di dunia profesional VCS wajib hukumnya digunakan untuk mengelola source code. Minimal seorang programmer harus mengerti bagaimana melakukan clone, pull, commit, push, checkout, create branch,merge branch dan yang lumayan mengerikan adalah resolve conflict.

Coba pelajari tentang tools yang bernama Git. Dari sekian banyak vcs yang ada Git adalah yang paling banyak digunakan. Mempelajarinya adalah sebuah kewajiban.

Proyek Warisan

Saat jaman kuliah kita akan memulai ngoding dari nol, memulai sesuatunya dari “File -> New Project”. Di dunia nyata realita yang ada tidak seperti itu. Seorang programmer seringnya bekerja pada sebuah software yang sudah ada (kode warisan), tugasnya adalah melakukan fix terhadap bug yang muncul atau bisa juga menambahkan fitur baru pada kode yang sudah ada tersebut. Tak ketinggalan juga refactoring jika memang diperlukan.

Kesulitan yang dihadapi bisa berlipat-lipat karena kita belum familiar dengan flow yang sudah ada. Belum lagi jika pattern yang digunakan itu lumayan kompleks yang memerlukan waktu bagi kita untuk menelusuri kode yang ada sampai akhirnya paham “ooh begini toh polanya”.

Jadi, siap-siap ya 😉

Debugging

Ini juga skill wajib yang harus dimiliki, berkaitan dengan poin nomor 2 di atas. Programmer harus bisa melakukan debugging menggunakan debugger yang disediakan oleh IDE atau tools yang lain untuk mencari dimana kesalahan terjadi sehingga timbul bug dan bisa juga untuk mengetahui alur dari kode program terlebih kalau kode yang ada adalah hasil ngoding dari pendahulu alias kode warisan.

Debugging yang paling sederhana adalah dengan mencetak variabel yang ingin kita inspeksi ke dalam console menggunakan fungsi bawaan masing-masing bahasa misalnya puts kalau di Ruby dan echo untuk PHP. Paling minimal banget lho itu.

Kemampuan Menulis

Di kantor nanti yang kita lakukan itu tidak melulu nulis kode program tapi juga nulis yang lain misal dokumen desain, dokumen tes, tiket bug dan nulis pesan commit. Kalau kemampuan menulismu (menulis dengan jelas apa yang dimaksudkan) amburadul maka tulisanmu akan susah dimengerti yang akhirnya membuat susah dirimu sendiri.

Sering kan nemu di forum ada kalimat pertanyaan yang gak jelas apa maksudnya dan penyampaiannya yang buruk? 🙂 🙂 🙂

Percaya gak?, di tempat saya, kita nulis dengan tidak menggunakan EYD akan ada banyak yang mengoreksi kita hahaha. Misalnya itu “di ganti”, yang benar adalah “diganti”.

Know Your Tools

Akan efisien kerja kita kalau kita kenal tools yang digunakan sehari-hari dengan benar. Benar yang dimaksud ya mengetahui berbagai macam teknik untuk membuat kerja jadi lebih efisien seperti misalnya penggunaan shortcut dan lain-lain.

Misalnya tentang trik menggunakan console yang saya tulis di Tips Bekerja di Rails Console dengan Lebih Efisien.

Salah satu alasan soal efisiensi inilah yang membuat saya akhirnya belajar menggunakan vim. Vim itu teks editor yang membuat kita tidak perlu menggunakan mouse dan tombol arah sebagai media melakukan navigasi.

Kalau mau belajar vim ayo bareng saya. Saya sedang nulis bukunya. Bisa dicek di Vim untuk Semua.

Fokus

Teknologi baru banyak berdatangan. Sebagai orang yang diciptakan suka ngoprek pasti akan penasaran setengah mati mencoba yang baru dan seger-seger itu.

Tidak ada yang salah dengan mencoba yang baru karena tidak jarang memang akan memberikan pengetahuan baru. Tapiii, kalau kita sendiri tidak fokus pada satu secara mendalam ya berarti kita bukan master di salah satunya dong. Bisa banyak tapi sedikit-sedikit alias cuma tahu permukaan.

Mengenai ini saya menuliskannya di artikel Jangan Terus-Terusan Hanya Belajar Bahasa atau Framework.

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

3 thoughts on “Hal yang Perlu Diketahui Sebelum Masuk Dunia Software Development

Leave a Reply

Your email address will not be published. Required fields are marked *