Table of contents
Disclaimer
Di artikel ini, saya lebih fokus membahas dari sisi pengalaman saya sebagai frontend engineer ya. Tidak menutup kemungkinan developer yang menggunakan bahasa pemrograman atau framework lain juga mengalami hal yang serupa, tetapi setidaknya ini bisa menjadi referensi.
Pendahuluan
Capek banget ya ngikutin perkembangan teknologi frontend. Baru belajar bentar, eh ada update baru, syntax baru, fitur baru pula. Hadeeehhh.
Tenang, anda tidak sendirian. Saya pun pernah dan mungkin sedang mengalami ini juga sih. Ketika saya pertama kali belajar frontend engineering untuk pertama kali, rasanya antusias sekali. Saat itu saya sedang semangat-semangatnya belajar Angular, Vue, dan React dalam satu waktu. Tapi semua berubah ketika negara api menyerang, wkwk. Kerasa gak sih, makin hari, perkembangan dunia frontend semakin masif? Contohnya, baru-baru ini Next.js sudah rilis versi 12.0 dengan fitur-fitur barunya yang menggugah selera.
Kembali flasback sedikit saat masih awal sekali saya belajar Angular, yang mana saat itu Angular 6 masih cukup hype dan powerful (bagi saya). Kemudian muncul framework baru seperti Vue dan React, dan itu mengubah segalanya.
Weh, udah coba Vue belum? Lu coba React deh, asik tuh bisa ngoding HTML di JS. Hah masih pake Angular? Jadul banget lu.
Tentu pernyataan-pernyataan tadi hanya sebagian kecil dari yang saya temui di kenyataan sehari-hari. Rupanya saya tidak sendirian, banyak juga ya yang mengalami Frontend Fatigue ini.
Apa sih tanda-tanda kalau kita bisa jadi mengalami Frontend Fatigue? Nah mengutip dari post Linkedin Tri Hargianto, kurang lebih ada 4 hal yang menjadi indikasi seseorang mengalami Frontend Fatigue.
Merasa Cemas Kurang Update dan Skill Tidak Relevan
Nah, saya pernah merasakan ini. Tahun lalu ketika saya bekerja sebagai frontend engineer pertama kali, saya masih menggunakan Ionic dan Angular. Saya mulai gelisah ketika bertemu dengan teman-teman kuliah yang juga merupakan frontend engineer di tempat lain, mereka kebetulan menggunakan framework dan tools terbaru di kantor mereka masing-masing.
Yang paling membuat gelisah adalah saat kami bertemu dan saling membicarakan hal-hal teknis dalam dunia _frontend development. Saya kenal seorang teman yang sudah ahli dalam React Development. Ia sangat mahir dan mengetahui setiap fitur-fitur yang ada di React, bahkan cara kerjanya pun dia paham. Sampai-sampai, update terbaru dari React 18 yang nanti akan rilis dia paham seluk beluknya. Sungguh mencengangkan bagi saya yang masih bertahan di framework merah ini wkwk.
Kekhawatiran saya bertambah ketika sedang iseng mencari lowongan pekerjaan baru sebagai Frontend Engineer. Kebanyakan kantor sudah menuntut karyawannya untuk bisa develop aplikasi dengan React dan Redux yang sekarang ini sedang booming. Sebagai Angular Developer, tentunya saya harus belajar ulang mengenai React dan library-library pendukungnya seperti Redux, karena saya belum pernah menggunakannya.
Merasa Kesulitan Jadi Expert Karena Perubahan yang Cepat
Pernahkah anda ketika baru saja belajar suatu framework, tak lama kemudian muncul versi barunya yang terdapat syntax atau fitur baru? Tentunya menyebalkan ya, karena kadang-kadang hal itu membuat kita harus belajar ulang deh.
Masih ingat saat awal-awal React masih menggunakan class component? Semua tutorial dan para pemula di luar sana berbondong-bondong belajar React dengan class component. Semua berubah ketika Hooks tiba. Sekarang, developer bisa membuat logic yang sama hanya dengan functional component. Lihatlah sekarang, hampir semua tutorial mengenai React sudah menggunakan Hooks dan functional component. Yang sebelumnya terbiasa menggunakan class component pun terpaksa harus belajar ulang mengenai Hooks dan _functional component.
Terbayang kan? Ini baru contoh dari salah satu framework. Kita tidak bisa prediksi ke depan akan seperti apa. Bisa jadi, nanti ada framework baru lagi yang lebih powerful dan membuat banyak perusahaan migrate ke framework tersebut. Otomatis, kita sebagai developer pun "terpaksa" harus up to date.
Kewalahan Karena Harus Menguasai Banyak Hal
Sekarang ini, hanya mempelajari framework-nya saja tidaklah cukup. Pasti kita sering menemui di mana kita butuh library tambahan untuk menunjang project kita.
Ketika saya pertama kali belajar React, saya tidak bisa hanya belajar React saja. Saya harus belajar third party library lainnya seperti Redux, Chakra UI (UI Component) dan React Router (React tidak punya router bawaan seperti Angular, sehingga perlu install router). Terkadang, ini membuat saya lelah dan nyaris burnout karena harus belajar banyak hal dalam satu waktu sekaligus.
Bingung Memilih Tools atau Framework
Nah setelah membaca tulisan-tulisan di atas tadi, pastinya ketika menentukan framework atau tools apa yang akan dipakai dalam suatu project menjadi lebih kompleks dari yang dipikirkan. Terlalu banyak opsi di luar sana, membuat developer terutama pemula menjadi bingung mau pakai yang mana.
Bagaimana Cara Mengatasinya?
Menurut Tri Hargianto, setiap framework atau tools mengklaim bahwa merekalah yang terbaik. Faktanya, tidak ada tools yang terbaik. Yang terpenting justru adalah solusi yang tepat untuk masalah yang tepat.
Sangat bagus apabila masih terus update dengan perkembangan yang ada. Tapi jangan sampai terlalu tenggelam di dalamnya, sampai-sampai kewalahan sendiri. Jika sampai membuat penasaran sekali, cukup baca atau lihat artikel tentangnya. Jika ingin menggunakannya untuk project kalian, mungkin hal-hal ini bisa menjadi pertimbangan.
Apa Tujuan Tools Ini?
Sebelum install, pastikan ketahui dulu tujuan kenapa harus pakai tools tersebut. Adalah lebih baik kalau ternyata bisa membuat logic sendiri daripada install third party library yang membutuhkan resource tambahan (tergantung scope project masing-masing).
Ya tergantung lingkup project-nya. Pertimbangkan baik-baik apakah benar kamu membutuhkan library ini? Atau jangan-jangan, malah sebenarnya bisa buat logic sendiri karena scope-nya kecil.
Perlu diingat, setiap library tentunya memerlukan resource. Tentunya, jika terlalu banyak tools yang diinstall, itu akan memperngaruhi performa dari aplikasi yang dibuat.
Apakah Itu Cocok untuk Masalah yang Dihadapi?
Selanjutnya, pastikan tools yang digunakan bisa membantu menyelesaikan masalah yang sedang dihadapi. Kembali ke dasar, semua tergantung scope dari project yang dikembangkan.
Kalau ternyata library yang digunakan bisa meningkatkan produktifitas, silahkan lanjutkan. Tetapi apabila malah membuat masalah baru, sebaiknya pikir ulang.
Siapa yang Membuat? Siapa yang Pakai?
Nah, dengan mengetahui pencipta di balik sebuah framework atau library, tentunya ini bisa meningkatkan kepercayaan penggunanya. Sesekali risetlah siapa yang menciptakan tools tersebut? Apa latar belakangnya? Kenapa dia sampai membuat tools tersebut?
Jangan lupa juga, kita perlu mengetahui segment user dari tools yang kita pakai. Dengan ini setidaknya akan membantu kita mencari forum terkait ketika kita menghadapi issue terkait tools yang dipakai.
Apakah Itu Cukup Populer dan Memiliki Komunitas Pendukung?
Semakin banyak pengguna dari sebuah framework atau library, komunitasnya pun pasti akan berkembang pesat.
Contohnya React. Kenapa React populer sekarang ini? Karena sudah banyak sekali developer di luar sana yang menggunakan React untuk mengembangkan aplikasi mereka. Ketika menghadapi issue terkait fitur React, mereka mendiskusikan dan saling berbagi bagaimana cara mereka mengatasinya di forum seperti Stackoverflow. Tak jarang juga, sampai-sampai mereka membuat Pull Request ke Repository React sendiri untuk memperbaiki issue yang ada.
Apa efeknya? Tentunya akan memudahkan kita ketika kita menghadapi issue di React, akan sangat mudah menemukan solusinya di forum karena banyak yang pakai dan berdiskusi di sana.
Terlebih lagi, pastikan tools yang digunakan cukup stabil dalam waktu yang panjang. Jangan sampai salah pilih tools yang terlalu outdated atau tools baru yang masih banyak bug.
Penutup
Nah dari tulisan tadi, Tri Hargianto menyimpulkan bahwa:
Tindakan bijak untuk menangani Fronend Fatigue adalah berhenti terlalu memikirkan semua hal baru yang muncul dan cukup mempelajari yang memang betul-betul menarik perhatianmu atau yang diperlukan di pekerjaanmu.
Intinya, semasif apa perkembangan teknologi frontend ini, yang terpenting adalah sesuaikan dengan kebutuhanmu, jangan asal ikut trend.
Sedikit lagi tambahan dari saya, yaitu perkuat fundamental. Contohnya, ketika seseorang sudah menguasai dasar-dasar CSS dengan baik, akan sangat mudah baginya untuk menggunakan tools seperti Bootstrap atau Chakra UI. Dan ketika ia berpindah ke tools lain pun, ia tidak merasa kesulitan.
Berbeda dengan yang langsung belajar Bootstrap tanpa belajar dasar-dasar CSS terlebih dahulu. Ketika ia ingin berpindah ke tools lain seperti Chakra UI misalnya, ia malah kelimpungan sendiri dengan syntax dan konsep yang ada.
Jika penguasaan fundamental sudah solid, akan sangat mudah untuk beralih dari satu tool ke tool yang lain. Tak hanya itu, apabila ia perlu melakukan custom entah dari sisi styling atau logic, itu tidak akan menjadi momen yang menyeramkan.
Nah itulah pengalaman saya terkait Frontend Fatigue ini. Gimana? Ada yang relate? Bisa diskusi di Diskusi.tech ini ya. Semoga menginspirasi walaupun tulisan saya ini masih amatiran, hahaha.
Reference: Tri Hargianto Linkedin Post