Bagaimana TIDAK untuk memulai belajar pemrograman

Salam, Khabrovtsy!



Saya memutuskan untuk berbagi pengalaman saya tentang pembelajaran bahasa pemrograman yang "berhasil".



Bukan untuk mengatakan bahwa saya adalah orang awam yang lengkap dalam industri TI, tetapi rencana pelatihan saya "untuk menjadi pengembang TI" - berjalan dengan sangat cepat.



Sedikit latar belakang.



Saya harus segera mengatakan bahwa saya tidak mengikuti pelatihan yang ditargetkan dalam ilmu komputer. Dan spesialisasi saya dalam pendidikan jauh dari teknis. Dia bekerja sejak 2005. hingga 2012 di berbagai perusahaan, baik kecil maupun besar, terkait langsung dengan industri IT. Mempelajari sedikit dari segalanya: sis. Administrasi Windows (bahkan MCP, MCSA berhasil mendapatkannya), sedikit VMware (VCP juga ada di celengan), juga mempelajari banyak program lain di sistem itu. biasanya digunakan admin dalam pekerjaan sehari-hari.

Saya mencoba sendiri dalam penjualan korporat, omong-omong, itu berhasil dengan baik. Saya berhasil bekerja sedikit dengan distributor perangkat lunak, serta dengan perusahaan integrator, dan memiliki pemahaman yang baik tentang kebijakan lisensi perangkat lunak. Ia berencana menjadi Project manager, bahkan mulai mempelajari PMBOK, manajemen waktu, berbagai standar internasional seperti ISO, Tier, bahkan berayun di PCI DSS.



Tetapi pada titik tertentu dia kelelahan, dan menyerahkan segalanya. Saya pergi berlibur selama 8 tahun, begitulah.

Setelah analisis yang panjang, saya tetap dewasa dan menyadari bahwa sudah waktunya untuk beralih ke barat, dan lebih disukai lebih dekat ke Lembah Silikon, karena dengan bahasa Inggris itu lebih atau kurang normal, Anda dapat naik ke tingkat yang disyaratkan.



Jelas tidak ada yang menungguku di sana, kecuali kak. admin, salesman dan manajer proyek di sana dan ada cukup banyak dari mereka sendiri. Selain itu, tanpa mengetahui situasi di pasar lokal, akan segera mungkin untuk mendapatkan pekerjaan, yah, setidaknya itu bermasalah.



Sebuah jalur dipilih di kepala saya bahwa sudah waktunya untuk berlatih kembali sebagai pengembang. Akan lebih mudah dan lebih baik dalam hal prospek dan pekerjaan di pasar barat. Selalu ada kekurangan programmer di pasar tenaga kerja, dan masih ada cukup programmer.



Apalagi, untuk waktu yang lama saya ingin belajar pemrograman dan berspesialisasi dalam pengarahan SAP. Jalur studi independen dasar-dasar, bahasa ABAP, dipilih, tetapi entah bagaimana meninggalkan bisnis ini. Saya tidak ingat untuk alasan apa, sepertinya karena kesulitan dalam memahami.



Sekarang ceritanya sendiri, ayo pergi ...



Jadi, setelah 8 tahun berhenti dari IT secara umum, saya mulai mempelajari pasar tenaga kerja luar negeri dan memutuskan untuk mulai mengkhususkan diri dalam pengembangan seluler. Setelah googling bahasa pemrograman untuk aplikasi seluler dan terinspirasi oleh fakta bahwa Google secara resmi mengumumkan bahasa Kotlin sebagai bahasa prioritas untuk aplikasi android, saya dengan tegas memutuskan untuk mempelajari Kotlin sendiri dalam waktu maksimal 1 tahun dan membuat rencana untuk imigrasi ke tempat tinggal permanen di Amerika Serikat.



Beberapa minggu menonton pelatihan dan membaca manual sudah cukup bagi saya untuk memastikan bahwa tidak ada yang bisa dilakukan di Kotlin tanpa pengetahuan tentang Java. Meski di Internet, banyak orang mengatakan bahwa Anda bisa belajar dari awal. Dan setelah mendaftar di GitHub, menginstal IntelliJ IDEA, JDK dan mencoba memahami kodenya, saya sudah mulai menyadari bahwa saya harus belajar untuk waktu yang sangat, sangat lama dan keras.

Diputuskan untuk mengesampingkan Kotlin untuk saat ini dan mempelajari lebih dalam bahasa java. Dan dia melakukannya. Eh, saya ingat waktu saya jawa masih gagasan SUN.



Saya dengan cepat beralih ke Java tanpa menyesal. dan ada lebih banyak manual untuk belajar mandiri dan masih banyak lagi lowongan untuk pengembang Java. Benar, saya tidak memutuskan dari mana memulainya akan lebih baik: dengan Java, atau masih beralih ke JS, tapi baiklah, saya pikir saya akan mencari tahu. Saya membaca di suatu tempat di forum bahwa jauh lebih mudah dan lebih cepat untuk memasuki dunia pengembangan dengan JS.

Saya mulai belajar Java dengan cara standar, setelah membaca segunung artikel dan menonton banyak video "Bagaimana menjadi pemrogram Java". Saya mengunduh buku oleh Bruce Eckel "The Philosophy of Java", sesuai dengan rekomendasi dari banyak orang di forum, sebagai permulaan yang paling tepat untuk memulai belajar bahasa untuk pemula.



Jadi saya akan memberi tahu Anda dengan jujur, ini sama sekali bukan untuk pemula.



Saya mencoba untuk tidak memperhatikannya dan terus membaca, daya cerna sekitar 20-25%, saya menyadari bahwa ini tidak akan berhasil. Kita harus mengerti bahasa C, dan bahkan di buku mereka secara teratur menulis hitam putih bahwa materinya dirancang untuk pembaca yang memiliki pengetahuan dasar-dasar bahasa C.



Tidak ada pilihan. Sekali lagi saya membaca banyak informasi, ratusan tayangan video tentang berbagai topik tentang bahasa C. Saya mengunduh buku oleh Kernighan dan Ritchie "Bahasa C", saya mulai belajar, asimilasi sudah lebih baik daripada di Jawa, jadi untuk berbicara, sekitar 50-60%, yang sama sekali tidak menyenangkan saya.



Satu hal yang meyakinkan adalah bahwa developer sejati semuanya memulai dengan bahasa C, dan juga setelah mempelajari C, bahasa lain, khususnya Java, akan dipahami berkali-kali lebih cepat dan lebih mudah diakses.



Namun, judul dalam buku tersebut seperti:

“Buku ini bukan kursus pengantar pemrograman; itu mengasumsikan beberapa keakraban dengan konsep pemrograman dasar seperti variabel, pernyataan tugas, loop, fungsi "

atau:

" mengasumsikan pengetahuan kerja elemen pemrograman dasar; tidak menjelaskan apa itu komputer atau penyusun, tidak menjelaskan arti ekspresi seperti N = N + 1 "

dan frasa seperti:

Konstanta simbolik.

dll.

bertahap membawa saya pada fakta bahwa saya tidak dapat melakukannya tanpa mempelajari Ilmu Komputer.

Pada saat yang sama, saya mulai mempelajari Ilmu Komputer, sekali lagi mengunduh banyak buku. Saya mendaftar untuk kursus Harvard CS50, mulai mempelajari dasar-dasar pemrograman, membaca dengan cermat buku "Theoretical Minimum in Computer Science" karya Vladston Ferreira Philo.



Saya perhatikan bahwa mempelajari bahasa C bergerak ke latar belakang, semakin banyak waktu yang dicurahkan untuk dasar-dasar pemrograman.



Dan jika dalam biner, variabel, fungsi, loop, compiler, interpreter, persamaan sederhana, dll. Saya mengetahuinya lebih atau kurang, lalu ekspresi seperti N = N + 1 dan persamaan yang lebih kompleks membuat saya mudah pingsan.



Untuk waktu yang lama saya menyelidiki mengapa 0 hingga 0 derajat sama dengan 1, dan saya merasa bahwa saya belum sepenuhnya memahami keseluruhan poin.



Tapi tugas ini membuat saya berhenti membaca buku tentang CS. semakin jauh saya membaca, semakin rumit persamaan dan masalahnya:







Saya harus mencari di google tentang persamaan kuadrat, seperti yang tertulis di buku, dan mempelajari diskriminan. Yah, aku lupa, pikirku, aljabar, dengan siapa tidak terjadi. Namun, saya tidak dapat menyelesaikan masalah saya sendiri, saya harus meminta bantuan dari guru sekolah matematika anak tersebut.



Saya mendapat solusi, tetapi saya tidak dapat memahami bagaimana guru memecahkannya:











Untuk pertanyaan saya: "bagaimana persamaan tersebut diselesaikan?", Jawabannya sangat sederhana:

"ajarkan studi tentang suatu fungsi, mulai analisis dan masalah pengoptimalan. Aljabar Kelas 10-11 ".

Baiklah, saya pikir, ok, saya akan menonton beberapa contoh video untuk anak sekolah di youtube, saya akan mengerti cara mengatasinya, dan kemudian saya akan “glock” pelajaran Ilmu Komputer.



Dan setelah menonton video ini tentang aljabar, saya sadar ...



www.youtube.com/watch?v=RbX_QHxu7Lg

www.youtube.com/watch?v=FVSG7Neopuo



Bukannya saya tidak ingat bagaimana menyelesaikan masalah seperti itu - Saya ternyata saya sama sekali tidak tahu Aljabar untuk kelas 10-11!



Ekspresi seperti: batas, pemikiran matematis, ekstrem, turunan, polinomial, dll. bagi saya ternyata seperti tutur kata dalam bahasa suku Maya.



Mungkin, pengetahuan matematika saya tetap pada level pelajaran matematika di kelas 5-6.



Saya mulai menyadari bahwa untuk mendapatkan gambaran lengkap tentang pemahaman Ilmu Komputer, saya perlu mempelajari kembali aljabar, dan kemudian HigherMat. Saya tidak mengecualikan bahwa kampanye kemungkinan besar perlu mengulang pelajaran fisika dan hal lain dari kurikulum sekolah. Dan sebelum benar-benar belajar Java dan JS, saya perlu 5 tahun mempelajari aljabar dan matematika tingkat tinggi.

Untuk terbang ke Mars dan kembali lebih cepat, hanya 1,5 tahun, menurut para ilmuwan ...



Jadi, setelah menganalisis satu setengah bulan terakhir dari studi independen, menjadi jelas bagi saya bahwa saya seperti "hamster dalam roda", seolah-olah saya sedang berlari (saya mempelajari ), tetapi sebenarnya saya masih berdiri. Saya belum menambah pengetahuan saya tentang pemrograman, kecuali saya dapat menjalankan program dalam bahasa C ("Halo, dunia").

Terlebih lagi, setelah banyak informasi baru masuk ke dalam otak kecil saya, tampaknya telah "ditutup" sama sekali, dan dengan tegas menolak untuk menerima informasi baru.

Algoritme yang saya buat untuk mempelajari pemrograman gagal hampir di awal.

Jelaslah bahwa Anda perlu merevisi rencana pelatihan dan pendekatannya.

Namun, saya belum sepenuhnya mengetahui gambaran tersebut, dan dari sisi mana seharusnya satu pendekatan sama sekali untuk memperoleh profesi "pengembang Java", karena pendidikan standar, dari dasar-dasar aljabar dan pendidikan tinggi, akan sangat panjang dan tidak sesuai dengan kasus saya.



Dan saat itulah aku sudah agak sedih.



Apakah butuh waktu lama untuk menjadi seorang programmer tanpa latar belakang teknis?

Tentu saja, saya terinspirasi oleh artikel di Internet, di mana orang menulis bahwa dalam 1,5 tahun mereka menjadi pengembang Java dan pergi ke Jerman, Kanada, AS, tetapi mengevaluasi pengalaman menyedihkan saya, saya tidak yakin ini mungkin.



Atau masih bukan milikku? Dan apakah profesi "pengembang" untuk elit, untuk "kasta orang istimewa"?



Saya tahu ada orang yang menguasai pemrograman tanpa menyelesaikan pendidikan tinggi di bidang ilmu komputer. Mereka ada banyak.



Dan saya sangat ingin bergabung dengan orang-orang yang luar biasa dan memiliki tujuan.

Berhenti berlangganan di komentar, pliz, yang berhasil menguasai pemrograman, serta visi Anda tentang mengapa rencana dan pendekatan saya untuk belajar gagal. Rekomendasi Anda akan sangat berguna bagi saya, merevisi rencana pembelajaran pemrograman saya, serta ambisi dan ekspektasi hasil akhir.



Saya ragu bahwa saya satu-satunya yang menghadapi masalah serupa. Saya bahkan dapat mengatakan bahwa ada banyak orang seperti saya ...



Terima kasih sebelumnya!



All Articles