Pesan untuk programmer masa depan

Jadi, Anda memutuskan untuk menjadi seorang programmer.

Mungkin Anda tertarik untuk menciptakan sesuatu yang baru.

Mungkin gaji besar menggiurkan Anda.

Mungkin Anda hanya ingin mengubah bidang aktivitas Anda.

Bukan intinya.

Yang penting adalah Anda memutuskan menjadi seorang pemrogram.

Apa yang harus dilakukan sekarang?

Pesan untuk programmer masa depan

Dan ada beberapa pendekatan.

Pertama: pergi ke universitas untuk spesialisasi TI dan menerima pendidikan khusus. Cara yang paling dangkal, relatif dapat diandalkan, sangat panjang, dan paling mendasar. Ini berhasil jika Anda masih menyelesaikan sekolah, atau Anda memiliki sarana untuk menghidupi diri sendiri dari satu setengah (paling baik, jika Anda menyelesaikan semuanya dengan cepat dan dapat mulai bekerja pada tahun ke-2) hingga empat (jika menggabungkan pekerjaan dan belajar bukan kelebihanmu) tahun.

Apa yang penting untuk diketahui di sini?

  • Penting untuk memilih universitas yang tepat. Lihat program pelatihan, peringkat. Indikator yang baik adalah kompetisi dari universitas. Jika tim universitas setidaknya secara berkala menempati posisi sepuluh besar di olimpiade pemrograman yang relatif besar, maka coding di universitas tidak akan menjadi hal yang mendasar (terlepas dari kenyataan bahwa Anda secara pribadi mungkin tidak tertarik dengan olimpiade sama sekali). Secara umum, akal sehat berlaku: kecil kemungkinan Universitas Negeri Baikal cabang Bratsk akan menjadikan Anda pemain yang kuat.
    Contoh universitas yang bagus: Universitas Negeri Moskow/Universitas Negeri St.Petersburg (tentu saja), Baumanka (Moskow), ITMO (St. Petersburg), NSU (Novosibirsk). Terlepas dari semua keunggulannya, sangat mungkin untuk mencapainya dengan anggaran terbatas, jika Anda tidak menargetkan departemen teratas.
  • Bukan hanya universitas. Meskipun Anda akan dilatih secara komprehensif dalam segala hal, ini tidak cukup. Karena birokrasi, program pelatihan hampir selalu tertinggal dari tren modern. Paling-paling - selama satu atau dua tahun. Paling buruk - selama 5-10 tahun. Anda harus membuat perbedaannya sendiri. Yang jelas: jika Anda mempelajari materi tersebut bersama siswa lain, maka masing-masing dari mereka akan menjadi pesaing setara Anda. Jika Anda memilih untuk tampil lebih dulu, Anda akan terlihat jauh lebih baik di pasar.
  • Carilah pekerjaan sedini mungkin. Saya mulai bekerja di tahun kedua saya. Pada akhir universitas, saya sudah menjadi pengembang menengah, dan bukan seorang junior sederhana yang tidak memiliki pengalaman. Menurut saya sudah jelas bahwa setelah lulus kuliah, mendapatkan 100k lebih menyenangkan daripada mendapatkan 30k. Bagaimana cara mencapainya? Pertama, lihat poin A dan B. Kedua, hadiri pertemuan, festival, konferensi, bursa kerja. Pantau pasar dan cobalah mendapatkan pekerjaan sebagai junior/peserta pelatihan paruh waktu di perusahaan mana pun yang setidaknya cocok untuk Anda. Jangan takut dengan konferensi berbayar: mereka sering kali menawarkan diskon yang sangat menarik untuk pelajar.

Jika Anda mengikuti semua poin ini, maka pada saat Anda menerima diploma, Anda bisa menjadi spesialis yang sangat baik dengan pengalaman kerja dan banyak pengetahuan dasar, yang sering diabaikan oleh orang otodidak karena sifatnya yang tidak diterapkan. Nah, kerak bumi dapat membantu jika Anda pergi ke luar negeri: mereka cukup sering melihatnya di sana.

Jika Anda tidak mematuhi... Nah, Anda bisa mendapatkan nilai dengan mengikuti arus, menyalin, dan mempersiapkan ujian dalam semalam. Namun menurut Anda, seberapa kompetitifkah Anda nantinya? Tentu saja, saya tidak mengatakan bahwa Anda harus mendapat nilai A dalam segala hal. Anda hanya perlu menimba ilmu. Gunakan akal sehat. Pelajarilah apa yang menarik dan bermanfaat, dan jangan pedulikan nilai.

Pesan untuk programmer masa depan

Hal utama bukanlah apa yang mereka coba tekankan ke dalam diri Anda. Yang penting menarik dan relevan

-

Selanjutnya, cara kedua: kursus pemrograman. Internet benar-benar penuh dengan tawaran untuk menjadikan Anda junior hanya dalam 3 bulan kelas. Hanya dengan portofolio, dan mereka bahkan akan membantu Anda mendapatkan pekerjaan. Hanya 10k sebulan, ya.
Mungkin ini akan berhasil untuk beberapa orang, tapi murni IMHO: ini benar-benar omong kosong. Jangan buang waktu dan uang Anda. Dan itulah kenapa:

Seseorang yang jauh dari IT tidak akan bisa memahami secara spesifik profesinya dalam 3 bulan. Tidak mungkin sama sekali. Ada terlalu banyak informasi untuk diserap, terlalu banyak untuk dipahami, dan terlebih lagi, terlalu banyak untuk dibiasakan.

Lalu apa yang akan mereka jual padamu? Mereka akan menjual Anda “keterampilan mekanis”. Tanpa terlalu mendalami detailnya, mereka akan menunjukkan kepada Anda apa yang perlu Anda tulis untuk mendapatkan hasil yang persis seperti ini. Dengan instruksi rinci dan bantuan seorang guru, Anda akan menulis semacam aplikasi. Satu, maksimal dua. Berikut portofolionya. Dan bantuan dalam mencari pekerjaan adalah mengirimkan lowongan kerja kepada junior dari perusahaan besar di mana kemungkinan besar Anda tidak akan mendapatkan wawancara.

Mengapa demikian? Sederhana saja: sangat penting bagi seorang programmer untuk berpikir abstrak. Seorang programmer memecahkan masalah yang dapat diselesaikan dengan jutaan cara yang mungkin. Dan tugas utamanya adalah memilih satu, yang paling benar, dari miliaran, dan mengimplementasikannya. Membuat satu atau dua proyek sesuai instruksi akan memberi Anda pengetahuan tentang bahasa pemrograman, tetapi tidak akan mengajari Anda cara memecahkan masalah abstrak. Sebagai analogi: bayangkan mereka berjanji untuk mengajari Anda orienteering, membawa Anda melalui beberapa rute pendakian sederhana, dan kemudian mengatakan bahwa Anda siap menaklukkan taiga di musim dingin sendirian. Nah, kamu diajari menggunakan kompas dan menyalakan api tanpa korek api.

Kesimpulannya: jangan percaya mereka yang berjanji akan “menggulingkan” Anda dalam waktu singkat. Jika ini mungkin, semua orang pasti sudah menjadi programmer sejak lama.

Pesan untuk programmer masa depan

Kiri: Apa yang akan diajarkan kepada Anda. Benar: Apa yang diminta dari Anda di tempat kerja?

-

Jalan yang ketiga - jalan yang dipilih oleh mayoritas. pendidikan mandiri.

Cara yang paling sulit, tapi mungkin cara yang paling mulia. Mari kita lihat lebih detail.

Jadi Anda memutuskan untuk menjadi seorang programmer. Mulai dari mana?

Pertama-tama, Anda perlu menjawab sendiri pertanyaan: mengapa Anda menginginkan ini? Jika jawabannya adalah “Yah, tentu saja, ini tidak terlalu menarik, tapi mereka membayar banyak”, maka Anda bisa berhenti di situ. Ini bukan tempat untukmu. Sekalipun kemauan Anda cukup untuk menyaring sekumpulan informasi, menulis ribuan baris kode, menanggung ratusan kegagalan, dan tetap mendapatkan pekerjaan, akibatnya, tanpa kecintaan pada profesi tersebut, hal ini hanya akan berujung pada kelelahan emosional. Pemrograman membutuhkan upaya intelektual yang sangat besar, dan jika upaya ini tidak didorong oleh imbalan emosional dalam bentuk kepuasan atas masalah yang terpecahkan, maka cepat atau lambat otak akan menjadi gila dan menghilangkan kemampuan Anda untuk menyelesaikan apa pun. . Bukan skenario yang paling menyenangkan.

Jika Anda yakin tertarik dengan hal ini, maka Anda dapat memutuskan secara spesifik - apa sebenarnya yang ingin Anda lakukan. Jika Anda tidak tahu perbedaan programmer satu sama lain, Google dapat membantu Anda.

Saya akan segera menulis nasihat pertama agar Anda tidak lupa: belajar bahasa Inggris. Bahasa Inggris diperlukan. Anda tidak bisa pergi ke mana pun tanpa bahasa Inggris. Mustahil. Tanpa bahasa Inggris Anda tidak bisa menjadi programmer biasa. Itu dia.

Selanjutnya, disarankan untuk membuat peta jalan: rencana yang akan Anda kembangkan. Pelajari secara spesifik, lihat lowongan di bidang spesialisasi Anda, cari tahu secara dangkal jenis teknologi apa yang digunakan di sana.

Contoh peta jalan untuk programmer backend (tidak untuk semua orang, tentu saja, ini hanyalah salah satu opsi yang memungkinkan):

  1. Dasar-dasar html/css.
  2. ular piton. Dasar-dasar.
  3. Pemrograman jaringan. Interaksi antara python dan web.
  4. Kerangka kerja untuk pembangunan. Django, labu. (catatan: hanya untuk memahami apa itu "django" dan "flask", Anda perlu melihat lowongan dan membaca apa yang diperlukan di sana)
  5. Studi mendalam tentang python.
  6. js dasar.

Itu sangat, Saya ulangi, sangat rencana kasar, yang masing-masing poinnya sangat besar, dan banyak topik tidak disertakan (misalnya, pengujian kode). Tapi ini setidaknya semacam sistematisasi pengetahuan yang akan membuat Anda tidak bingung tentang apa yang Anda ketahui dan apa yang tidak Anda ketahui. Saat kita mempelajarinya, akan menjadi lebih jelas apa yang hilang, dan peta jalan ini akan dilengkapi.

Berikutnya: temukan bahan yang akan Anda gunakan untuk belajar. Opsi utama yang memungkinkan:

  • Kursus online. Bukan kursus yang “Juni dalam 3 hari”, tetapi kursus yang mengajarkan satu hal tertentu. Seringkali kursus ini gratis. Contoh situs dengan kursus normal: langkah, coursera.
  • Buku pelajaran online. Ada yang gratis, shareware, berbayar. Anda akan menentukan sendiri di mana harus membayar dan di mana tidak. Contoh: htmlakademi, belajar.javascript.ru, buku Django.
  • Buku. Ada banyak sekali. Jika Anda tidak bisa memilih, ada tiga nasihat: cobalah mengambil buku baru, karena... informasi menjadi ketinggalan jaman dengan sangat cepat; Penerbit O'Reilly memiliki tingkat kualitas yang cukup tinggi dan penyajian yang normal; Jika memungkinkan, bacalah dalam bahasa Inggris.
  • Pertemuan/konferensi/ceramah. Tidak begitu berguna dalam hal kekayaan informasi, tetapi sangat berguna dalam hal kesempatan berkomunikasi dengan rekan kerja, mengajukan pertanyaan yang relevan, dan mendapatkan kenalan baru. Bahkan mungkin menemukan lowongan.
  • Google. Banyak orang yang menganggap remeh, padahal kemampuan untuk sekadar menemukan jawaban atas beberapa pertanyaan sangatlah penting. Jangan ragu untuk mencari di Google hal-hal yang tidak Anda mengerti. Bahkan para senior berpengalaman pun melakukan hal ini. Kemampuan menemukan informasi dengan cepat tentang sesuatu pada hakikatnya sama dengan mengetahuinya.

Oke, kami sudah memutuskan sumber informasinya. Bagaimana cara bekerja dengan mereka?

  1. Baca/dengarkan baik-baik. Jangan membaca ketika Anda lelah. Selidiki maknanya, jangan lewatkan poin-poin yang tampak jelas. Seringkali transisi dari hal yang jelas ke hal yang tidak dapat dipahami terjadi cukup cepat. Jangan ragu untuk kembali dan membaca ulang.
  2. Ambil catatan. Pertama, Anda akan lebih mudah memahami catatan Anda bila informasinya banyak. Kedua, dengan cara ini informasi dapat diserap lebih baik.
  3. Lakukan semua tugas yang disarankan sumber kepada Anda. Meski tidak, tidak seperti itu. Melakukan SEMUA tugas yang ditawarkan sumber kepada Anda. Bahkan yang terlihat sederhana sekalipun. Terutama yang terkesan terlalu rumit. Jika Anda mengalami kebuntuan, mintalah bantuan aliran tumpukan, setidaknya melalui Google Translate. Tugas ditulis karena suatu alasan, tugas tersebut diperlukan untuk asimilasi materi yang benar.
  4. Buatlah tugas sendiri dan kerjakan juga. Idealnya, harus ada lebih banyak praktik daripada teori. Semakin erat Anda mengamankan materi tersebut, semakin besar kemungkinan Anda tidak akan melupakannya dalam sebulan.
  5. Opsional: buatlah kuis untuk diri Anda sendiri saat Anda membaca. Tuliskan pertanyaan rumit di sumber terpisah, dan setelah seminggu atau bulan, baca dan coba jawab. Jika tidak berhasil, coba lagi.

Dan 5 poin ini kami ulangi untuk setiap teknologi yang dipelajari. Hanya dengan cara ini (dengan studi teori yang menyeluruh dan cakupan praktik yang padat) Anda akan mengembangkan basis pengetahuan berkualitas tinggi yang dapat digunakan untuk menjadi seorang profesional.

Dan tampaknya semuanya sederhana: kita mempelajari teknologi satu per satu, memahami Zen, dan mulai bekerja. Begitulah adanya, tapi sebenarnya tidak.

Kebanyakan orang yang belajar pemrograman melakukan hal seperti ini:

Pesan untuk programmer masa depan

gambar itu sejujurnya dicuri karenanya

Dan di sini Anda perlu melihat setiap langkah secara lebih rinci:

Mulai: Anda tidak mempunyai pengetahuan apa pun. Titik tolak. Belum ada yang jelas, tapi mungkin ini sangat menarik. Jalannya mulai menanjak, namun ringan. Segera Anda akan mendaki

Puncak Kebodohan: “Hore, Anda telah menyelesaikan beberapa kursus pertama Anda! Semuanya berhasil!” Pada tahap ini, euforia kesuksesan pertama membutakan mata. Tampaknya kesuksesan sudah dekat, meski Anda masih berada di awal perjalanan. Dan saat berjuang untuk mencapai kesuksesan ini, Anda mungkin tidak menyadari bagaimana kejatuhan Anda yang cepat ke dalam lubang akan dimulai. Dan nama lubang ini:

Lembah Keputusasaan: Jadi, Anda telah menyelesaikan kursus dasar, membaca beberapa buku, dan memutuskan untuk mulai menulis sesuatu sendiri. Dan tiba-tiba tidak bekerja. Tampaknya semuanya sudah diketahui, tetapi bagaimana cara menggabungkannya agar berfungsi tidak jelas. "Saya tidak tahu apa-apa", “Saya tidak akan berhasil”. Pada tahap ini banyak orang yang menyerah. Padahal, ilmu pengetahuan benar-benar ada, dan belum menguap kemana-mana. Persyaratan dan dukungan yang jelas hilang begitu saja. Pemrograman sebenarnya dimulai. Ketika harus bermanuver di ruang yang ada tujuannya, tetapi tidak ada tahap peralihan, banyak orang yang jatuh pingsan. Namun kenyataannya, ini hanyalah tahap pembelajaran lainnya - bahkan jika sepuluh kali pertama semuanya menjadi buruk, dengan usaha yang sangat besar. Hal utama adalah menyelesaikan masalah ini berulang kali, setidaknya entah bagaimana. Kesebelas kalinya segalanya akan menjadi lebih mudah. Pada tanggal lima puluh, akan muncul solusi yang tampak indah bagi Anda. Pada keseratus itu tidak akan menakutkan lagi. Dan kemudian hal itu akan datang

Kemiringan Pencerahan: Pada tahap ini, batas pengetahuan dan ketidaktahuan Anda terlihat jelas. Ketidaktahuan tidak lagi menakutkan, ada pemahaman cara mengatasinya. Akan lebih mudah untuk bermanuver di luar angkasa tanpa mengambil keputusan. Ini sudah menjadi garis finis. Sudah menyadari kekurangan Anda sebagai seorang spesialis, Anda akan menyelesaikan dan mengkonsolidasikan apa yang diperlukan dan memasuki lapangan dengan jiwa yang tenang.

Dataran Tinggi Stabilitas: Selamat. Ini adalah garis finisnya. Anda adalah seorang ahli. Anda bisa bekerja, Anda tidak akan tersesat ketika dihadapkan dengan teknologi asing. Hampir semua masalah dapat diatasi jika Anda melakukan upaya yang cukup. Meskipun ini adalah garis finis, ini hanyalah awal dari perjalanan yang lebih besar.

Jalur programmer.

Semoga berhasil dengan ini!

Sastra untuk bacaan opsional:
Tentang menjadi seorang programmer dan efek Dunning-Kruger: TYK.
Cara keras untuk menjadi programmer dalam 9 bulan (tidak cocok untuk semua orang): TYK.
Daftar proyek yang dapat Anda laksanakan secara mandiri selama masa studi Anda: TYK.
Sedikit motivasi tambahan: TYK.

Sumber: www.habr.com

Tambah komentar