DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Arus perkembangan teknologi semakin mengalir deras, apa yang bisa kita lakukan agar tetap menjadi relevan?
Daftar Isi:
Sebagai seorang pemrogram, salah satu hal yang paling menyenangkan dan sekaligus menantang adalah mengikuti perkembangan teknologi yang sangat cepat. Hampir setiap tahun, selalu muncul inovasi baru dalam dunia pemrograman, mulai dari framework, bahasa pemrograman, runtime, teknologi semikonduktor, metoda dan teknik, dan yang paling mutakhir saat ini adalah kecerdasan buatan (AI).
Baca juga tips belajar coding untuk pemula
Salah satu contoh teknologi terbaru adalah bun, sebuah JavaScript runtime baru yang mengklaim sebagai yang tercepat dibandingkan dengan node.js dan deno.js. Contoh selanjutnya adalah pemanfaatan kecerdasan buatan, antara lain untuk code generation assistant (GitHub Copilot salah satunya), pembuatan gambar digital (midjourney misalnya), dan yang relatif baru adalah transformasi gambar prototipe menjadi perangkat lunak (tldraw, flutterflow).
Pesatnya perkembangan ini memang menantang, tapi di sisi yang lain, bisa menimbulkan kelelahan atau fatigue dan jika tidak dikelola dengan baik bisa berujung pada burnout.
Lalu bagaimana caranya mengikuti perkembangan teknologi dengan lebih sehat? Kita bisa memulai dengan beberapa pola pikir sederhana yang bisa membantu untuk membatasi kita agar tidak terjebak ke dalam lingkaran hype dan buzzword.
Perubahan adalah keniscayaan dan kita harus bijak dalam menanggapinya. Dengan semakin besarnya kapasitas komputasi yang tersedia, pengembang perangkat lunak lebih bebas mengeksplorasi ide dan gagasan untuk memecahkan sebuah masalah, yang berujung pada sebuah teknologi/teknik/framework baru yang lebih baik dari sebelumnya.
Di sisi yang lain, kita harus paham jika teknologi adalah alat untuk memecahkan sebuah masalah, bukan sebaliknya.
Ketika mempelajari teknologi baru, hal pertama yang perlu kita tahu adalah masalah apa yang dipecahkan sehingga bisa tepat guna dan tepat sasaran dalam aplikasinya nanti.
Implementasi teknologi di sebuah organisasi itu sangat kontekstual. Kontekstual dalam hal ini adalah kondisi organisasi pada saat itu, dimana faktor-faktor pengambilan keputusan bisa sangat beragam, mulai dari yang teknis sampai yang non teknis: kemampuan tim, jumlah tim, jumlah anggaran, preferensi pengambil keputusan, dan lain-lain.
Jadi, yang perlu kita rumuskan terlebih dahulu adalah masalah apa yang ingin dipecahkan bukan teknologi apa yang sepertinya menarik untuk diimplementasi.
Jika kita berangkat dari teknologi yang ingin digunakan, besar kemungkinan implementasinya tidak bisa berjalan dengan baik atau bahkan berhenti di tengah jalan.
Teknologi adalah hasil iterasi yang dilakukan secara terus-menerus. Banyak teknologi baru yang sebenarnya melakukan hal yang sama dengan apa yang sudah ada tetapi dengan pembaruan di beberapa sisi atau komponen agar lebih efisien, namun kebanyakan hal-hal yang fundamental sebagai komponen dasarnya tidak akan banyak berubah.
Sebuah web framework, misalnya, biasanya terdiri atas controllers, routers, template renderer, dan http server. Jika kita tahu cara kerja masing-masing komponen tersebut, kita dapat membuat model mental yang akan sangat membantu dalam mempelajari teknologi baru yang serupa dengan lebih mudah. Belajar tentang hal-hal fundamental adalah kunci.
Kadang, untuk belajar ulang (relearn) kita perlu untuk belajar menghapus apa yang sudah kita pelajari (unlearn) terlebih dahulu. Tanpa proses penghapusan itu, kita bisa terperangkap ke dalam bias untuk memasukkan pengetahuan baru ke dalam model mental yang ada saat ini. Tidak ada yang salah dengan proses itu dan kita pun sering melakukannya, namun kita kehilangan kesempatan untuk berlatih menghadapi masa depan yang membutuhkan satu set model mental yang baru.
Proses belajar, menghapus pembelajaran, dan belajar kembali melatih kita untuk bisa bertahan dan beradaptasi di dunia yang dinamis dan berkembang. Dalam siklus pembelajaran tersebut, proses untuk menghapus apa yang sudah kita pelajari adalah yang paling susah penerapannya, karena secara umum kita tidak dibekali kemampuan itu di pendidikan formal yang ada.
Dr Margie Warrell dalam artikelnya di forbes.com mengemukakan beberapa pendekatan untuk membantu meninggalkan pembelajaran yang sudah kita punyai:
Proses di atas sangat berguna bagi kita pemrogram yang sedang belajar sebuah teknologi dengan paradigma yang berbeda dari apa yang kita sudah kuasai saat ini. Misalnya pemrograman fungsional dimana cara pandang terhadap masalah akan sangat berdeda dengan pemrograman prosedural yang imperatif. Proses belajarnya mungkin akan lebih mudah jika kita mulai dari gelas kosong daripada berisi.
Kita tidak perlu menjadi ahli di banyak hal, kita hanya perlu mendalami beberapa kemampuan teknis dengan kedalaman yang cukup dan satu-dua hal yang kita pilih untuk diperdalam sampai kita benar-benar menguasainya. Selebihnya, kita bisa menjadi generalis yang cukup tahu sekilas saja.
Di kalangan praktisi, model ini dikenal dengan sebutan V-Shaped. Misalnya, seorang pemrogram ahli dalam pembuatan sebuah sistem dengan bahasa pemrograman dan sistem basis data tertentu sampai dengan cara deployment-nya. Selain itu dia juga bisa menerapkan managemen infrastruktur di penyedia layanan cloud, dia faham dan bisa membuat alur rekayasa data (data engineering) agar data dari sistem yang sudah dibangun bisa dianalisa lebih lanjut dengan alat yang tersedia.
Sebagai tambahan, dia tahu secara garis besar tentang container scheduler, analisis data, dan pemanfaatan kecerdasan buatan dan konsep dasarnya.
Dalam model V-Shaped ini, salah satu hal yang ditekankan adalah kita harus tetap mengembangkan kemampuan dan pengetahuan agar semakin dalam dan lebar seiring waktu berjalan. Hal ini bisa dilakukan dengan berbagai cara, misalnya mengikuti kursus online, berlangganan newsletter teknologi, membaca buku atau bergabung dengan komunitas online.
Kredit gambar: Jeroen Kraaijenbrink
Dalam proses belajar teknologi baru, kita sering merasa bingung dan “hilang arah”. Kalau diibaratkan sebuah kapal, kita perlu sebuah metode untuk membantu mengemudikan kapal agar bisa sampai ke tujuan dan tidak tersesat atau terseret arus. Kita butuh sebuah radar yang bisa digunakan untuk memetakan lautan agar bisa sampai ke daratan. Toughworks, sebuah konsultan teknologi terkemuka, membuat sebuah metode yang disebut sebagai radar teknologi (technology radar) spesifik untuk kebutuhan itu — mengidentifikasi dan mengevaluasi teknologi yang penting menurut kita.
Radar teknologi terdiri dari dua komponen utama yaitu kuadran dan lapisan lingkaran. Kuadran menunjukkan kategori dari hal yang dievaluasi, apakah itu teknik, peralatan atau perangkat, platform, atau terkait bahasa dan framework. Lapisan lingkaran layaknya pada radar sesungguhnya yaitu menandakan mana yang terdekat dengan kita, dalam hal ini yang terdalam adalah yang terdekat untuk diadopsi. Ada empat lapis lingkaran yaitu:
Teknologi radar ini adalah metode yang bisa kita sesuaikan dengan kebutuhan kita baik untuk perorangan maupun organisasi.
Misalnya kita hendak mengevaluasi sebuah pustaka pengembangan web, sebut saja htmx. Pertama kita masukkan ke dalam kuadran Language and Frameworks di lingkaran assess. Pada proses ini kita membaca dokumentasi yang tersedia lalu catat pros dan cons-nya dan timbang apakah dia memenuhi kebutuhan atau tidak. Jika tidak, kita bisa masukkan ke hold.
Jika ternyata memang ada prospek untuk kita pakai, proses selanjutnya adalah mencoba teknologi itu (trial) di aplikasi yang sederhana serperti aplikasi todo list atau versi sederhana dari sistem yang akan kita buat nanti. Kita perlu catat bagaimana proses penggunaannya termasuk semua tantangan dalam proses implementasinya, developer experience-nya, dan juga keunggulannya dibangingkan yang lain. Dari proses ini kita akan punya gambaran apakah htmx ini bisa kita adopsi atau kita masukkan ke hold karena, misalnya, developer experience dan komunitasnya masih kurang.
Dengan mendokumentasikan tiap prosesnya, kita akan mempunyai wawasan yang bisa menghindarkan kita dari hype-driven-development yang belum tentu sesuai dengan kebutuhan.
Kita akan terus dihadapkan dengan perkembangan teknologi yang makin deras dan kunci untuk mengarunginya adalah adaptabilitas dan bijak dalam penggunaanya. Untuk menjadi bijak, kita butuh pengetahuan, dan tak jarang kita perlu untuk menghapus atau meninggalkan apa yang sudah kita pelajari agar kita bisa belajar ulang untuk mendapatkan pemahaman yang lebih baik.
Menjadi pembelajar seumur hidup adalah esensi untuk tetap bisa bertahan dan relevan di belantara kebaruan teknologi.
Hi, saya Nauval, seorang programmer yang senang belajar hal-hal baru. Sekarang saya sedang belajar bagaimana menulis hal-hal teknis dengan lebih baik