Macam mana nak belajar programming kalau korang tak ada pengalaman?

I've been dig deep into the best way to learn programming. As a programmer, aku rasa aku pun gunakan method yang sama macam programmer lain. Aku rasa korang pun boleh ikut.

This will be an interesting thread.
First thing first, cuba belajar pecahkan satu big problem into small chunks. Bayangkan ada seketul kek atas meja, macam mana kita nak makan kek tu? Kita tak makan terus seketul. Of course, kita potong dulu makan sikit-sikit kan? Sebabtu dalam english ada idioms "piece of cake".
Bayangkan korang kena buatkan satu web application consist of register, login, dan logout. Dalam web application, ada banyak language. Harini aku gunakan 4 basic language, iaitu HTML, PHP, SQL, CSS. So, korang dah belajar new information. Aku akan explain sedikit demi sedikit.
Don't Try to Learn Everything, pernah dengar pepatah orang cakap "Jack of all trades, master of none".

Selalunya orang baru belajar programming ni dia macam overwhelming, excited kalau boleh, semua benda dia nak belajar. Jangan buang masa korang, pick your field. Work hard on it
Nak belajar language apa dulu? Kalau nak jadi game developer, korang boleh start dengan C, then C++, C#. Kalau korang minat dengan system developer, boleh terus jump to Java. Bila korang dah ada some basic, sebenarnya lagi mudah untuk korang jump from one langauge to another.
Kalau nak jadi web developer macam aku, korang boleh bermula dengan HTML terlebih dahulu. Kemudian PHP, JS CSS, SQL.

Bila korang dah sucessfully adapt basic foundation yang betul for each programming field. Lebih mudah korang adapt to new tools dan mudahkan kerja korang nanti.
Sepanjang korang belajar nanti, makin lama nanti korang akan makin nampak macam-macam, silly mistakes, syntax error dan sebagainya.

Walaupun makin lama makin bosan, but the ability to persist when things get boring is what makes you a real developer. Keep it up, don't give up!
Ingat, macam yang aku cakap awal-awal tadi, focus. Contohnya, kalau korang nak buat satu login page. Korang tak perlu dig down setiap HTML, PHP, CSS, SQL serentak. Instead, korang hanya perlu focus siapkan sampai login page tu berjaya berfungsi je dulu. Yang lain akan menyusul.
Buat satu simple project yang korang boleh capai, nanti by the time korang akan improve. Dan korang boleh tengok sendiri dan compare login page pertama korang buat, dan login page yang ke-99+ korang buat. Mesti akan nampak perbezaan yang ketara. Contohnya macam yang aku buat ni.
Proses pembelajaran ni bukan sehari dua, memang akan makan masa berbulan. Kadang-kadang bertahun. Yang penting, apa yang korang kena ada progression. Gagal sekali tak bermaksud gagal selamanya. Biar belajar sikit-sikit, asalkan faham apa yang korang belajar. Slowly but surely!
Bergantung pada cara masing-masing, there are many different ways of learning. Ada orang suka belajar berguru, perlukan rujukan lecturer, ada yang perlukan kawan-kawan, ada yang boleh belajar sendiri melalui youtube, ataupun bahan bacaan seperti buku teks, artikel, dan sebagainya
Buat masa ni, aku ada usahakan satu kommuniti programming, dan kitorang somehow share our knowledge and uncountable effort untuk jayakan Kommuniti Rojakcube menggunakan platform Discord. Tanpa mereka, mungkin tak wujud komuniti ni!

Boleh click http://discord.rojakcube.com  untuk join.
Benda yang orang selalu terlepas pandang dalam belajar programming ni adalah, time management.

Nampak simple, tapi pernah tak korang spend countless amount of time untuk belajar benda berat tapi tak faham-faham? Ni aku share sikit study technique yang aku amal since sekolah lagi
Aku belajar teknik ni daripada private tutor aku masa sekolah dulu, dan teknik ni bukan khusus hanya untuk developer. Semua orang boleh cuba. Adik-adik yang nak ambik SPM pun boleh cuba. Setiap 25min, take 5min break every interval. After 4 intervals, take a long break 15-20min.
Lagi satu cara belajar paling effective adalah dengan mengajar orang lain, ataupun re-explaining the concept dalam bentuk review ataupun tulis balik article mengenai apa yang korang belajar, untuk bacaan orang lain. Tangan tu jangan malas sangat nak menulis, sentiasa pegang pen.
Always keep track apa yang korang pernah belajar, termasuk keraguan korang. Which is mean, ada satu masa korang tertanya-tanya "Apa beza Java dengan JavaScript", note down point tu. Nanti korang search google "Java vs JavaScript". Simple as that, manfaatkan Google sebaiknya!
Ada 3 perkara yang korang kena elakkan iaitu Perfection, Comparison, Complexity.

1) Sebagai beginner, seeking perfection tidak akan memberikan manfaat. Last-last korang punya la nak design cantik sampai terlupa main purpose adalah untuk belajar bukan untuk menjual projek korang.
2) Jangan sesekali bandingkan hasil kerja korang dengan orang lain especially programmer yang dah pro. Kan baru nak belajar, takkan la terus expect terus pandai, lepastu rasa diri tu bodo. Cuba ubah mindset, Focus improve diri sendiri instead buang masa compare kelemahan korang.
3) Mulakan dengan perkara mudah. Jangan awal-awal dah nak buat sistem e-commerce. Mula dengan signup/login page dulu. Bare in mind, there's no perfect code. Elakkan over-engineering. Make it work, make it right. “Simplicity is the ultimate sophistication,” said Leonardo Da Vinci.
Memandangkan kita dah sampai ke penghujung thread, aku nak kongsikan lagi satu step terakhir yang korang semua kena amalkan setiap kali accomplish something. Iaitu, "Rest and Recovery".

Korang dah step out from comfort zone untuk belajar programming. Mesti korang rasa penat kan?
Apa kata sometimes kita take a break. Jaga diri, jaga kesihatan. Sebab aku sendiri as a programmer pun banyak korbankan masa beharga, termasuk kesihatan, kadang-kadang tidur tak cukup, makan pun tak tentu masa. Punya la nak siapkan kerja ataupun nak habiskan chapter or syllabus.
Kesihatan merupakan asas utama kehidupan, kalau kita korbankan kesihatan untuk kejayaan kita. At the end of the day, kita kena bayar balik harga penyakit kita tu dengan duit yang kita ada. Hiduplah secara normal, utamakan kesihatan, utamakan kebahagiaan. Your life comes first!
You can follow @kimmohito.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: