Slide 1

Slide 1 text

Menjadi Pemrogram JavaScript Kiat-kiat menjadi pemrogram JavaScript bagi para pemula Irfan Maulana Principal Eng @ Web Platform

Slide 2

Slide 2 text

Kenalan... Irfan Maulana, bekerja sebagai Principal Engineer untuk tim Web Platform di Tokopedia. Pernah bekerja juga di Bizzy, Blibli.com, SML Tech sebagai pemrogram. Kalian bisa temukan saya di dunia maya:

Slide 3

Slide 3 text

Saya dan Komputer Sekolah di kampung (pemalang) sampai tingkat SMK. Kuliah Teknik Informatika di UMJ pada 2009-2013. Pertama memiliki komputer (netbook) sendiri pada 2011-an. Sampai saat ini cuma sanggup mengetik dengan 4 jari. Baca lebih lanjut di https://mazipan.space/cerita-anak-kampung-menjadi-programmer/

Slide 4

Slide 4 text

Saya, pemrograman dan JavaScript Di awal, saya menjadi pemrogram Java (tanpa Script). Mulai mengenal JavaScript sekitar tahun 2014-an lewat ExtJS. Menghadiri banyak kopi darat komunitas pemrogram JavaScript sejak 2015-an. Baca lebih lanjut di https://mazipan.space/saya-dan-komunitas-programming/

Slide 5

Slide 5 text

Membahas JavaScript

Slide 6

Slide 6 text

Ketahui sejarahnya yuk Dibuat oleh Brendan Eich pada 1995. Namanya berubah dari Mocha (versi development) ➡ LiveScript ➡ JavaScript. Pada 1997 di ECMA menetapkan standar yang menjadi acuan pengembangan JavaScript yakni EcmaScript, saat ini sudah mencapai ES11 atau lebih dikenal ES2020 Baca mengenai Brendan Eich lebih lanjut di https://en.wikipedia.org/wiki/Brendan_Eich

Slide 7

Slide 7 text

Jadi apa sih JavaScript? Bahasa pemrograman dinamis dengan first-class-function. Terkenal menjadi bahasa scripting untuk web browser. Namun beberapa lingkungan non-web juga menggunakan JS, seperti Node.js, CouchDB, Adobe Acrobat. JavaScript menggunakan prototype-based, single-thread, multi-paradigm.

Slide 8

Slide 8 text

Bisa bikin apa dengan JS Mobile Apps Backend Web FE Desktop Apps IoT and/or Hardware CLI Many more AR/VR

Slide 9

Slide 9 text

Apa JS cocok untuk pemula? Yes No Gampang mulainya Artikel & kursus banyak Bisa bikin berbagai macam Komunitas aktif Banyak alat pendukung Terlalu banyak pilihan Banyak standard baru dari komunitas Tidak dapat terhindarkan Lowongan kerja cukup Tergolong cepat dipelajari Terlalu rapid dipelajari Terlalu pesat perkembang- annya 1 bahasa untuk rule all of them, membingungkan Fondasi bahasa kurang baik Utopia menjadi full-stack Tidak diajarkan di kampus

Slide 10

Slide 10 text

Memulai JavaScript Itu Mudah Developer Tools Online Editor

Slide 11

Slide 11 text

Module System

Slide 12

Slide 12 text

Use next-gen JS, today!

Slide 13

Slide 13 text

Belajar dasar: JS sebagai browser script ● Bisa langsung mulai dari DevTools ● Memahami bagaimana cara memanipulasi DOM ● Meminta data ke server kemudian mengolahnya, butuh pengetahuan struktur data yang baik ● Mesti belajar soal browser API, contoh: fetch data, copy ke clipboard, sharing ke sosial media, simpan data ke browser cache, dll

Slide 14

Slide 14 text

Belajar dasar: JS sebagai backend ● Perlu tau mengenai File system API ● Hampir selalu berhubungan dengan Rest API, jadi harus belajar HTTP ● Database Management ● Caching System ● Otentikasi dan Otorisasi ● Monitoring server: belajar linux command

Slide 15

Slide 15 text

Baca dokumentasi dulu? Apa praktek? Cara Belajar Cari yang nyaman Cobain saja keduanya Baca dokumentasi dulu, baru praktek Langsung aja praktek, kalau kena error, baca dokumentasi Langsung aja praktek, kalau kena error, langsung pusing

Slide 16

Slide 16 text

Sempatkan baca ya https://eloquentjavascript.net/ https://javascript.info/ https://developer.mozilla.org/id/docs/Web/JavaScript https://addyosmani.com/resources/essentialjsdesignpatterns/book/

Slide 17

Slide 17 text

Saya sudah bisa JS, lalu apa? JS itu keren, bisa bikin banyak hal. Tetapi koding kan cuma bagian kecil dari keseluruhan pengembangan aplikasi. Ada banyak hal lain yang tidak kalah penting, mulai dari bagaimana menulis dokumentasi, mengirimkan software, keamanan software, pengetesan software, memasarkan software dan lainnya.

Slide 18

Slide 18 text

Yang baiknya FE Dev juga tahu ● Tooling: build tool, transpiler, docker, web server ● Design Pattern & Anti Pattern ● Monitoring tools ● Basic Security: OWASP Top 10 Security Risks, The Twelve-Factor App

Slide 19

Slide 19 text

Seni memperbaiki error ● Pelajari cara trace-back untuk mencari sumber error ● Pelajari cara mencari error di Google atau StackOverflow ● Bertanya dengan detail permasalahan, langkah untuk mendapatkan error tersebut, apa yang sudah dikerjakan, lingkungan yang digunakan, hasil yang didapat dan ekspektasi hasilnya.

Slide 20

Slide 20 text

Tips belajar JS dari saya ● Fokus saja, tidak perlu mendengarkan ocehan orang lain. ● Sebaiknya atur jadwal belajar secara teratur dan konsisten ikuti jadwalnya. ● Cari teman belajar, kalau bisa punya mentor yang mendampingi. ● Bikin sesuatu! ● Jangan plek menyalin kode orang lain, pahami alurnya, ambil bagian yang perlu saja, modifikasi agar lebih sesuai. ● Jangan terpaku pada sintaksis, coba lihat esensi dasarnya. ● Jangan nyerah pas ketemu error, jangan gampang nanya membabi buta pas kena error, pelajari cara trace back. ● Ajarkan atau bagikan ulang ke orang lain baik pengalaman belajarnya maupun hasil dari pembelajaran.

Slide 21

Slide 21 text

Tips melamar kerja sebagai pemrogram ● Bangun portofolio kamu sendiri ● Buat kode-kode yang open-source sehingga mudah dilihat gaya koding kita ● Perkuat kemampuan memecahkan persoalan logika ● Bangun relasi dengan rekan pemrogram ● Jangan tergiur hanya dengan gaji, pastikan kamu bisa belajar banyak juga ● Kenali perusahaan yang akan dilamar ● Kenal orang dalam

Slide 22

Slide 22 text

Tips tetap update ● Jangan terpaku pada kode-kode yang ada di kantor ● Luangkan waktu untuk sedikit mencoba teknologi baru yang populer ● Coba eksplorasi ke hal-hal belum bisa diterapkan di kantor ● Ikuti perkembangan terbaru baik langsung dari para world class engineer ● Ikuti kursus yang deep dive ● Baca buku ● Gabung komunitas

Slide 23

Slide 23 text

Terima kasih.