Sedikit intermezo, dulu saya belajar bahasa pemrograman Java saat saya kuliah di tahun 2013 hingga tahun 2014. Pembahasannya waktu itu adalah dasar-dasar pemrograman Java dan Java Desktop.

Kalau jaman sekarang sepertinya Java Desktop sudah jarang terlihat dan didominasi oleh framework seperti ElectronJS, Flutter, atau Tauri Apps.

Di dunia pemrograman mobile, bahasa pemrograman Java sudah digeser oleh Kotlin. Menurut saya, Java tinggal tersisa posisinya untuk platform web, networks dan utilities lainnya.

Mungkin alasan saya ingin mencoba belajar Java programming lagi karena ingin belajar struktur proyek Keycloak, sebuah platform untuk melakukan SSO berbasis OpenID Connect dan SAML2.

Kalau saya amati, struktur proyek Keycloak ini menggunakan teknologi Java web seperti Spring, Maven dan Jakarta EE. Dengan modal pengetahuan seadanya karena sudah lama tidak pernah ngulik Java dari tahun 2017, saya mencoba mengkompilasi proyek tersebut dan mengunduh dependensinya cukup lama hingga bisa running.

Saat ini, saya sudah mengulang belajar Java programming dengan mengikuti kanal Programmer Zaman Now mulai dari Java Dasar hingga Java Todolist. Namun, saat ingin belajar Java lebih lanjut timbul keraguan dalam pikiran saya, antara lain:

Apakah bahasa pemrograman ini benar-benar saya butuhkan untuk keperluan saya sehari-hari dan pekerjaan saya sekarang?

Jika saya ingin berkontribusi di proyek berbasis Java seperti Keycloak (yang saat ini digunakan di pekerjaan saya), apakah saya harus belajar Java dan harus melakukan pull request? Apakah ada jalan lain untuk berkontribusi seperti membuat isu atau berdiskusi di forum jika kesulitan?

Kedua hal ini membuat saya berpikir ulang tentang esensi belajar sesuatu dan kenapa kita belajar sesuatu itu dan apakah benar-benar dipakai dalam kehidupan sehari-hari dan pekerjaan kita?