Saya tidak akan menjelaskan detail tentang pekerjaan saya sekarang ini. Singkatnya saya bekerja selama ini berkaitan dengan perangkat lunak, membangun dari awal, menulis kode, try end error dan berinteraksi dengan berbagai macam manusia.Tapi, selama ini saya sudah memutuskan untuk bekerja yang berkaitan dengan apa yang disebut dengan bahasa pemrograman.

Selama ini saya melihat banyak orang bertanya sepanjang karir saya tentang apa saja yang perlu dipersiapkan untuk menjadi seorang developer software, berapa lama dan bahasa pemrograman apa yang harus dipelajari terlebih dahulu dan sebagainya.

Sulit bagi saya menjawab semua itu, tapi saya dapat membagikan pengalaman saya sendiri. Dan mungkin bisa menjawab semua pertanyaan tersebut.

Di sebagian orang ketika mendengar developer software pasti pekerjaannya hanya berkaitan dengan bahasa pemrograman, editor software, IDE dan pemecahan kode, intinya developer software itu harus memiliki kemampuan kode yang baik. Mungkin saja itu salah satu penunjang lancarnya seorang developer bekerja.

Tapi, bagaimana jika keterampilan coding bukan segalanya ? dan menguasai pemrograman itu hanya setengah dari kategori baik seorang developer ?

Jelas sekali, ketika kamu menjadi seorang developers tapi kamu tidak mengetahui tentang cara membuat kode program maka tidak bisa dikatakan seorang developers software, karena salah satu tugas developers adalah menulis kode program.

Tapi, saya merasa akhir-akhir ini di tempat saya mempelajari bahasa pemrograman telah banyak aspek non-komputer yang telah diabaikan dan tidak diajarkan. Karena saya mempelajari selama ini bahwa ada begitu banyak hal tentang menjadi seorang developer professional yang sama sekali tidak ada hubungannya dengan coding dan semua itu bisa menjadikan kita seorang developer professional dan baik.

Professional adalah siapapun yang tau bagaimana menjadi salah satu dari bagian tim(bukan hanya seorang pahlawan yang melakukannya sendiri).

Dibawah ini beberapa pelajaran yang saya kumpulkan selama ini.Tapi, saya yakin masih lebih banyak dari ini yang bisa kamu pelajari untuk bisa menjadi developers professional yang bisa kamu pelajari dari developers senior lainnya.

Menulis Kode Yang Bersih Dan Mudah Dimengerti Developers Lain

Poin ini tentang coding. Ya, coding bagian penunjang untuk menjadi developers yang baik dan professional.

Intinya, kode yang baik itu pertama kodenya berfungsi dengan baik, bisa dimengerti oleh pengembang yang lain (ketika suatu saat kamu tidak ngoding lagi dan diganti oleh orang lain, karena tidak bisa kita bekerja terus menerus ada masa pensiun pastinya) dan bisa mudah di refactoring tanpa membuat developers baru pusing karena kodenya susah di mengerti.

Kode berkomunikasi dengan komputer dan developers yang baik tentunya bisa membuat kode juga bisa berkomunikasi dengan manusia. Seringkali saya mendapatkan kode dari developers lain dan sedikit yang bisa saya mengerti begitupun sebaliknya.

Kadang saya harus minta bantuan developers lain dan tidak sedikit juga yang kurang mengerti dari kode yang saya tulis.

Hal itu bisa kamu atasi dengan memberikan komentar dan dokumentasi disetiap kode yang kamu tulis karena itu bisa membantu kamu ketika kamu memerlukan kode lama dan itu sangat penting untuk developer mengetahui fungsi dari kode yang kamu tulis.

Berusaha Mempelajari Perkembangan Terkini

Kita semua tau perkembangan selalu begitu cepat dan itu membuat kita tertinggal dan hal ini pernah saya tulis ditulisan terpisah yaitu tentang Loh, ada teknologi baru lagi ? kamu bisa membaca disana sedikit curhatan saya. Sebagai seorang developers harus selalu berusaha mengikuti perkembangan terkini karena hal ini bisa menunjang kamu menjadi developers yang baik dan professional.

Tidak masalah kamu ahli di keterampilan coding yang digunakan di tempat kamu bekerja saat ini tapi mempelajari hal baru mengikuti perkembangan sangat menunjang pekerjaan kamu.

Karena, kemungkinan bahwa masalah apapun, solusinya mungkin sesuatu yang belum kamu ketahui. Karena hal yang kamu tidak tau, hanyalah sesuatu yang dapat dipelajari bagaimana melakukannya dan menambahkannya ke daftar tool yang kamu gunakan untuk bekerja.

Penting untuk selalu berusaha mempelajari hal baru dengan cepat (bukan berarti tidak memiliki waktu, tetap memiliki waktu sesuai kemampuan masing-masing). Karena semakin kita cepat mengambil dan mempelajari sesuatu, maka semakin banyak waktu kita untuk mempelajari hal baru yang lainnya. Dan, keterampilan coding adalah keterampilan yang bisa dipelajari.

Terus berusaha mengikuti tren didunia developer yang industri nya selalu berubah. Jangan ragu untuk bekerja sama dan belajar.

Mampu Menjelaskan Hal Teknis Tentang Aplikasi Yang Dibuat Kepada Orang Non-teknis

Terkadang, lingkungan tempat kita bekerja atau rekan kerja kita tidak semuanya tau tentang teknologi/bahasa pemrograman tapi kita perlu untuk melaporkan progress dan lainnya kepada orang non teknis ini.

Sepengalaman saya, hal ini memang bikin gemes, terlebih ketika rekan kerja kita yang non-teknis sangat ingin tau apa yang kita kerjakan dan ketika tidak bisa membuat mengerti maka mungkin saja dia tidak akan mengerti apa pekerjaan kita sebagai developer dan akhirnya melihat kita tidak punya kerjaan.

Jadi, dengan kamu mampu berbicara dengan orang lain dan tau caranya berbicara kepada mereka dan dengan kosa kata yang mudah dimengerti oleh mereka, maka kamu akan menjadi pemain yang hebat di tempat kerja kamu.

Misalnya saja kamu dihadapkan dimana rekan kerja/atasan kamu yang non-teknis meminta kamu untuk menambahkan beberapa fitur yang dimana permintaan ini tidak di analisis dengan baik hanya karena “ingin” saja menambahkan fitur tersebut, maka apa yang kamu kata kan jika tidak setuju ? dan bagaimana memberi masukan kepada orang yang non teknis tersebut ? apakah kamu akan berkata “Tidak, fitur itu tidak berguna !” atau kamu akan berkata dengan baik tanpa menghina ide orang non teknis tersebut sambil diberi masukan yang masuk akal di pikiran non teknis tersebut ? karena terkadang keputusan dari hasil pekerjaan kita tidak jarang ditangan mereka yang “awam”, nah disini kemampuan berkomunikasi dengan baik bagi seorang developer.

Jangan Membawa Ego Kamu Ketika Bekerja

Ketika mencapai target 100% keberhasilan nyaris tidak mungkin sesempurna itu. Tapi, setidaknya kita dapat mencoba untuk tidak didorong oleh ego sendiri ketika project berhasil. Maksudnya seperti apa ? maksudnya ketika project/pekerjaan berhasil dilakukan sesuai yang direncanakan maka kita tidak hanya membuat diri sendiri lebih berjasa dari project yang berhasil tersebut. Artinya buatlah keberhasilan itu menjadi nilai lebih bukan hanya untuk kamu tapi untuk tim, project dan perusahaan kamu. Jadi, jangan sampai mengatakan “ini hasil kerja keras ku !” tapi katakan “Ini hasil kerja keras bersama dan atas kehendak-Nya juga hal ini bisa berhasil”.

Kenapa harus seperti itu ? karena ketika kamu menginjak orang lain agat kamu bisa mencapai apa yang diinginkan untuk diri sendiri, itu artinya kamu sedang membuat jembatan yang kamu pijak terbakar. Dan kamu akan berada di tengah jembatan itu ketika jembatan tersebut runtuh.

Jangan Ragu Untuk Membantu Orang Lain

Ketika ada rekan kerja kamu memerlukan bantuan mu, cobalah bantu dengan cara yang akan membuat mereka mengatasinya ketika menemukan masalah yang sama. Tidak hanya membantu sampai selesai, jangan lupa kamu juga harus bisa memberikan pemahaman yang mendasar tentang bagaimana masalah tersebut diperbaiki. Kakek saya sering bilang, yang lebih baik itu bukan memberikan uangnya untuk mengatasi rasa lapar tapi mengajarkan mereka untuk memancing makanan agar bisa dimakan dan menghilangkan lapar.

Saya rasa poin-poin diatas itu tidak hanya untuk orang yang bekerja sebagai developer software saja. Tapi, untuk semua pekerjaan apapun.