Software World

Oke, sudah cukup lama tidak menulis, semenjak ke jakarta dan Alhamdulillah diberi rezeki untuk bekerja sebagai Software Engineer di Bukalapak.com. Saya ingin sedikit berbagi pengalaman yang mungkin belum seberapa.

Jujur saja, semasa kuliah di USU dulu, saya merasa cukup ‘jago’ dalam hal pemrograman, mengingat pengalaman dalam pembuatan beberapa projek lepas software dari beberapa client yang sampai saat ini dipakai, sampai pengalaman membantu temen-temen ngerjain program skripsi dengan algoritma yang cukup ‘Njelimet’. Well, bukan untuk sombong, tapi saya fikir semasa kuliah, kemampuan programming saya cukup baik.

Dan hai, hari pertama masuk kerja, saya merasa seperti sedang berada di dunia lain. Teknologi apa yang mereka gunakan? mengapa source code ini begitu kompleks? oh my.. Saya merasa seperti orang ndeso yang biasanya cuma jago nanem padi, tiba-tiba berada di tengah-tengah kota metropolitan dan diminta untuk… coding? what is it????

Oke, semua asumsi bahwa saya cukup mumpuni dalam hal dunia pemrograman sirna dalam sekejap, ya, saya tidak tahu apa-apa mengenai ‘Real world’ software development yang dipakai oleh jutaan orang setiap harinya, Begitu banyak optimalisasi yang dilakukan, validasi yang tidak boleh terlewat, optimalisasi dan efisiensi kode, semua harus diperhitungkan, every little bits count. Dan disini juga saya semakin melihat sintaks-sintaks yang elegan, dimana.. well.. kalau boleh jujur, beberapa dari ‘Anak IT’ yang seusia saya di kampus, masih belum terbiasa hanya untuk memberikan indentasi yang baik di dalam code program.

Dunia pemrograman yang asli sangat jauh berbeda dengan apa yang pernah saya hadapi semasa kuliah, ini jauh lebih kompleks, perlu effort yang lebih untuk akhirnya dapat beradaptasi dengan teknologi yang ada, Alhamdulillah meskipun dengan sedikit terseok-seok, saya mulai dapat beradaptasi dalam satu minggu pertama, menyelesaikan beberapa problem, dan semakin memahami flow kerja software yang kompleks itu pada minggu kedua.

Yang ingin saya sampaikan adalah, jangan merasa puas hanya karena anda cukup ‘Terbiasa’ dalam melakukan sesuatu, begitu banyak standar yang diinginkan di luar sana, yang masih jauh melebihi kemampuan anda sekarang. Biasakan diri anda untuk terus meningkatkan kemampuan di setiap hari, push urself everyday, to be better and better.

Beberapa hal yang dapat anda lakukan dalam meningkatkan skill anda:

  • Sering-sering lah mengerjakan soal-soal pemrograman, anda dapat mendaftar ke online judge seperti Hackerrank, Urionlinejudge, dll yang manapun anda suka
  • Belajar hal baru setiap hari
  • Praktek! satu-satunya cara untuk belajar pemrograman adalah dengan menulis dan mempelajari kode program.
  • Buat software, baik desktop based ataupun web based, buatlah software secara cuma-cuma, rancang dari awal sampai jadi, agar anda bisa dapet ‘Taste’ dari software development yang sesungguhnya.
  • Prove your skill! Ini hal yang cukup saya sesali, karena semasa kuliah saya cenderung ‘tidak tertarik’ (atau tidak punya tim?) untuk mengikuti lomba-lomba semacam Gemastik, dll -andai waktu dapat terulang, haha-
  • Fokus! Jika anda memang ingin menjadi ‘Orang IT’, Programmer, Software Engineer, System Analist, atau bahkan CTO, maka anda harus fokus untuk terus belajar dan memahami segala hal yang berhubungan dengan perangkat lunak mulai dari programming, algoritma, dsb. Dude, in this era, we, the ‘IT Person’ have an important role in society.

That’s it. Have a nice day.