Leader's Beacon: Mengukur Potensi Diri Programmer, Sebuah Renungan

Keberadaan sebuah startup, atau bisnis teknologi, tidak bisa lepas dari peran Programmer. Ketika nama startup mulai booming setelah munculnya beberapa startup Unicorn, dengan berbagai ke-sexy-an nya. Programmer, atau Software Developer, menjadi profesi yang makin diminati. Banyak orang yang ingin jadi Programmer, atau berpindah haluan menjadi Software Developer.

Everyone in this country should learn how to program because it teaches you how to think” – Steve Jobs.

Quote di atas merupakan quote yang terkenal. Saya pun berpikir demikian. Dan percaya bahwa setiap orang bisa coding. Hanya saja, tentu tidak semua orang harus berprofesi menjadi Programmer.

Programmer, Software Developer, sama dengan profesi yang lainnya, bukan merupakan profesi yang cocok untuk semua orang, bahkan bagi Programmer sekalipun. Karena tuntutan profesi dan pengembangan diri-lah yang kemudian menentukan seseorang cocok dengan profesi tersebut atau tidak.

Maka sebagai seorang Software Developer, menurut saya, penting bagi kita untuk mengukur potensi diri kita. Sehingga membantu kita mengembangkan diri, memikirkan solusi permasalahan yang lebih besar, yang lebih kompleks dan lebih bermanfaat di kemudian hari.

Setidaknya, ada beberapa pertanyaan yang menurut saya bisa membantu untuk mengukur potensi, dan menjadi acuan untuk mengembangkan diri.

Seberapa sering kita berpikir, “ini bukan tugas kita”?

Jika kita memilih profesi menjadi Programmer, hanya agar kita bisa bekerja sendiri dengan tenang dan tidak berinteraksi dengan orang lain, sebaiknya pikiran ini ditinggalkan sejak dini. Karena pada akhirnya, komunikasi dan kolaborasi adalah hal yang sangat penting untuk pengembangan diri.

Meskipun tentu ada batasan tentang role dan responsibility untuk masing-masing profesi, tapi bukan berarti batasan itu adalah mutlak, justru kita perlu untuk mengembangan diri untuk tanggung jawab yang lebih besar, sehingga ketika rasa percaya dari orang lain muncul karena perkembangan kita, batasan-batasan tersebut akan hilang dengan sendiri-nya.

Hal tersebut erat kaitannya, dengan cara berpikir “ini bukan tugas saya” atau “cari aman saja” tadi. Di MTARGET, kita tulis quote besar di dinding. “if you’re too big for a small responsibility, you’re too small for a big responsibility”. Kita percaya bahwa excellent, dan extramild, merupakan sebuah indikator penting yang akan membawa kita kepada level yang lebih tinggi, yang membuat kita bisa menyelesaikan tanggung jawab yang lebih besar.

Seberapa kita terikat pada sebuah tools?

Menurut saya akan lebih baik jika kita tidak membatasi profesi Programmer pada bahasa pemrograman tertentu. Bahasa pemrograman, operating system, software, bahkan hardware adalah tools (alat). Meskipun kita tidak harus menguasai semuanya, tapi pemahaman mengenai tools yang cocok untuk sebuah solusi dan permasalahan, akan menjadi hal yang cukup penting.

Karena setiap tools memiliki kekurangan dan kelebihan masing-masing, ada yang cocok untuk mengatasi persoalan tertentu, dan tidak cocok untuk persoalan yang lain. Bahkan mungkin memang tools tersebut dibuat untuk menyelesaikan masalah yang spesifik. SMTP yang kita gunakan dan kita kenal pada umumnya, mungkin bukan tools yang cocok untuk mengatasi semua pengiriman dan penerimaan email.

Mempelajari tools baru memang tidak mudah, tapi dengan mempelajari tools baru itulah kita bisa melihat beberapa pendekatan dan konsep kenapa ada tools tersebut. Dan ketika kita dihadapkan pada situasi yang memang lebih cocok dengan tools lain, kita juga bisa beradaptasi dengan baik. Karena pada akhirnya, bukan “apa tools-nya” yang penting, tapi siapa dibelakangnya.

Seberapa sering kita (ingin) melakukan sesuatu yang berulang?

Meskipun dalam beberapa hal, kita harus berhenti dan mengulang apa yang kita lakukan untuk mempertajam pemahaman dan penguasaan kita,  sebisa mungkin kita menghindari membuat ulang sesuatu yang sudah kita buat sebelumnya. Karena tugas seorang Developer adalah mengembangkan sesuatu, dan selalu akan ada problem baru untuk dipecahkan. “Reinvent the wheel” mungkin kata-kata yang cocok untuk ini.

Perlu banyak waktu dan resources untuk reinvent. Maka kita perlu wisdom, ketika memutuskan untuk rewrite dengan bahasa pemrograman baru, framework baru, bahkan untuk melakukan refactor karena ada library baru yang update. Meskipun memang diperlukan, perlu diingat bahwa jangan sampai rewrite dan refactor lah yang justru menghabiskan waktu kita.

Seberapa kita memahami akar dari penyebab terjadinya sesuatu (root cause)?

Untuk membuat bangunan yang tinggi, seringkali bukan tentang berapa banyak bata yang bisa dipasang, tapi justru tentang seberapa kuat pondasinya. Hal-hal mendasar yang bersifat konsep, seperti basic operating system, basic I/O, basic network protocol, SMTP, HTTP, TLS, algoritma text and array manipulation, design pattern, cohesion and coupling, big O, bahkan pemahaman mengenai automata dan kalkulus, justru yang nantinya akan kita butuhkan untuk membuat bangunan yang lebih tinggi. Yang sejujurnya tidak semenarik mencoba framework, library, bahasa pemrograman dan tools baru.

Untuk itu, membiasakan diri untuk membaca dan menyelesaikan buku menjadi yang sangat penting, seringkali bahkan jika dibandingkan dengan membaca artikel, atau menonton video tutorial. Karena selain tahu bagaimana menyelesaikan sesuatu, kita bisa mendapat gambaran lebih luas, tentang konsep dibelakangnya.

Seberapa lama kita ingin bertahan?

Experience matters. Berapa jumlah jam yang kita dedikasikan pada profesi ini, untuk menyelesaikan setiap permasalahan yang muncul. Pengalaman akan mengasah intuisi kita dalam menyelesaikan masalah. Inilah yang kemudian akan menentukan bagaimana kita merespon setiap permasalahan, dan seberapa tajam kita melakukan perencanaan dan estimasi.

Seberapa lama kita ingin bertahan, juga ditentukan oleh tujuan kita saat menjalani profesi ini. Tujuan dapat berubah sewaktu waktu, maka seberapa lama kita ingin bertahan pun dapat berubah. Maka, penting bagi kita untuk memiliki tujuan yang selalu lebih besar, tujuan yang selalu lebih baik dari waktu waktu. Karena jika kita melihat pada setiap perlombaan, sebenarnya pemenang bukanlah yang paling kuat dan paling hebat, tapi pemenang adalah yang bisa bertahan sampai akhir. Have a Big Dream and Perseverance.

Mungkin beberapa hal di atas bisa membantu kita untuk mengukur seberapa besar potensi diri kita, mana yang perlu kita perdalam lagi. Mungkin hal ini juga dapat membantu kita saat perlu menentukan team yang berpotensi untuk jangka panjang, dengan memasukkannya pada pertanyaan interview.

Meskipun beberapa teknologi, bahasa pemrograman, dan framework yang digunakan memang keren. Seberapa dalam kita menanamkan pondasi, sebagian besar memang memiliki pengaruh saat kita perlu membuat bangunan yang lebih tinggi.

Berita bagusnya, berbeda dengan pondasi bangunan, pondasi keilmuan dan cara berpikir tidak mengenal terlanjur. Tetap bisa dan perlu dikembangkan terus seiring berjalannya waktu. Pertanyaannya hanya, seberapa besar kita punya mimpi yang sejalan dengan kapal yang kita tumpangi, dan seberapa gigih kita berusaha berkembang. Karna kami ingin, MTARGET menjadi kapal itu. Kapal di mana semua crew bisa berkembang dengan mimpi yang besar.

Amin

Baca Juga

Ingin mengetahui lebih lanjut terkait product research dan cerita leaders lainnya, kunjungi blog kami di sini.