Sebelum Anda belajar koding, pikirkan tentang apa yang ingin Anda buat

 

Mengetahui koding sebagian besar adalah mengenai membangun sesuatu, dan alurnya jauh lebih jelas ketika Anda mengetahui tujuan akhirnya. Jika tujuan Anda adalah “belajar koding”, tanpa ide yang jelas tentang jenis program yang akan Anda tulis dan bagaimana mereka akan membuat hidup Anda lebih baik, Anda mungkin akan merasakannya sebagai latihan yang dapat memfrustasikan Anda.

Saya sedikit malu untuk mengakui bahwa bagian dari motivasi saya untuk mempelajari ilmu komputer adalah bahwa saya ingin membuktikan bahwa saya cerdas, dan saya ingin bisa mendapatkan pekerjaan orang cerdas. Saya juga suka berpikir tentang matematika dan teori (buku ini mengagumkan saya pada usia muda) dan program adalah hal yang pas. Namun, itu tidak cukup lama untuk memotivasi saya, sampai saya menemukan cara untuk menghubungkan teknologi dengan hal-hal yang benar-benar saya sukai, seperti musik dan sastra.

 

Jadi, Anda ingin koding apa? Situs web? Pertandingan? aplikasi iPhone? Sebuah startup yang membuat Anda kaya? Seni interaktif? Apakah Anda ingin dapat mengesankan atasan Anda atau mengotomatiskan tugas yang membosankan sehingga Anda dapat menghabiskan lebih banyak waktu melihat foto berang-berang? Mungkin Anda hanya ingin lebih bisa dipekerjakan, menambahkan sebuah kata kunci ke resume Anda, atau memenuhi persyaratan program pendidikan Anda. Semua ini adalah tujuan yang berarti. Pastikan Anda tahu yang mana milik Anda, dan belajarlah berdasarkan hal tersebut.

Tidak ada yang ajaib tentang koding

Koding adalah keterampilan seperti keterampilan yang lainnya. Seperti halnya belajar bahasa, ada tata bahasa dan kosakata yang harus dikuasai. Seperti matematika, ada proses untuk mengatasi berbagai masalah khusus. Seperti semua jenis keahlian dan seni, ada teknik dan alat dan praktik terbaik yang telah dikembangkan dari waktu ke waktu, khusus untuk tugas yang berbeda, Anda bebas menggunakan atau memodifikasi atau membuangnya.

 

Orang ini (orang yang sangat cerdas! Yang tulisan-tulisannya saya sukai dan sering saya akui!) berpendapat bahwa ada garis terang antara orang-orang dengan True mind of Programmer dengan orang-orang lain, yang tidak memiliki kapasitas intelektual yang dibutuhkan untuk berhasil dalam bidang ini. Garis terang itu terdiri, menurut dia, tentang pointer dan rekursi (ada primer di sini dan di sini untuk yang penasaran).

Saya belajar tentang petunjuk dan rekursi di sekolah, dan ketika saya memahaminya, itu adalah sentakan yang menyenangkan di otak saya – jenis kesenangan intelektual yang membuat saya ingin belajar ilmu komputer sejak awal. Namun, di luar latihan di ruang kelas, berapa kali saya harus akrab dengan konsep untuk menyelesaikan sesuatu relatif kecil. Dan ketika membantu orang lain belajar, lagi dan lagi, saya telah melihat orang-orang menyelesaikan proyek yang menarik dan bermanfaat tanpa mengetahui apa pun tentang hal tersebut.

Tidak ada gunanya merasa terintimidasi atau bertanya-tanya jika Anda cukup cerdas. Tentu, semakin kompleks dan esoterik tugas Anda, semakin tinggi tingkat penguasaan yang Anda perlukan untuk menyelesaikannya. Tetapi ini juga berlaku di setiap bidang lainnya. Kecuali jika Anda berencana untuk mendapatkan uang sepenuhnya dari kode Anda, kemungkinan besar Anda tidak harus menjadi seorang jenius rekursif untuk membuat hal yang ingin Anda buat.

 

Hal itu tidak pernah berhasil pertama kali

Dan mungkin tidak juga pada yang kedua atau ketiga kalinya

 

Ketika pertama kali Anda mulai belajar koding, Anda akan sangat cepat menghadapi pengalaman ini: Anda pikir Anda telah mengatur semua seperti yang seharusnya, Anda telah mengecek dan memeriksanya kembali, dan itu tetap saja tidak berhasil. Anda tidak memiliki petunjuk di mana untuk mulai mencoba memperbaikinya, dan pesan kesalahan (jika Anda cukup beruntung untuk memiliki satu) mungkin juga mengatakan “fuck you.” Anda mungkin tergoda untuk menyerah pada ini titik, berpikir bahwa Anda tidak akan pernah mengetahuinya, bahwa Anda tidak cocok untuk ini. Saya merasakan hal itu pertama kali saya mencoba menulis program di C ++, menjalankannya, dan hanya mendapatkan pesan kesalahan “kesalahan segmentasi” untuk masalah saya.

Tetapi pengalaman ini sangat umum bagi para programmer dari semua tingkat keterampilan, yang sama sekali tidak ada hubungannya dengan kecerdasan Anda, kecanggihan teknologi, atau kecocokan untuk kehidupan koding. Ini akan terjadi pada Anda sebagai pemula, tetapi itu juga akan terjadi pada Anda sebagai programmer berpengalaman. Perbedaan utamanya adalah bagaimana Anda mengatasinya.

 

Saya telah menemukan bahwa perbedaan besar antara programmer pemula dan programmer berpengalaman adalah keyakinan: Yakin bahwa terdapat alasan yang logis dan dapat diketahui di balik sebuah kesalahan, yakin bahwa kesalahan dapat diperbaiki, yakin bahwa ada cara untuk mencapai tujuan. Jalan dari “tidak berhasil” ke “berhasil” mungkin sulit untuk dicari, tetapi dengan kesabaran Anda akan dapat menemukannya.

Seseorang akan selalu memberi tahu Anda bahwa Anda melakukan kesalahan

 

Tanda kurung harus mengarah ke baris berikutnya. Tanda kurung harus berada pada baris yang sama. Gunakan tab untuk membuat indentasi. Tapi tab adalah kejahatan. Anda harus menggunakan prosedur tersimpan, tapi sebenarnya kamu seharusnya tidak menggunakannya. Anda harus selalu mengomentari kode Anda. Tapi kode yang bagus tidak perlu komentar.

 

Hampir selalu ada banyak pendekatan berbeda untuk masalah tertentu, tanpa satu pun “cara yang benar.” Banyak programmer sangat baik dalam mengadvokasi cara yang mereka sukai, tetapi itu tidak berarti hanya itu satu jalan yang mutlak. Mengkonfrontasi orang-orang yang mengatakan bahwa saya salah, dan mencoba mencari tahu apakah mereka benar, adalah salah satu aspek yang membuat saya stress di awal karier.

Jika Anda membuat koding dalam tim dengan orang lain, seseorang hampir pasti akan mempermasalahkan sesuatu yang Anda lakukan. Terkadang mereka memang benar, dan selalu layak diinvestigasi untuk melihat apakah Anda, pada kenyataannya, melakukan kesalahan. Tapi, terkadang mereka penuh dengan kebohongan, atau membuat ulang perselisihan kuno dan tidak berarti di mana akan lebih baik hanya mengikuti panduan yang ada dan melupakannya.

Di sisi lain, jika Anda adalah tipe orang yang menikmati perselisihan kuno tetapi tidak berarti (kutu buku, saya melihat Anda), Anda telah datang ke tempat yang tepat.

 

Seseorang akan selalu memberi tahu Anda bahwa Anda bukan programmer sungguhan

 

HTML bukanlah pengkodean yang nyata. Jika Anda tidak menggunakan vi, Anda tidak benar-benar serius. Programmer sejati pasti tahu C. Programmer sejati tidak menggunakan Windows. Beberapa orang tidak akan pernah bisa mempelajarinya. Anda harusnya jangan belajar koding. Anda bukan programmer (tapi saya).

 

“Koding” berarti banyak hal yang berbeda untuk banyak orang yang berbeda, dan sekarang terlihat berbeda dari yang sebelumnya. Dan, anehnya, alat dan paket serta kerangka kerja yang membuatnya lebih cepat dan lebih mudah bagi pendatang baru atau bahkan pengembang yang sudah terlatih untuk membangun hal-hal yang paling mungkin menjadi ternodai dengan “bukan untuk programmer sungguhan”. (Lihat: “Kembalinya Programmer Sejati”)

 

Di balik semua ini ada ketakutan bahwa jika “siapa saja” dapat menyebut diri mereka seorang programmer, itu akan menjadi tidak berarti. Tapi saya pikir ini sangat merusak.

 

Gunakan alat yang menurutmu paling mudah digunakan untuk membangun hal-hal yang ingin Anda buat. Jika itu berarti game Anda dibuat di Stencyl atau GameMaker, bukan ditulis dari awal, tidak masalah. Jika pengeditan pertama Anda ke dalam pengkodean adalah makro HTML atau Excel, tidak apa-apa. Bekerjalah dengan sesuatu yang Anda rasa dapat Anda pertahankan.

Semakin Anda merasa nyaman, Anda akan secara alami mulai menemukan alat-alat yang hanya membatasi daripada membantu dan mulai mencari alat yang lebih berguna. Tetapi sebagian besar waktu, beberapa orang bahkan akan melihat kode Anda atau bahkan menanyakan apa yang Anda gunakan – apa yang Anda buat dengannya itulah yang penting.

Mengkhawatirkan “kredibilitas geek” akan membunuh Anda secara perlahan

 

Lihat di atas. Dulu saya sering khawatir, terutama di sekolah, tentang apakah saya mengidentifikasi diri saya sebagai “bukan geek sejati” (dan karena itu kurang layak dimasukkan dalam komunitas teknologi) melalui pakaian saya, presentasi saya, pilihan bahan bacaan saya dan bahkan pilihan kustomisasi perangkat lunak saya. Itu membuang energi yang banyak dan saya menjadi jauh lebih fungsional setelah saya membuat keputusan untuk melepaskan semuanya.

Anda perlu menginternalisasikan ini: kemampuan Anda untuk menguasai coding tidak ada hubungannya dengan seberapa baik Anda masuk ke dalam berbagai subkultur “geek”. Ini juga berlaku jika Anda tahu bahwa Anda tidak akan pernah merasa cocok. Energi yang Anda habiskan untuk membuktikan diri Anda

harusnya dipakai untuk membuat hal-hal lain. Dan, jika Anda seorang “geek” dengan kredibilitas yang tinggi dan selalu menganalisa kredibilitas orang setiap kali Anda melihatnya, ingatlah hal ini ketika Anda mengevaluasi tingkat kredibilitas orang lain. Itu mungkin tidak sama seperti apa yang Anda pikirkan.

Berpegang teguh dengan itu lebih penting daripada metode

 

Tidak ada kekurangan dari artikel tentang cara “benar” atau “terbaik” untuk belajar koding, dan ada banyak pendekatan potensial. Anda dapat mempelajari konsep-konsep dari buku atau dengan menyelesaikan latihan interaktif atau dengan melakukan debug pada hal-hal yang telah ditulis orang lain. Dan, tentu saja, ada banyak bahasa yang mungkin Anda pilih untuk dipelajari pertama kali, dengan para pendukung untuk masing-masing bahasa.

 

Keluhan umum dengan program “mengajar diri sendiri untuk koding” dan workshop adalah Anda akan dengan senang hati melalui materi pemula dan kemudian mencapai hal yang rumit di mana segala sesuatunya menjadi lebih sulit dengan sangat cepat. Anda tahu cara mencetak beberapa baris teks pada halaman tetapi tidak tahu di mana harus mulai mengerjakan sesuatu yang “nyata”, proyek yang berguna. Anda mungkin merasa seperti Anda hanya mengikuti arahan tanpa benar-benar memahami, dan menyalahkan materi pembelajaran.

 

Ketika Anda sampai pada tahap ini, sebagian besar tutorial dan sumber daya online yang tersedia bagi Anda kurang bermanfaat karena mereka menganggap Anda sudah menjadi programmer yang berpengalaman. Kesulitan ini semakin diperparah oleh fakta bahwa “Anda tidak tahu apa yang tidak Anda ketahui.” Bahkan mencoba mencari tahu apa yang harus dipelajari selanjutnya adalah sebuah teka-teki.

Anda akan mencapai tahap ini, tidak tergantung dengan program “belajar koding” apa pun yang Anda ikuti, dan satu-satunya cara untuk melewatinya adalah dengan ketekunan. Ini berarti Anda terus mencoba hal-hal baru, mempelajari lebih banyak informasi, dan mencari tahu, sedikit demi sedikit, bagaimana membangun proyek Anda. Anda kemungkinan besar akan menemukan kesuksesan pada akhirnya jika Anda memiliki gagasan yang jelas tentang mengapa Anda belajar koding pada awalnya.

Jika Anda terus menumpuk batu bata di atas satu sama lain, mungkin butuh waktu lama tetapi akhirnya Anda akan memiliki dinding. Di sinilah keyakinan yang saya sebutkan tadi sangat berguna. Jika Anda percaya bahwa dengan waktu dan kesabaran Anda dapat mengetahui seluruh hal tentang koding, pada saatnya Anda hampir pasti akan bisa.

 

Anda dapat menemukan artikel aslinya dalam bahasa Inggris di sini.