Bagaimana (dan Dimana) Aku Belajar Frontend Development

Suasana ketika aku menjalani proses magang di Stoqo pada bulan Januari 2020, beberapa bulan sebelum pandemi.
Suasana ketika aku menjalani proses magang di Stoqo pada bulan Januari 2020, beberapa bulan sebelum pandemi.

Tulisan ini terinspirasi karena dulu beberapa orang menanyakan kalau aku belajar pemrograman di mana. Aku juga dulu suka bertanya pada beberapa orang di mana mereka belajar hal baru, dan jawabannya cukup beragam.

Cara belajar tiap orang berbeda-beda, tulisan ini ditujukan untuk mereka yang sedang mencari cara belajar yang tepat dan mungkin terinspirasi dari tulisan ini. Dan juga untuk kamu yang ingin tahu, barangkali dapat mempelajari hal baru di sini.

Jadi, bagaimana aku mempelajari pengembangan frontend? Cek di bawah ya.

1. Udemy

Udemy sangat membantuku untuk memulai mempelari teknologi yang dibutuhkan. Karena menurutku, hal yang paling sulit adalah memulai.

Dalam kursus yang bagus di Udemy, kamu akan dipandu langkah demi langkah dari 0, mulai dari menginstal hal-hal yang dibutuhkan seperti text editor, framework, library, runtime, dll. Sehingga kamu tidak perlu bingung lagi, seperti 'Mau belajar React, tapi harus ngapain dulu ya?'.

Setelah diarahkan mengenai apa yang perlu diinstal, kamu akan diajarkan cara membuat atau memulai proyek baru, kemudian menulis baris kode. Biasanya, kita akan dipandu untuk membuat sebuah aplikasi pada setiap bagian kursusnya, sehingga bisa dijadikan portofolio juga.

Aku hampir tidak pernah menyelesaikan kursus Udemy yang aku ikuti, karena di tengah-tengah aku biasanya sudah memahami cara kerja dan prinsip dasar dari materi yang aku pelajari. Oleh karena itu, aku bisa memulai membuat aplikasi sendiri berdasarkan apa yang telah dipelajari.

Sekarang, Udemy juga telah mempermudah pembayaran untuk pembelajar di Indonesia sehingga kamu bisa membeli kursusnya dengan mudah melalui Alfamart, Indomaret, OVO, dan transfer bank. Ketika aku belajar dulu, di Indonesia hanya bisa dibeli melalui kartu kredit/debit. Harganya sekarang juga sudah serendah Rp99.000 (Psst... kalau saat kamu mengakses websitenya harganya di atas ini, tunggu saja sampai turun).

Dan juga, karena kursusnya berbayar, kualitas pengajarannya biasanya lebih baik dibandingkan tempat lain yang gratis.

Untuk instruktur di bidang pengembangan frontend yang aku sendiri rekomendasikan adalah: Stephen Grider, Colt Steele, dan Angela Yu.

2. Frontend Masters & Egghead.io

Kalau di Udemy aku belajar bagaimana memulai sebuah teknologi, disini aku manfaatkan untuk mempelajari hal lain yang kurang trivial seperti performance, accessibility, SEO, state management tingkat lanjut, Web API, dll.

Jika di Udemy, durasi kursus bisa mencapai puluhan jam (bahkan ada yang sampai 60 jam), di FrontendMasters, durasinya jauh lebih singkat, rata-rata hanya beberapa jam (3-5 jam), di Egghead lebih singkat lagi (dibawah 1 jam). Hal ini membuatnya cocok untuk dipelajari pada akhir pekan atau waktu liburan.

Instruktur di FrontendMasters dan Egghead seringkali merupakan tokoh terkemuka dalam dunia teknologi, seperti pengembang dari library atau framework yang mereka ajarkan sendiri atau insinyur perangkat lunak yang bekerja di perusahaan terkemuka di Amerika Serikat.

Sayangnya harga membershipnya cukup mahal, di FrontendMasters untungnya dulu aku dapat Github Student Developer Pack sehingga aku dapat gratis membership selama 1 tahun (buat kalian yang mahasiswa dan belum klaim, segera klaim!). Di Egghead.io kalian bisa menunggu saat ada diskon besar misalnya saat Black Friday.

3. Membuat Proyek

Jangan terjebak dalam tutorial hell yaitu keadaan dimana kamu hanya terus belajar tanpa mengaplikasikannya di dunia nyata. Memang benar, disaat kita selesai mempelajari sesuatu akan ada rasa pencapaian (accomplishment) yang didapatkan sehingga mengakibatkan kita terus mengkonsumsi tutorial saja. Kendala lainnya mungkin saja kita bingung dengan apa proyek yang akan dibuat.

Namun, jika tidak segera diaplikasikan, apa yang telah kita pelajari kemungkinan besar akan terlupakan, sehingga waktu, tenaga, dan uang yang kita habiskan untuk pembelajaran menjadi sia-sia. Segera terapkan ilmu yang telah kita peroleh. Hal ini juga berlaku sebaliknya buatku, tidak usah pelajari dulu hal yang tidak akan segera digunakan.

Aku pernah mempelajari teknologi hanya karena sekadar tertarik saja, misalnya dulu aku pernah belajar Ruby dan Elixir. Namun karena aku belajar itu semata karena tertarik saja bukan karena butuh, aku jadi tidak punya kesempatan mengaplikasikannya sehingga aku sudah lupa apa yang kupelajari dulu. Hal ini sangat kusesali karena aku jadi membuang waktu, tenaga, dan uang.

Dulu aku mencoba membuat game tic tac toe dan game hangman sebagai sarana untuk belajar React. Aku juga menggunakan konsep yang telah aku pelajari untuk menyelesaikan tugas kuliah dan mengembangkan proyek untuk organisasi tempatku bergabung saat masih mahasiswa.

Aku juga mencoba mengambil proyek berbayar selama kuliah, seperti membantu mahasiswa jurusan bisnis membuat aplikasi untuk tugas atau membantu mahasiswa yang mengikuti lomba yang mana mereka memberikan bayaran untuk mengerjakan aplikasi mereka.

4. Mencari Kerja (Magang atau Paruh waktu)

Ok, mungkin saat ini kita sudah sudah bisa mengerjakan proyek sendiri. Namun aku sangat menyarankan untuk mencari pekerjaan yang tipenya bekerja dengan orang lain karena ada hal lain yang tidak didapatkan jika hanya mengerjakan proyek seorang diri misalnya review kode, sharing session, dan belajar hal teknis baru.

Review kode adalah proses ketika kita telah selesai melakukan pengetikan baris kode yang dibuat kemudian membuka pull request di Github, dan meminta developer lain melakukan pengecekan terhadap kode tersebut. Selama proses review kode, kita bisa mendapatkan wawasan dari rekan kerja seperti: penulisan kode yang lebih baik, library yang bisa digunakan, atau barangkali mendeteksi bug dalam baris kode yang kita buat.

Seringkali di lingkungan kerja juga ada sesi sharing ilmu, biasanya dilakukan di akhir minggu selama maksimal 1 jam dan biasanya tentang topik yang berkaitan dengan development di perusahaan tersebut dan dilakukan bergantian, misalnya “Bagaimana mengatasi rerendering di React.js”, suatu hal yang tidak didapatkan jika hanya bekerja sendiri, aku juga pernah melakukan hal seperti itu dulu yang bisa dilihat disini.

Dan selama proses pengerjaan, kemungkinan besar kita bisa memulai mengerjakan hal baru yang belum pernah dipelajari sebelumnya. Misalnya ada kebutuhan membuat animasi dengan menggunakan library “framer-motion”, kita yang belum pernah menggunakan sebelumnya jadi berkesempatan untuk belajar.

 

 

Lebih kurang begitulah prosesku mempelajari hal baru dan membuatnya tetap lekat, tentu saja dulu aku juga pernah menjadi orang yang mencari cara bagaimana metode belajar yang tepat. Dibawah ini kutuliskan juga apa yang telah kucoba lakukan tapi sayangnya tidak cocok (bukan tidak bagus, hanya tidak cocok saja).

Yang sudah kucoba tapi sayangnya tidak cocok buatku

Youtube

Mungkin karena gratis, jadi kontennya banyak yang kualitasnya rendah, atau sudah outdated, sehingga menurutku cukup susah untuk mendapatkan sumber pembelajaran yang bagus.

Codecademy, dsj

Disini kita diberikan instruksi dan sebuah text editor di sisi lainnya untuk kita melakukan instruksi tersebut. Setelah selesai kita akan diberikan instruksi selanjutnya.

Namun, hal tersebut tidak membantuku untuk belajar di real world case karena ini lebih seperti kuis, kadang instruksi tersebut tidak relevan dengan yang sering digunakan, aku lebih prefer pengajaran yang langsung terjun ke sebuah app.

Dicoding, dsj

Di sini, kita diberikan segelintir teks mengenai hal yang kita pelajari, kemudian di akhir diminta mengirimkan submisi seputar hal tersebut.

Ini kurang cocok untukku karena minim visual, sehingga seringkali instruksinya kurang jelas dan kita sulit untuk memastikan apakah pemahaman kita sesuai dengan yang diajarkan. Terutama jika topik yang dipelajari benar-benar baru dan belum pernah kita gunakan sebelumnya.

 

 

Aku rasa cukup sekian untuk pengalamannya, aku harap kalian yang belum menemukan metode belajar yang cocok segera menemukan metode belajar kalian, karena kita sebagai seorang manusia tidak akan pernah berhenti belajar sehingga menemukannya akan membantu kita dalam menjalani hidup.

Dan walaupun judulnya untuk frontend development, sebenarnya aku belajar hal lain lebih kurang seperti ini pula.

Terakhir, semoga tulisannya membantu.