mx667
TS
mx667
Tips Belajar Pemrograman Secara Otodidak
Sebagian dari kamu mungkin mulai menyadari bahwa kuliah dan sekolah tidak bisa diandalkan untuk memperoleh pekerjaan sebagai programmer. Sebagian mungkin memutuskan untuk belajar secara otodidak karena gak punya biaya untuk ikut kursus atau bootcamp. Berikut ini saya mau berbagi tips buat teman - teman yang penasaran dan masih nanya - nanya tentang gimana caranya belajar pemrograman secara otodidak. Saya juga akan share pengalaman saya belajar secara otodidak selama beberapa bulan sehingga bisa memperoleh pekerjaan sebagai programmer seperti sekarang, semoga bermanfaat.



Tentukan Tujuan

Pertama tentukan tujuan dulu maunya bikin apa, tertariknya bikin apa. Apakah mau bikin game, aplikasi mobile, aplikasi desktop, aplikasi website atau yang lainnya? Kalau misalnya udah nemu tujuannya baru deh bisa cari materinya di Google. Nah cari materi itu seperti ini:

Kebetulan waktu itu saya tertariknya jadi programmer web, karena menurut saya programmer web itu yang paling ramah dengan spesifikasi laptop saya yang tidak terlalu tinggi. Kalau misalnya mau bikin aplikasi mobile, apalagi bikin game, menurut saya perlu spesifikasi laptop atau komputer yang tinggi.

Pertama cari di Google dulu ketik aja "web developer roadmap". Saya juga udah pernah bahas mengenai roadmap web developer ini di thread saya yang ini: Cara Jadi Web Developer Otodidak. Kalau misalnya teman - teman pengen belajar tentang bahasa pemrograman Python, bisa juga dengan mengetik "python developer roadmap". Nah biasanya akan muncul berbagai tulisan atau artikel yang memberikan daftar materi yang harus dipelajari. Baru setelah dapat daftar materi yang harus dipelajari, teman - teman bisa mulai cari tahu dan belajar melalui artikel - artikel di internet, ataupun melalui video - video di YouTube. Kalau saya pribadi lebih suka nonton tutorial di YouTube untuk pelajaran praktek seperti ini.



Web Developer Roadmap




Python Developer Roadmap




Game Developer Roadmap


Nah, cuma waktu itu memang saya pengen explore lebih lagi tentang dunia pemrograman Web ini. Saya juga belum menentukan apakah mau jadi Back-end ataupun Front-end.

Awalnya saya berpikir kalau saya gak jago designberarti cocoknya Back-end aja, tapi ternyata enggak gitu ya teman - teman. Jadi Front-end itu gak wajib bisa design karena pada dasarnya teman - teman Front-end adalah orang yang menerjemahkan atau mengubah desain UI menjadi halaman website. Mengubah desain figma menjadi website, mengubah desain Photoshop menjadi website, dan seterusnya. Entah itu tampilan website yang hanya berisi HTML dan CSS biasa, atau sudah ada JavaScript-nya beserta dengan framework JavaScript.

Makanya muncul profesi khusus untuk masalah desain yang biasanya disebut dengan UI Designer, UI/UX Designer, dan sebagainya.

Awalnya saya gak memutuskan untuk jadi Front-end langsung dari awal, saya belajar banyak hal, dari mulai CodeIgniter dan hampir semua video di channelnya pak Sandhika Galih (Web Programming UNPAS) udah saya tonton. Awalnya belajarnya gak terarah, cuma pengen tahu aja, tapi sejak berkenalan dengan React JS, saya langsung jatuh cinta dan memutuskan untuk jadi Front-end Web Developer.

Nah buat teman - teman yang sama kaya saya waktu dulu, masih bingung mau jadi programmer apa, mungkin bisa explore dulu atau coba - coba dulu. Rasakan dulu mana yang cocok untuk teman - teman, misalnya kalau memang ada teman - teman yang mau jadi programmer web, mungkin bisa coba belajar Back-end dan Front-end. Kalau misalnya teman - teman penasaran untuk Back-end Web Developer ataupun Front-end Web Developer itu bahasa pemrograman dan framework apa yang paling dicari, mungkin saya akan kasih tahu beberapa hal sesuai pengalaman saya.

Kalau untuk jadi Front-end Web Developer sudah pasti cuma satu bahasa pemrograman yang digunakan, yaitu JavaScript, framework-nya bisa pilih salah satu antara React, Vue, dan Angular. Kalau Back-end bahasa pemrograman yang bisa dipelajari itu ada banyak ya teman - teman. Ada perusahaan yang cari PHP (framework-nya biasanya CodeIgniter dan Laravel) dan JavaScript (Node JS), nah kalau tempat kerja saya, nyari yang bisa Dot Net atau Golang.



Cari Teman

Pengalaman saya belajar sendiri di rumah itu awalnya memang menyenangkan karena mungkin baru awal - awal dan masih banyak hal yang bisa di-explore. Lama kelamaan kesenangan itu durasinya mulai berkurang meski masih banyak hal yang harus di-explore. Maksudnya gini, yang awalnya betah belajar berjam - jam, lama - lama jadi cuma betah belajar 2 jam sehari. Saya merasakan ini dan mulai gelisah, kalau gini kapan berhasilnya, soalnya saya merasa belajar 2 jam sehari gak akan cukup. Maunya dari pagi sampai sore itu belajar terus selama beberapa bulan.

Beberapa bulan ini saya gak bilang sampai 6 atau 8 bulan ya teman - teman. Saya rasa belajar 3 bulan kalau konsisten dan mau ikuti arahan dari roadmap pasti bisa kok. Misalnya kalau udah memutuskan mau jadi Front-end Web Developer yaudah yang dipelajari materi - materi Front-end aja, gausah belajar PHP dan materi - materi Back-end lainnya.

Rasa bosan mulai menghinggapi ketika saya mencoba untuk belajar sendiri di rumah, apalagi waktu itu sedang kondisi Physical Distancing gara - gara Corona, jadi bingung gimana menghadapi rasa bosan ini.

Nah ini saya mau cerita sedikit ya, kebetulan waktu itu rumah saya itu sangat dekat dengan kampus, jalan kaki aja bisa. Kebetulan juga waktu itu ada teman satu jurusan dan satu angkatan yang rumahnya dekat dengan kampus juga. Akhirnya saya putuskan untuk ngajak teman saya itu main ke kampus untuk sekedar numpang Wi-Fi dan belajar bersama. Kebetulan memang selama pandemi itu kami sebagai mahasiswa jadi punya banyak waktu luang.

Mungkin sebagian besar orang merasa sedih karena di-PHK (termasuk orangtua saya pun juga ikut di-PHK waktu itu), banyak yang gak bisa hangout bareng teman dan jalan - jalan, banyak rejeki orang jadi terganggu. Tapi saya dan teman saya, melihat bahwa waktu luang yang sangat banyak ketika pandemi ini adalah sebuah kesempatan untuk belajar jadi programmer secara otodidak.

Puji Tuhan ketika saya dan teman saya mulai belajar bersama, walaupun cuma duduk bersebelahan dan nonton tutorial masing - masing, tapi itu sudah sangat membantu saya terus termotivasi untuk belajar. Kami belajar dari pagi sampai malam dan gak lupa juga kalau ada kesempatan kami pun berolahraga dengan bermain ping - pong bersama karena kebetulan di kampus itu ada meja ping - pong ya teman - teman.

{thread_title}


Gara - gara ada teman inilah, suasana belajar jadi semakin seru. Kadang ketika bikin - bikin aplikasi, kami mendengarkan lagu, ngopibareng dan setiap hari selalu ada motivasi untuk bangun dari ranjang, bawa bekal makanan, lalu berangkat ke kampus untuk belajar. Hari Sabtu dan Minggu bukan halangan, menurut saya justru hari Sabtu dan Minggu adalah hari paling asik, karena kampus jadi super - duper sepi. Jadi bisa dibilang setiap hari kami belajar, tanpa ada hari libur, karena memang suka dan merasa tidak punya pilihan lain.

Maksudnya gak punya pilihan lain itu gini, jadi kan tadi saya sudah singgung kalau orangtua saya yang single-parent itu udah di-PHK. Padahalnya anaknya sekarang ada 2 dan kondisinya lagi kuliah semua. Makanya sebenarnya saat itu saya mikir harus cepat - cepat dapet kerja untuk melanjutkan kuliah dan bertahan hidup. Nah sebenarnya awalnya niatnya pengen kerja dulu jadi admin atau penjaga warnet pun gak masalah, selagi saya belajar ngoding untuk jadi programmer. Eh, ternyata malah gak perlu jadi admin, tapi langsung bisa jadi programmer.

Nah ini memang tantangan sih harus fokus belajar ngoding sambil mikirin gimana caranya dapet kerja dalam waktu dekat karena kondisi saat itu. Mungkin mujizat dari Tuhan juga saya bisa seperti sekarang ini.



Catat

Karena materi yang dipelajari terlalu banyak, kita gak mungkin hafal semua. Maka dari itu pemahaman itu penting dan perlu adanya catatan. Catat hal - hal penting, semisal fitur - fitur React, apa aja yang bisa dilakukan di React JS. Kemudian kalau teman - teman belajar CSS, bisa dicatat juga kalau mau tampilan ini perlu apa aja, dan sebagainya. Setiap orang mungkin punya gaya catatan masing - masing, catatlah sesuai keinginanmu, yang menurutmu paling mudah dipahami.

Jangan terlalu singkat, tapi dijelaskan lebih detail kalau perlu. Ingat, tujuan kita nyatat karena kita tahu bahwa di masa depan kita akan lupa, maka buatlah catatan yang mudah dipahami supaya di masa depan ketika kita lupa, kita bisa lihat catatan dengan mudah.



Praktekkan

Kalau nonton tutorial saya harap teman - teman juga mencoba mempraktekkannya. Gak perlu dipraktekkan semua, tapi setidaknya beberapa hal yang menurutmu penting itu dikerjakan. Hal ini tujuannya juga supaya kita bisa merasakan ngoding sendiri dan kalau mengalami error kita bisa mulai belajar untuk debugging atau menyelesaikan masalah yang terjadi. Mungkin teman - teman juga bisa mengolah logika supaya bisa nulis code yang lebih rapi dan lebih efektif ketimbang code yang ada di video tutorial.

Jujur saja karena udah terlalu sering nonton tutorial, lama kelamaan saya gak praktek lagi karena saya rasa sudah terbiasa, jadi sekarang kalau saya nonton tutorial saya cukup bikin catatan aja. Mungkin teman - teman kalau sudah terbiasa nonton tutorial bisa juga cuma mencatat dan tidak lagi praktek. Tapi kalau masih newbie, atau awal - awal ya saran saya tolong praktekkan saja.



Jangan Takut Lupa

Lupa itu wajar banget ya teman - teman, jangan pernah takut untuk lupa. Kenapa? Karena materi yang akan kita pelajari memang banyak banget. Pada kenyataannya mustahil untuk menghafal itu semua, kita hanya bisa terbiasa. Kalau sudah terbiasa nanti hafal sendiri pas udah ngoding lama apalagi kerja. Saya sendiri sering lupa dan sering googling untuk hal yang sama berulang - ulang. Bukan cuma saya aja yang mengalami hal ini, kebanyakan developer senior di luar sana juga mengalami hal yang sama.

Nah menurut saya catatan ketika kita sedang belajar itu lumayan membantu ya dalam hal ini. Lupa itu hal yang wajar banget dalam dunia pemrograman ini ya teman - teman. Nah makanya penting juga untuk fokus ke satu hal aja dalam dunia pemrograman ini. Misalnya bahasa pemrograman ataupun framework. Karena kalau udah pindah bahasa pemrograman ataupun pindah framework dengan waktu yang lama, maka sudah pasti akan lupa dan mungkin harus belajar dari awal lagi. Cuma kalau memang atasan atau tuntutan pekerjaan mengharuskan kita untuk pindah, ya kita gak punya pilihan lain.

Saya sendiri awalnya fokus ke React JS ya teman - teman, cuma karena ada client yang nyuruh project-nya digarap pakai Vue JS, mau gak mau harus pindah. Tapi gak masalah kok sebenarnya, karena pada dasarnya saya memang penasaran dan suka belajar. Ada kalanya saya bosan ngerjain project sehingga pengen belajar hal baru lagi, tapi ada kalanya saya bosan nonton tutorial di YouTube sehingga pengen bikin project lagi.



Bikin Project Pribadi

Untuk belajar itu gak cuma cukup nonton tutorial di YouTube dan baca artikel di Google aja ya, teman - teman. Kalau misalnya udah selesai mempelajari daftar materi yang ada di roadmap, teman - teman bisa mulai bikin - bikin project pribadi. Terserah mau bikin apa, entah itu aplikasi, website, atau yang lainnya. Project pribadi atau aplikasi pribadi ini ditujukkan untuk mengasah kemampuan dan kalau misalnya udah selesai, bisa ditunjukkan di portfolio kita masing - masing untuk nantinya bisa dipakai melamar kerja dan cari client.

Nah biasanya saya bikin - bikin project pribadi gini kalau udah mulai bosan nonton tutorial di YouTube. Entah itu bikin tampilan website sederhana, bikin aplikasi berbasis web. Waktu itu saya pernah iseng bikin Sistem Informasi Akademik untuk kampus gara - gara saya merasa gak puas dengan Sistem Informasi Akademik kampus yang lemot saat itu.

Saya juga sempat bikin aplikasi mobile untuk mengelola inventory atau stok barang. Aplikasi web untuk mencatat penjualan, dan ada coba - coba bikin marketplace walaupun berhenti di tengah jalan karena dirasa masih kompleks dan sulit.





Ya walaupun aplikasi - aplikasi ini cuma untuk ajang berkreasi, mengasah kemampuan dan imajinasi saya sendiri, tapi saya cukup puas dan bisa belajar banyak dari situ, dan aplikasi - aplikasi tersebut akhirnya bisa saya taruh di portfolio saya untuk melamar pekerjaan sebagai programmer.



Jangan Nyerah Karena Error

Selama saya belajar beberapa bulan, jujur saja beberapa kali saya sempat frustasi dan pengen nyerah jadi programmer gara - gara menghadapi berbagai masalah. Entah itu error yang gak ketemu - ketemu solusinya, fitur yang terlalu sulit untuk dibuat dan lain sebagainya. Nah ternyata setelah masuk ke dalam dunia kerja, rasa gak enak ini pun bisa saja muncul ya teman - teman.

Biasanya kalau disuruh ngelanjutin project orang, itu repot banget ya menurut saya. Kenapa? Ya karena gaya ngoding orang kan beda - beda, library yang dipakai bisa beda - beda, makanya ngelanjutin project orang itu gak gampang. Paling enak sih bikin project dari awal, atau kerjasama tim dari awal project.

Sejauh ini sih, saya bisa selesaikan semua error walau kadang ada yang butuh waktu lama. Kalaupun memang mentok gak bisa selesai error-nya, biasanya saya akali pakai cara lain. Misalnya cara ngodingnya yang diubah untuk bikin fitur tertentu, tapi kebanyakan error itu bisa diselesaikan sih. Kadang juga nanya di grup Facebook dan Stackoverflow, walaupun ini jarang banget sih. Soalnya saya mikir nanya di grup Facebook dan Stackoverflow itu kan lama nunggu jawabannya, itupun belum tentu bener jawabannya.

Nah, kebetulan saya saat ini sudah bekerja beberapa bulan di sebuah perusahaan IT Consultant di Bandung. Pengalaman saya kalau misalnya kerja kantoran, biasanya kan kita gak kerja sendiri. Nah kalau kerja kantoran, atau jadi karyawan, atau jadi programmer di sebuah perusahaan, kalau mentok dengan suatu error, ada atasan, rekan kerja, dan teman yang beberapa kali bisa bantu. Beda dengan freelance yang bisa saja kita kerja sendiri dengan menjadi FullStack Web Developer (Front-end + Back-end dikerjakan sendiri).



Jangan sungkan untuk bertanya dan ngobrol dengan saya lewat PM Kaskus atau sosmed lain seperti Instagram saya:

https://www.instagram.com/anggakswr



Baca juga:
Enaknya Jadi Programmer Menurut Agan Ini HT
Cara Jadi Front-end Web Developer Modal YouTube HT
Cara Jadi Web Developer Otodidak HT
Seberapa Penting Ngetik Cepat untuk Programmer? HT
Mengenal title Attribute di HTML HT
Cara Konek ke Server Menggunakan SSH di Ubuntu
Tadi ngetik apa ya di terminal?
Perbedaan Install Aplikasi di Linux Ubuntu dan Windows
Memahami Kumpulan Angka di Versi Aplikasi
Diubah oleh mx667 13-08-2021 09:27
anfa.hmollyevadelfatesting260
delfatesting260 dan 31 lainnya memberi reputasi
32
9.5K
79
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Urutan
Terbaru
Terlama
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Komunitas Pilihan