📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Butuh 13 Tahun Saya Menyadari Ini, Saya Bongkar Dalam 8 Menit

Coder Media7:59

Transcription

[Musik] Butuh waktu 13 tahun. Saya menyadari apa yang akan saya bongkar dalam 8 menit.

Saya mulai coding dari 2012 dan telah membuat banyak project. Tapi butuh waktu bertahun-tahun bagi saya untuk bisa membuat projek pertama saya. Bukan karena malas belajar, tapi karena menerima nasihat yang saya yakini benar. Pada akhirnya saya menyadari ternyata kebohongan semata. Lebih parah lagi, banyak programmer pemula juga terjebak di kebohongan ini tanpa disadari.

Seandainya saja ada yang memberitahu saya tentang lima hal ini ketika awal belajar coding, saya bisa menghemat waktu bertahun-tahun. Oleh sebab itu, izinkan saya menghemat 13 tahun waktu Anda agar Anda bisa belajar coding lebih cepat dan membuat proyek pertama Anda dalam hitungan bulan saja.

Terlalu sering saya mendengar kata-kata "belajar coding tanpa belajar fundamental itu seperti belajar berlari tanpa belajar merangkak." Dulu saya meyakini ini benar. Sampai akhirnya saya menyadari ternyata tidak benar. Karena belajar berlari tanpa belajar merangkak adalah mustahil. Sementara belajar coding tanpa belajar fundamental tidak mustahil.

Faktanya, banyak rekan saya satu tim bisa Laravel tapi bingung PHP natif, dan banyak yang bisa Next JS tapi tidak menguasai JavaScript fundamental. Kemudian saya menyadari ternyata belajar coding tidak sama seperti belajar berlari, melainkan lebih kepada seperti belajar bahasa. Itulah kenapa disebut bahasa pemrograman.

Sama seperti belajar bahasa pada umumnya, kita tidak harus mengerti huruf untuk bisa berbicara, dan kita tidak harus mengerti structure and grammar untuk bisa bahasa Inggris. Kita hanya meniru orang tua kita berbicara. Semakin banyak yang kita tiru sampai akhirnya kita bisa merangkai kosakata sendiri dan berkomunikasi dengan baik.

Sama halnya dengan belajar coding, kita hanya perlu meniru proyek yang ada, kemudian belajar memodifikasinya sampai akhirnya kita bisa membuat versi sendiri. Otak kita cukup cerdas dalam menemukan pola. Semakin banyak yang kita tiru dan modifikasi, maka otak kita akan menemukan polanya. Dan pola yang biasanya ditemukan yaitu menyimpan data ke database, menampilkan data dari database, mengubah data ke database, dan menghapus data yang ada di database atau yang dikenal dengan istilah create, read, update, dan delete.

Sampai di titik ini, kita tidak hanya bisa meniru, tapi juga bisa membuat proyek sendiri dengan berbagai macam kebutuhan meskipun masih sederhana. Tidak hanya itu, belajar coding dengan cara seperti ini juga dapat mengatasi masalah terbesar dalam belajar coding, yaitu malas. Karena kita bisa melihat hasil dari apa yang kita kerjakan secara langsung. Dengan demikian, dapat meningkatkan motivasi belajar coding dan penasaran untuk mempelajari lebih dalam lagi.

Tapi meskipun kita bisa belajar coding tanpa belajar fundamental, semuanya bisa menjadi senjata makan tuan jika kita meninggalkan fundamental sepenuhnya. Itulah kenapa part kedua sangat penting.

Ketika saya mulai belajar coding, saya banyak menerima nasihat "kuasai semua fundamental terlebih dahulu, baru pindah ke framework." Akhirnya saya menghabiskan waktu berbulan-bulan belajar fundamental dari A sampai Z, berharap itu akan membuat saya siap untuk membuat proyek nyata. Tapi pada akhirnya saya menyadari bahwa kita sebenarnya tidak perlu menguasai semuanya.

Faktanya, dari 80% proyek yang saya bangun, hanya 20% saja fundamental yang benar-benar saya gunakan. Ini membuktikan bahwa kita tidak perlu menguasai fundamental 100%. Kita cukup menguasai 20% saja yang paling berkontribusi besar terhadap 80% hasil. Mempelajari semuanya di awal justru membuat kita lambat bergerak, padahal teknologi berkembang dengan cepat.

Fokuslah belajar 20% fundamental yang paling berdampak besar dalam membangun proyek nyata seperti function, variable, array, method, objek, kondisi, if, dan loop. Kemudian langsung praktik dan mulailah membuat proyek nyata. Karena dengan membuat proyek, kita bisa belajar lebih cepat. Kita tidak akan jago coding karena belajar fundamental atau teori, tapi kita bisa jago coding karena pengalaman, dan itulah guru terbaik.

Di tahun-tahun awal saya belajar coding, saya sangat bersemangat untuk belajar lebih dalam lagi dan lagi. Saya banyak menonton video tutorial, membaca artikel, bahkan mengkoleksi banyak buku. Setiap hari saya belajar hal baru seperti mendalami HTML, CSS, JavaScript hingga sedikit framework. Tapi setiap kali dihadapkan dengan proyek nyata, saya selalu ragu. Saya selalu merasa masih banyak yang belum saya ketahui.

"Bagaimana nanti kalau hasilnya jelek?" "Bagaimana nanti kalau data yang dihasilkan tidak valid?" "Bagaimana nanti kalau proyek yang saya buat mudah di-hack?" Selalu muncul pertanyaan tersebut di dalam kepala. Saya selalu merasa harus mempelajari semuanya dulu sebelum benar-benar siap.

Pada akhirnya saya mulai menyadari satu hal penting. Tidak ada orang yang benar-benar siap di awal. Oleh sebab itu, saya memutuskan untuk membuat proyek kecil-kecilan dengan apa yang sudah saya ketahui. Sederhana saja, tapi itu proyek nyata. Ternyata saya bisa belajar lebih cepat karena menghadapi masalah nyata, bukan hanya sekadar teori.

Setelah membuat beberapa proyek kecil, rasa percaya diri saya tumbuh. Sampai akhirnya saya berani melamar pekerjaan dan diterima karena perusahaan lebih menghargai portofolio daripada daftar panjang materi yang sudah saya pelajari.

Setiap kali saya membuat proyek, saya terobsesi untuk menulis kode dengan rapi dan elegan atau yang dikenal dengan istilah clean code. Saya selalu ingin memastikan setiap nama function dan variabel sedeskriptif mungkin untuk memastikan semuanya sempurna, dan saya menghabiskan waktu berjam-jam untuk itu. Terkadang saya sering mengabaikan deadline hanya untuk memastikan kode yang saya tulis rapi, elegan, dan minimalis.

Suatu ketika saya bisa membuat kondisi if dari seperti ini menjadi seperti ini tanpa mengurangi fungsinya. Saya merasa bangga dan tidak sabar ingin menunjukkan kode yang saya tulis kepada atasan. Sampai akhirnya saya dihadapkan dengan fakta pahit bahwa tidak ada yang peduli dengan kode yang kita tulis. Atasan kita tidak peduli dan klien juga tidak peduli. Yang mereka pedulikan adalah proyek selesai sebelum deadline, tampilan atau user interface menarik dan modern.

Kita bisa saja menulis kode paling elegan di dunia. Tapi jika proyek yang kita bangun tidak selesai sebelum deadline atau tampilannya tidak menarik, atasan tidak akan senang dan klien juga tidak akan senang. Tulislah kode yang berjalan sesuai yang diharapkan. Tidak peduli apakah itu clean code atau tidak. Karena proyek selesai sebelum deadline jauh lebih penting daripada kode yang rapi dan elegan.

[Musik] Dulu saya berpikir bahwa skill coding berarti hafal banyak sintak dan menulis kode tanpa error. Tapi ketika mulai mengerjakan proyek nyata, saya menyadari ternyata sintak hanya sebagian kecil dari pekerjaan.

Setiap proyek selalu dimulai dari masalah. Baik masalah yang dihadapi perusahaan atau masalah yang dihadapi masyarakat luas. Point of Sale (POS) hadir untuk membantu mempercepat proses transaksi dan meminimalisir antrian. E-commerce hadir untuk membantu transaksi jual beli antar wilayah dengan aman, meskipun penjual dan pembeli tidak pernah bertemu satu sama lain. Mitran hadir untuk mengatasi masalah transaksi pembayaran dengan konfirmasi pembayaran instan.

Setiap proyek bertujuan untuk menyelesaikan masalah. Oleh karena itu, tidak hanya dibutuhkan skill menulis kode tanpa error, tapi juga kemampuan untuk menggunakan kode untuk menyelesaikan masalah. Itulah yang disebut dengan programming, yaitu bagaimana menggunakan kode untuk menciptakan program atau aplikasi yang dapat digunakan untuk menyelesaikan masalah. Itulah skill sebenarnya. Yeah.