Tahun lepas, saya membuat keputusan yang sangat besar dalam hidup saya-2013 akan menjadi tahun yang saya belajar untuk kod.
Saya selalu terpesona oleh internet dan bagaimana teknologi membolehkan kita berkomunikasi dengan orang di seluruh dunia. Terdapat begitu banyak teknologi hebat yang sedang dibina sekarang, dan saya menyedari bahawa saya tidak berpuas hati untuk hanya duduk dan menggunakan saluran komunikasi tersebut-saya mahu menjadikannya sendiri. Saya tidak mempunyai latar belakang teknikal dan tidak pernah melakukan apa-apa pengekodan, tetapi saya tahu ia sekarang atau tidak.
Sudah tentu, soalan pertama ialah: Bagaimana? Terdapat banyak pilihan untuk belajar bagaimana untuk kod: program dalam talian, buku, kelas malam, kem boot-senarai terus, dengan setiap pilihan yang memerlukan tahap komitmen yang berbeza-beza.
Saya telah mencubit beberapa buku tutorial coding pada masa lalu, tetapi tidak banyak berjaya. Saya mahu belajar, tetapi saya tidak sepatutnya sampai ke titik di mana saya merasakan saya telah mencapai apa-apa. Saya akan mendapat beberapa bab dalam dan akhirnya menjadi benar-benar keliru, tertanya-tanya mengapa di Bumi saya menggunakan kod untuk membuat kata-kata pada "99 Botol Bir" cetak di terminal. Kemudian saya akan berputus asa.
Untuk benar-benar belajar, saya tahu saya memerlukan projek sebenar di mana saya dapat melihat hasil praktikal dari apa yang saya lakukan dan berkongsi kejayaan saya dengan orang lain. Oleh itu, saya memutuskan untuk membuat jalan saya sendiri untuk belajar kod: Saya berhenti kerja saya, dipenuhi dengan ramen mi, dan memutuskan untuk JFDI (hanya mengendalikannya) dengan membina 180 laman web dalam 180 hari.
Walaupun sudah tentu tidak dapat dilaksanakan oleh semua orang untuk menumpukan sepenuh masa kepada projek seperti ini, masih terdapat banyak cara untuk menggunakan pendekatan saya untuk belajar kemahiran baru. Sama ada anda gatal untuk mengetahui bagaimana untuk kod atau sesuatu yang lain sepenuhnya, bacalah untuk beberapa pelajaran terbesar yang saya pelajari dari perjalanan saya dan bagaimana anda boleh menggunakannya untuk pengembaraan anda sendiri.
1. Mula Kecil, Simpan Bangunan
Belajar mana-mana kemahiran baru boleh menjadi luar biasa apabila anda menatap di gunung pengetahuan yang anda cuba menaklukkan. Oleh itu, bukannya mengatasi seluruh gunung, saya memutuskan untuk melakukan satu projek mini sehari, yang akan membantu saya terus memberi tumpuan kepada peningkatan kecil, bertambah baik.
Sebelum saya memulakan 180 tapak web Tapak web, saya tahu saya ingin dapat membuat aplikasi web yang besar dan interaktif, tetapi saya hampir tidak tahu tentang cara membuat laman web asas. Jadi saya mulakan dengan membuat sesuatu yang sangat mudah, hanya beberapa baris kod. Ia membawa saya sepanjang hari, menjelajahi internet untuk menjawab soalan saya, tetapi ia adalah langkah pertama.
Setiap hari, saya melakukan sesuatu yang lebih kompleks, membina apa yang telah saya pelajari. Setelah menghasilkan produk akhir setiap hari bermakna saya tidak boleh membiarkan diri saya tersangkut memahami setiap konsep yang saya pelajari-saya terpaksa terus bergerak. Dan sebagai hasilnya, ia tidak mengambil masa lama sebelum penambahbaikan bayi kecil saya mula melonjak ke lompatan besar.
Menjelang kemudian dalam projek itu, saya melakukan perkara yang saya tidak pernah bayangkan. Banyak laman web yang saya buat adalah menyeronokkan dan suka bermain. Saya membuat mainan seperti Sushi Jiggler dan Etch-A-Sketch dan permainan seperti Simon dan Minesweeper. Saya juga membuat aplikasi yang lebih serius. Saya menjadi sangat berminat dengan data dan membuat alat persembahan seperti Elevations, yang merancang rupa bumi antara dua tempat di Bumi. Komunikasi dan perkongsian juga merupakan konsep penting untuk saya, dan saya membuat aplikasi seperti Audio Garden untuk membantu orang menyambung di seluruh dunia. Bagaimana Kami Merasa, yang menjejaki emosi orang di Twitter, adalah salah satu kegemaran saya.
Apabila anda belajar sesuatu yang baru, anda akan sering melihat konsep yang tidak masuk akal untuk kali pertama anda melihatnya. Ia mudah dibebaskan untuk cuba memahami segala terperinci, menjadi kecewa, dan berputus asa. Meletakkan tarikh akhir yang sengit pada setiap laman web memaksa saya untuk membuat kerja-kerja dan tidak membimbangkan tentang "mendapatkannya." Selama saya terus maju, saya tahu akhirnya saya akan memahami perkara-perkara yang saya tidak cukup dapatkan kali pertama.
2. Meletakkan Diri Anda Terdapat Cara Terbaik untuk Kekal Bertanggungjawab
Selain meletakkan laman web harian saya secara online, saya juga meletakkan semua kod saya di GitHub (platform perkongsian kod untuk 6 juta orang di seluruh dunia) untuk apa yang dirasakan seperti keseluruhan komuniti kejuruteraan. Tiada jenaka-ini menakutkan! Semua orang akan dapat melihat betapa buruknya saya! Semua kesilapan saya, di buka!
Walau bagaimanapun, apa yang saya sedar, dengan berkongsi kerja saya secara terbuka, saya tidak meninggalkan mana-mana ruang untuk melegakan diri, dan saya merasakan tekanan untuk terus meningkat. Saya juga dapat mendapatkan maklum balas sebenar mengenai kod saya dan laman web saya, yang membantu membentuk idea-idea yang ingin saya pelajari seterusnya. Lebih penting lagi, mendedahkan kesilapan dan kesilapan saya mengajar saya untuk lebih selesa dengan tidak mengetahui segala-galanya.
Masalahnya, pembelajarannya tidak baik dan anda akan membuat kesilapan, tidak peduli apa pun masalahnya. Apabila anda mempelajari sesuatu yang baru, anda mempunyai jurang yang besar dalam pengetahuan anda, yang boleh benar-benar memalukan. Naluri awak mungkin untuk cuba menutup jurang ini, tetapi itu tidak membantu anda mengisi mereka. Berkongsi kesilapan saya membantu saya mengatasi naluri itu, untuk menghadapi jurang pengetahuan saya, dan benar-benar berkembang dari mereka.
3. Mengesan Perjalanan Anda adalah Jalan Terbaik untuk Melihat Seberapa Jauh Anda Telah Datang
Di samping membina laman web setiap hari, saya juga menulis catatan blog setiap hari untuk jurnal projek saya. Sudah tentu, blogging tidak penting untuk belajar kod-atau belajar apa-apa selain menulis-tetapi ia membantu saya mengembangkan kemahiran yang sangat penting: keupayaan untuk berkomunikasi tentang kerja saya dan berkongsi cerita saya.
Saya tidak pernah menulis satu posting blog sebelum saya memulakan projek 180 Laman web (yang tidak akan mengejutkan jika anda membaca jawatan pertama saya dari projek itu), jadi menulis setiap hari tidak mudah pada mulanya. Saya sering berasa seperti saya tidak mempunyai apa-apa yang menarik untuk dikatakan. Tetapi semakin saya tulis, semakin mudah ia menjadi. Saya dapati bahawa penulisan tentang apa yang saya belajar memberi saya tempat untuk meringkaskan konsep yang saya sedang bergelut dengan dan peluang untuk membangunkan kosa kata pengaturcaraan saya. Ia juga memberi saya tempat untuk berfikir tentang perkara-perkara di luar pengekodan, seperti apa yang saya belajar berkaitan dengan kehidupan sebenar. Menjelang akhir 180 hari, saya bukan sahaja belajar kod, tetapi juga bagaimana untuk membincangkan pengalaman saya sebagai pengkod.
Satu tahun dan 250+ jawatan blog kemudian, saya kini menjadi penyokong besar kekuatan blogging, dan saya menggalakkan sesiapa sahaja dan semua orang yang saya jumpai untuk bermula, terutamanya jika anda cuba mempelajari sesuatu yang baru.
Mengikuti laluan saya sendiri tidak selalu mudah, dan sudah pasti beberapa hari saya berasa sangat kesepian. Walau bagaimanapun, ia memberi saya peluang untuk meneroka idea yang mungkin saya tidak dapat dalam suasana yang lebih berstruktur. Sebagai contoh, saya dapati bahawa walaupun saya tidak besar pada nombor dan matematik, saya suka data! Saya juga belajar melupakan kesempurnaan dan merangkul lelaran pesat.
Paling penting, saya belajar untuk menguasai kerja saya secara tidak sengaja. Setiap kali anda mengambil perubahan besar dalam hidup, akan ada penaung dan skeptis. Komen mereka mungkin menyengat, tetapi jangan biarkan negatif menimbulkan keraguan diri anda. Sekiranya anda ingin melakukan sesuatu pecah tanah, kadang-kadang anda perlu keluar dengan anggota badan.