Brief by evilfactorylabs

Brief by evilfactorylabs • Untuk obrolan makan siangmu seputar dunia pemrograman. Terbit sebelum jam 13.37 WIB setiap hari Senin & Selasa.

2020 sudah datang: What's next?

Give me some choice!

2020 sudah datang sejak 13 hari yang lalu.

Sebagian orang sudah membuat "resolusi", "bucket lists" atau apapun itu tentang apa yang ingin mereka kerjakan atau pelajari baik seputar teknologi maupun hal lainnya.

Dan sebagian orang, tentu saja, ada yang masih belum memiliki rencana.

Bekerja di industri IT sangat menantang, sebagian ada yang pergerakkan lumayan cepat.

Bahkan sangat cepat.

Pasarnya pun begitu ramai, meskipun masalah skill gap masih menjadi lingkaran setan antara perusahaan dan manusianya itu sendiri.

Di penghujung akhir tahun, biasanya terjadi bursa transfer besar-besaran. Untuk kamu yang pindah ke kantor baru, mendapat pekerjaan baru, yang baru terjun ke industri, pasti kamu sudah mengetahui apa yang harus kamu lakukan & apa yang akan berurusan denganmu nanti.

Untuk yang belum merasakan kondisi diatas, izinkan saya untuk membantu kamu. Pada tulisan ini, kita akan membahas dari yang paling sempit sampai ke yang meluas.

Dan untuk beberapa posisi.

Pertimbangan disini diambil dari beberapa survey, yang akan saya sebut nanti.

Sekarang, mari kita mulai dari berdasarkan posisi.

By position

Disini kita akan fokus ke 2 posisi:

  • Backend Developer
  • Frontend Developer

Silahkan ganti kata Developer menjadi Engineer kalau kamu kurang suka dengan kata tersebut.

Mengapa hanya 4 posisi diatas? Karena pasar sekarang sedang ramai disitu. Posisi lain seperti DevOps, Sysadmin, Desktop App Developer, dsb masih lumayan 'langka' dibutuhkan oleh perusahaan karena alasan culture, ketersediaan pasar, dan prioritas perusahaan.

Disini kita enggak akan membahas position by level seperti entry/junior, senior, associate, blablabla dsb melainkan lebih ke umum. So, here we go.

Backend Developer

Setuju atau tidak, mayoritas di Indonesia masih didominasi oleh PHP. Dan ini dapat dipahami.

Karena permintaan pasar untuk PHP Developer lumayan banyak (dan setuju tidak setuju) sesuai dengan prinsip ekonomi supply-demand: Harga ditentukan dari permintaan & penawaran.

Kembali ke pembahasan, selain PHP, bahasa program lain (untuk keperluan backend) yang populer di Indonesia adalah Go, Ruby, Node.js, dan Python.

Ada lebih dari 20 perusahaan yang menggunakan Go di Indonesia berdasarkan GoUsers Wiki.

Begitupula dengan Ruby, ada lebih dari 20 perusahaan juga yang menggunakannya.

Belum ada data yang pasti untuk pengguna Node.js di Indonesia, harusnya rata-rata menggunakan itu meskipun hanya sebatas tooling atau pembantu workflow di frontend.

Untuk Python pun masih belum mendapatkan data untuk daftar perusahaan yang menggunakan Python di Indonesia, namun berdasarkan halaman lowongan di situs Python ID, ada lebih dari 20 juga yang menggunakan Python.

Nilai tadi diambil menggunakan cara:

document.querySelectorAll('.entry-title').length

Baik, 4 bahasa program diatas dipilih berdasarkan kebutuhan pasar. Agar tidak terlalu bingung ingin memilih yang mana, mari kita ambil data dari hasil survey.

Berdasarkan survey StackOverflow (2019), untuk kategori bahasa program yang disukai:

Python berada di urutan atas, dilanjutkan dengan Go, JavaScript, lalu Ruby. Kategori ini artinya developers yang menggunakan itu, kemungkinan akan menggunakannya lagi daripada ganti ke bahasa program lain.

Sekarang, kita ke kategori yang bahasa program yang diinginkan/diminati:

Python masih berada di urutan paling atas, dilanjutkan oleh JavaScript, Go, lalu Ruby.

Maksud di kategori ini adalah meskipun developers belum menggunakan itu, tapi mereka tertarik untuk mempelajari itu.

Pertimbangan terakhir, kita lihat ke survey yang dilakukan JetBrains tentang The State of Developer Ecosystem (2019) di bagian Key Takeaways:

Python masuk ke kategori "yang paling banyak dipelajari", Go ke kategori "yang paling menjanjikan), dan JavaScript ke "yang paling banyak digunakan".

Sebagai rekap:

  • Permintaan & Penawaran untuk bahasa program Python berbanding lurus.
  • Permintaan untuk Go lebih sedikit daripada Penawarannya bila dibandingkan dengan Python. Bila dibandingkan dengan yang lain, Go paling menjanjikan.
  • Ruby memiliki umpan balik yang kurang se-antusias bahasa lain

Perlu digaris bawahi, survey diatas dilakukan kepada audience global bukan spesifik untuk developers yang ada di Indonesia. Jika disesuaikan dengan pasar yang ada di Indonesia:

  • Python relatif digunakan untuk hal-hal yang berkaitan dengan Data yang mana tidak sebanyak penggunaannya untuk keperluan web services/backend.
  • Ruby & Go yang paling menjanjikan jika melihat kondisi bahwa beberapa perusahaan/startup besar menggunakan 2 bahasa program itu untuk mentenagai backend nya.
  • Penggunaan Node.js untuk backend tidak sebanyak 2 bahasa program diatas, tapi menjanjikan.

Sekarang, mari kita lihat ke yang menarik: Gaji.

Masih mengambil data dari StackOverflow—yang harusnya sedikit relevan untuk disesuaikan di Indonesia—berikut hasil survey nya (berdasarkan Global, bukan spesifik US):

Go berada di urutan atas ($80k/yr) dilanjutkan oleh Ruby ($75k/yr), Python ($63k/yr), lalu JavaScript ($56k/yr).

Mungkin bila di Indonesia-kan, sekitar:

  • Go > 20jt/mo
  • Ruby > 16jt/mo
  • Python > 16jt/mo
  • JavaScript > 14jt/mo

Yang pastinya tergantung dengan perusahaan tempat kamu kerja & level pengalaman yang kamu punya. Untuk skala perusahaan yang lebih kecil, intinya biasanya berada dikisaran < 10jt untuk ehm 4 bahasa program diatas.

Setelah ke bagian yang paling menarik, kita ke bagian yang fun: Komunitas. Data ini diambil berdasarkan jumlah anggota di Telegram grup dan Meetup, karena rata-rata "komunitas IT" yang ada di Indonesia aktif di 2 platform tersebut:

Data diatas diambil pada 12 Januari 2020, dan hanya mengambil dari komunitas yang bukan spesifik regional ataupun framework/library.

Kesimpulan:

  • Yang baru terjun/belajar didunia pemrograman, bisa memilih ke Python
  • Yang hidupnya suka tantangan, bisa memilih JavaScript
  • Yang memilih gaji, bisa memilih Go
  • Jika masih bingung, bisa memilih Ruby

Hal-hal yang dipertimbangkan dari kesimpulan diatas adalah:

  • Learning path
  • Pengalaman penggunaan (Most loved & Most wanted)
  • Ekosistem (Pasar & Komunitas)

Perlu diingat, perusahaan biasanya lebih melihat ke business value dari suatu bahasa program, daripada hanya sekedar "pengalaman penggunaan", so take your step wisely.

Frontend Developer

Posisi ini spesifiknya adalah "Frontend Web Developer".

Banyak yang sudah sadar bahwa "Good Design is Good Business". Ya, ada nilai bisnis dari sebuah 'rancangan' yang dilihat oleh pengguna akhir.

Perusahaan pun mulai ber-investasi dari yang sebelumnya hanya mementingkan kebergunaan, menjadi ke tampilan yang nyaman digunakan namun tetap indah dilihat.

Meskipun ada sedikit 'masalah' seputar krisis identitas yang terjadi untuk posisi ini (UI Developer vs JavaScript Developer), di Indonesia, masalah tersebut mungkin akan naik di lain waktu, so don't worry.

Pada dasarnya, frontend hanyalah tentang sebuah dokumen web. Sebuah paduan dari HTML (tentang menampilkan informasi), CSS (tentang mem-per-indah informasi), dan JavaScript (tentang membuat informasi lebih interaktif).

Namun, frontend berurusan dengan pengguna secara langsung. Dan seperti yang kita tau, pengguna adalah entitas yang kompleks.

Serta, beragam. Sangat beragam.

Baik keberagaman dalam penggunaan peramban, kondisi jaringan, dan kapabilitas perangkat yang digunakan.

Dan karena fondasi utama sebuah halaman web hanya ada 3, "peperangan" yang terjadi pada posisi ini berada di level framework/library, bukan di bahasa program itu sendiri.

Seperti yang sudah, kita akan ambil berdasarkan survey dan berdasarkan hal-hal yang sudah dibahas di posisi sebelumnya.

Berdasarkan Most Loved (Frontend) Web Frameworks di StackOverflow, React.js berada di urutan paling atas dilanjutkan dengan Vue.js, Angular, dan ehm jQuery.

Sekarang, kita ambil untuk yang Most Wanted nya:

Tidak ada perbedaan secara posisi dengan kategori sebelumnya.

Berdasarkan survey oleh JetBrains pun sama:

Namun dilanjutkan dengan Polymer, Backbone, Meteor, dan Ember. Beruntungnya, ekosistem "JavaScript" sangat "kaya", kita ambil beberapa kategori lagi berdasarkan The State of JavaScript (2019).

Berdasarkan "Most Loved":

Berdasarkan "Most Wanted":

Dari situ kita bisa lihat perbedaan bahwa ada pemain baru bernama Svelte di tahun 2019 ini. Kondisi "peperangan" masih antara React dan Vue, dilanjutkan oleh Preact, Angular, dan Ember yang santai-santai saja.

Sebagai rekap:

  • Permintaan Vue.js berbanding lurus dengan Penawarannya
  • Penawaran React.js menurun dari tahun 2018 sedangkan permintaannya masih berada di posisi atas
  • Svelte menjadi framework yang paling menjanjikan untuk dipelajari
  • Pasar jQuery, Angular, dan Ember tidak seramai 3 framework diatas

Sekarang kita coba sesuaikan dengan pasar di Indonesia:

  • React.js & Vue.js masih menjadi dominan. Namun React.js lebih banyak
  • Svelte menjadi framework yang paling menjanjikan
  • Masih ada pasar untuk jQuery & Angular meskipun kurang ramai

Perusahaan "besar" yang menggunakan React.js antara lain Tokopedia, Traveloka, Tiket, dll dan untuk Vue.js sendiri antara lain Bukalapak, Blibli, Dana, dll.

Untuk Svelte, yang baru diketahui adalah Tokopedia.

Dan untuk masalah gaji, relatif sama. Sekitar 3-15jt untuk posisi Frontend Developer yang sekali lagi, tergantung level pengalaman & perusahaan tempat bekerja.

Sekarang mari kita lihat ke komunitas:

Komunitas React terlihat lebih 'kaya' dari yang lain.

Kesimpulan:

  • Yang baru terjun/belajar didunia "Modern JavaScript", bisa memilih ke React.js
  • Yang hidupnya suka tantangan, bisa memilih Svelte
  • Jika masih bingung, bisa memilih Vue.js

Hal-hal yang dipertimbangkan dari kesimpulan diatas adalah:

  • Learning path
  • Pengalaman penggunaan (Most loved & Most wanted)
  • Ekosistem (Pasar & Komunitas)

Pertimbangan lainnya, sama seperti yang sudah disebut sebelumnya.

Penutup

Saya menyimpulkan ada 3 tipe seorang pekerja khususnya di industri IT:

  • Bekerja hanya karena gaji (ehm, the mediocre)
  • Bekerja karena passion & impact
  • Bekerja karena ingin belajar

Tipe pertama gak usah dibahas lah ya 🤞

Tipe kedua adalah orang-orang yang lebih melihat ke misi & dimana dia bekerja.

Tipe ketiga adalah orang-orang yang lebih ingin mendapatkan pengalaman.

Dan ya, 2 poin diatas faktor gaji juga berperan. Pastinya.

Poin diatas sengaja disebutkan sebagai bahan pertimbangan bila kamu bukan tipe yang pertama tersebut.

Rata-rata komunitas IT "berbuat sesuatu" berdasarkan untuk kepentingan komunitas, meskipun ada maksud lain yang sudah menjadi rahasia umum.

Yang intinya, kamu bisa mempertimbangkan daripada hanya dari faktor uang terkait apa yang ingin dipelajari selanjutnya.

Karena pada dasarnya, yang paling penting adalah "hasil yang dibuat", bukan "dibuat pakai apa" nya. Ya, "dibuat pakai apa" juga berperan dalam konteks ini—prinsip I/O, bukan?—namun bukankah hampir setiap bahasa program & framework/library memiliki kekurangan & kelebihannya masing-masing?

Ada satu hal yang seringkali terabaikan: Sisi manusia dari teknologi.

Karena teknologi hadir, pada dasarnya untuk mempermudah pekerjaan manusia. Dan seperti yang kita tau, manusia adalah makhluk sosial. Jangan sampai teknologi menghilangkan sisi manusia itu sendiri.

Ya, berkomunitas adalah salah satu bentuk kegiatan bersosial.

Satu lagi, jangan mau hanya sebagai penunggu.

Cobalah memulai.

Jika sudah memulai/sudah ada yang memulai namun sepi, cobalah membuatnya menjadi ramai dan lebih menarik.

Yang intinya, harusnya kamu sudah dapat poinnya.

Jika tidak, saya gagal menjadi seorang pencerita.

Terima kasih;

Menikmati tulisan ini?

Blog ini tidak menampilkan iklan, yang berarti blog ini didanai oleh pembaca seperti kamu. Gabung bersama Loading... yang telah membantu blog ini agar terus bisa mencakup tulisan yang lebih berkualitas dan bermanfaat!

Pendukung

Dukung Mengapa saya harus mendukung?
You've successfully subscribed to Brief by evilfactorylabs
Great! Next, complete checkout for full access to Brief by evilfactorylabs
Welcome back! You've successfully signed in
Success! Your account is fully activated, you now have access to all content.