Bagaimana Rasa Penasaran Seorang Frontend Developer Berubah Menjadi Rasa Nyaman Saat Bekerja di Codex?

Cita Nurani Lestari
codexstories | CODEX Telkom
7 min readApr 3, 2019

--

Frontend Developer Codex, Ibnu Toriq (Kiri)

Setelah sebelumnya kami bercerita tentang salah seorang backend developer di Codex, pada artikel ini kami akan mengupas tuntas kisah seorang frontend developer yang penasaran dengan proses pengembangan aplikasi yang dilakukan oleh Telkom sebagai perusahaan BUMN yang notabene dikenal kaku dan tidak agile.

Sepertinya memang sudah menjadi rahasia umum ya kalau perusahaan BUMN itu kaku!

Sulit rasanya membayangkan sebuah perusahaan yang berada di bawah kuasa pemerintah untuk menerapkan metode agile dalam proses bisnisnya. Mengapa demikian? Seperti ada jarak yang cukup jauh antara kondisi yang ada sekarang dengan kondisi yang ditawarkan oleh metode ini. Seperti yang kita ketahui bahwa budaya yang terbentuk di perusahaan BUMN secara umum mengikuti budaya kerja pemerintah (yang merupakan pemegang saham terbanyak perusahaan), yakni feodal, birokratis, dan cenderung safety player.

Akan tetapi kondisi tersebut tentu tidak harus terus dibudidayakan kan ya? Telkom, sebagai perusahaan BUMN yang bisnisnya sangat berkaitan erat dengan teknologi, tentu harus bisa beradaptasi dengan perubahan teknologi yang sangat cepat. Salah satu usaha yang dapat diakukan perusahaan saat ini adalah dengan mengubah cara kerja, khususnya untuk pekerjaan pengembangan aplikasi, baik aplikasi untuk external maupun internal customer.

Seperti yang telah disebutkan sebelumnya, memang tidak mudah bagi perusahaan untuk berubah, namun bukan berarti tidak bisa.

Tentu banyak pihak yang merasa pesimis dengan usaha Telkom ini, akan tetapi tidak sedikit juga pihak-pihak yang optimis atas proses adaptasi yang sedang dilakukan oleh perusahaan.

Salah satu pihak yang optimis tersebut ternyata muncul dari luar perusahaan. Dia adalah seorang talent yang baru bergabung dengan Telkom selama empat bulan. Itulah mengapa ia kemudian memilih untuk bergabung dengan Codex.

Untuk lebih detailnya, berikut ini adalah hasil wawancara kami dengan Ibnu Toriq, frontend developer (FE) Codex, mengenai pandangannya terhadap ikhtiar Telkom dalam mengimplementasikan Scrum, salah satu metode yang mengedepankan prinsip kerja Agile.

Apa yang kamu kerjakan sebelum bergabung dengan Codex?

Kegiatan saya sebelum bergabung dengan Codex adalah kuliah, sambil bekerja pada salah satu perusahaan startup yang bergerak di bidang HR Tech. Saya juga pernah bekerja di perusahaan konsultan software, di mana pada perusahaan tersebut saya mengerjakan proyek dari luar negeri sebagai backend developer (BE).

Mengapa kamu tertarik untuk bergabung dengan Codex?

Saya mendapat informasi tentang Codex dari sebuah situs startup terkenal. Saat itu, saya membaca sebuah artikel yang berisi tentang info lowongan pekerjaan di beberapa perusahaan dan salah satunya adalah informasi lowongan dari Telkom yang membutuhkan FE. Namun saat itu saya malah bertanya-tanya dan penasaran:

“Hal apa yang akan mereka buat dan apakah benar job posting ini dari Telkom?”

Sementara itu, ada hal lain lagi yang membuat saya lebih heran dan terkejut, bahwa Telkom sangat mengedepankan proses di mana semuanya harus sesuai dengan metode dan aturan pada Scrum.

Setahu saya, perusahaan BUMN itu kaku dan tidak Agile. Atas dasar itu saya kemudian ingin membuktikan bahwa hal tersebut tidak benar dengan mendaftarkan diri pada lowongan tersebut.

Saat ini, proyek apa yang sedang kamu kerjakan di Codex dan peran apa yang kamu ambil dalam proyek tersebut?

Saat ini saya termasuk dari bagian squad Talent Management System (TMS), yang di dalamnya mengembangkan fitur Assessment Tools. Dan pada proyek ini peran saya sebagai FE.

Bagaimana sih awal mula kamu tertarik dengan dunia programming?

Pertama kali saya tertarik dengan programming saat menjadi Asisten Dosen ketika kuliah. Waktu itu, pekerjaan sebagai programmer belum populer seperti sekarang ini. Untuk menjustifikasi ketertarikan tersebut terhadap nasib saya di masa depan, maka saya mencari tahu hal menarik apa saja yang bisa dilakukan jika menjadi seorang programmer.

Apa yang saya dapatkan itu sering saya bagikan ke mahasiswa agar mereka lebih semangat belajarnya. Lama kelamaan, saya semakin tertarik dan akhirnya memutuskan untuk menjadi Ruby on Rails Developer setelah lulus. Dan saya bersyukur karena keluarga mendukung penuh terhadap pilihan saya ini.

Apa sih yang membuat kamu tertarik pada dunia programming dan bagaimana kamu improve pengetahuan tentang programming?

Saya tertarik dengan dunia programming karena menurut pengamatan saya, di saat seperti ini dengan menguasai kemampuan programming maka kita sudah dapat membuat dampak besar yang secara langsung dirasakan oleh orang lain.

Saya banyak mendapatkan knowledge terkait programming dari proyek-proyek yang saya kerjakan ketika bekerja di perusahaan startup. Selain itu, saya juga memperdalam ilmu programming dengan mengikuti programming course melalui internet.

Di awal cerita kamu menyebutkan pengalaman sebagai backend developer, namun dalam proyek ini kamu memilih menjadi frontend, kenapa memutuskan untuk berpindah haluan?

Iya nih, awalnya memang saya tertarik dengan peran BE. Namun dalam perjalanannya saya melihat ada hal yang lebih menarik lagi pada peran FE, terutama ketika sedang booming-nya ReactJS oleh Facebook. Berdasarkan hal itu saya tertarik untuk mempelajari framework tersebut, dan berlanjut sampai saat ini.

Dalam perjalanannya saya merasa lebih tertarik dengan FE karena ketika membuat coding saya bisa mendesain user interface dan aksi fungsional yang di-set dapat langsung ketahuan hasilnya. Saya juga merasa di FE ini lebih menantang dan lebih rumit karena lebih banyak yang harus ditangani, seperti side effects, load time, accessibility, dan lainnya.

Stack apa saja yang kalian pakai dalam proyek TMS dan bagaimana proses pengambilan keputusan oleh tim atas pemilihan stack tersebut?

Kami (Saya dan tim) mendapat ide dari hasil riset kemudian dipelajari, ditambah dengan pengalaman yang kami miliki. Setelah itu kami melakukan proses diskusi dan memutuskan secara demokratis bersama seluruh tim dalam squad TMS sebelum sprint dimulai.

Berdasarkan hasil diskusi tersebut kami memutuskan untuk menggunakan beberapa stack berikut:

  • Bahasa → Javascript
  • Framework/Library → ReactJS, Redux, GraphQL
  • Web Server → NodeJS
  • CI Server → Jenkins
  • Code analysis → Sonarqube
  • Container Platform → Docker with Kubernetes
  • Operating System → MacOS (untuk keperluan local development)

Dalam perkembangannya saat ini, bagaimana hasilnya? Apakah pilihan stack tersebut dirasa masih tepat?

Menurut saya, stack pilihan kami masih sangat tepat sampai saat ini.

Mengapa? karena ketika itu kami memilihnya melalui riset dan sampai pada kesimpulan bahwa stack-stack tersebut sudah mature dan sangat mendukung kerangka kerja Scrum. Secara pribadi, saya juga memiliki motivasi untuk mempelajari hal baru, sehingga apapun bottleneck yang akan muncul di kemudian hari, tentu akan menjadi pemicu semangat saya bersama tim untuk menemukan solusinya.

Apa yang dimaksud mature di sini? Kemudian, stack seperti apa yang tidak mendukung metode Scrum?

Menurut saya, stack yang tidak mendukung metode Scrum adalah yang sistem dokumentasinya tidak bagus, serta susah digunakan untuk kolaborasi. Tapi untuk hal ini, sebagian besar teknologi yang kita gunakan sudah sangat mendukung Scrum. Misalnya saja, backend menggunakan database MongoDB yang notabene adalah NoSQL, sehingga untuk prototyping sangat mudah terutama ketika menangani Sprint yang backlog-nya sangat dinamis.

Selanjutnya adalah GraphQL, yang sangat disukai oleh developer backend dan frontend. Dengan menggunakan GraphQL, keduanya tidak perlu sering meminta API baru setiap ada kebutuhan data di sebuah fitur sehingga yang dibutuhkan hanya berkreasi dengan query yang disediakan backend, lalu selesai deh. Dengan begitu, tugas backend sedikit lebih mudah dan lebih banyak waktu untuk melakukan tweak di performansi dan tes.

Untuk frontend, kami menggunakan ReactJS dan hal itu juga sangat menyenangkan serta memudahkan dalam kolaborasi, terutama dalam sharing component. Dengan begitu, kami tidak perlu membuat komponen baru terlalu sering sehingga berdampak pada lebih cepatnya proses pengembangan antar muka dan memudahkan kami untuk menerima perubahan yang ada di setiap Sprint.

Tantangan apa saja yang kamu dan tim hadapi ketika menggunakan stack tersebut?

Untuk tantangan, hmmm, selama ini kami menemukan bahwa banyak API baru yang belum dipelajari dari stack yang kami gunakan. Tidak hanya itu, kami juga menemukan ada beberapa library pendukung yang melakukan update dan ternyata terdapat breaking changes yang mengakibatkan kesalahan di code.

Photo by Patrick Tomasso on Unsplash

Kemudian, bagaimana cara kamu menyelesaikan tantangan tersebut?

Saya dan tim berpikir bahwa kami tidak boleh berhenti untuk terus belajar. Kami selalu menjaga motivasi tim untuk mempelajari segala hal terkait stack yang kami pakai di sela-sela mengerjakan proyek.

Cara belajar kami melalui berbagi informasi di grup, mendatangi acara-acara meetup atau workshop yang membahas teknologi stack, dan juga membuat unit test untuk mencegah kesalahan dan over engineering.

Apa yang membuat kamu nyaman dan terus semangat untuk menyelesaikan proyek ini?

Secara pribadi saya merasa sangat nyaman dan senang karena tim menjalankan proses Scrum sesuai dengan tahapan-tahapan dan teori yang ada. Kondisi tersebut berdampak pada peningkatan rasa kepemilikan terhadap produk/aplikasi yang sedang kami kembangkan. Di samping itu, saya juga yakin bahwa proyek yang sedang dikerjakan ini akan sangat berguna bagi banyak orang.

Dan yang lebih penting adalah saya berada di lingkungan yang sangat terbuka dengan ilmu-ilmu baru tentang engineering.

Bagaimana pendapat kamu tentang lingkungan kerja Codex yang notabene berada di lingkungan perusahaan BUMN yang terkenal kaku dan tidak agile?

Sampai dengan saat ini, saya sangat nyaman berada di lingkungan kerja Codex dan sejauh ini Codex selalu menyenangkan untuk saya. Sementara itu untuk kondisi kerja yang agile, memang belum sampai pada kondisi ideal sih, untuk beberapa hal masih perlu improvement. Akan tetapi bagi saya ini adalah sebuah terobosan yang akan mendobrak cara kerja konvensional yang sudah lama menjadi trademark BUMN.

Terakhir, apa sih yang membuat kamu nyaman bekerja di Codex?

Ada beberapa alasan, antara lain working experience terkait dengan implementasi Scrum. Saya merasa di Codex ini nilai-nilai yang menjadi ciri khas Scrum dijalankan, seperti openness, continuous improvement, komitmen, serta saling menghargai.

Sebagai tambahan, di sini juga banyak mentor yang bisa kami ajak untuk berdiskusi dan berbagi ilmu. Bagi saya, mentor adalah seseorang yang harus siap untuk berbagi ilmu dan pengalaman, memberikan respon yang konstruktif agar kemampuan tim terus berkembang, serta memiliki kepekaan untuk membaca kekurangan tim. Dan ternyata, selama empat bulan di sini saya menemukan mentor terbaik saya, yaitu seluruh anggota tim pada squad saya yang banyak memberikan pelajaran, mulai dari cara berdiskusi yang saling membangun, ketelitian dari seorang quality assurance, dan juga kegiatan rutin sharing session.

Memang benar ya, peribahasa yang berbunyi tak kenal maka tak sayang. Jika belum mengenal secara dekat maka hanya timbul curiga dan khawatir. Begitu kira-kira bentuk kiasan yang dapat digambarkan mengenai pengalaman dari Ibnu Toriq yang telah kami ceritakan pada artikel ini.

Next, nantikan cerita menarik lainnya dari Codex ya!

--

--