Artikel ini bukan untuk penggunaan praktis. Kecuali seseorang bisa mendapatkan sedikit dorongan motivasi dengan bantuannya dan menunda-nunda.
Mulailah
Saya berkenalan dengan pemrograman dalam pelajaran ilmu komputer di kelas 9. Pada saat itu, karena penyakit bawaan, penglihatan saya hampir habis, dan selama beberapa tahun saya telah bersekolah di rumah. Ada banyak waktu luang, tetapi sedikit kegiatan yang menarik. Oleh karena itu, saya mengambil subjek baru dengan keinginan yang besar. Menulis program seperti memecahkan masalah matematika. Tapi di sini masalahnya bisa diajukan secara independen, dan pada akhirnya ada kode yang bisa menyelesaikannya tanpa Anda. Benar, pada awalnya, sampai saat saya belajar bekerja dengan komputer dengan telinga, itu hanya tinggal di kepala saya.
Sekolah sudah berakhir. Saya bahkan mengikuti ujian ilmu komputer, jadi saya terbawa oleh pelajaran ini. Selain itu, hingga saat ini belum jelas universitas mana yang akan dimasuki. Baik saya maupun orang tua saya tidak meragukan perlunya pendidikan tinggi. Tidak jelas arah mana yang harus dipilih.
Di satu sisi, saya selalu mendambakan matematika dan sains. Tapi bagaimana seseorang tanpa penglihatan bisa menunjukkan dirinya di sana? Masih memungkinkan untuk melanjutkan pengembangan menuju TI. Tetapi sebagai hasilnya, manajemen yang lebih kompromi dan universal dipilih. Apalagi di salah satu perguruan tinggi bidang keahlian ini terdapat pembelajaran jarak jauh. Itu menghilangkan kebutuhan untuk pindah ke kota besar sekarang. Jadi pada akhirnya itu terjadi. Tetapi setelah satu tahun studi, masalah pekerjaan di masa depan muncul dengan lebih jelas.
Saya hampir tidak bisa membayangkan diri saya sebagai seorang manajer. Apa yang akan saya lakukan? Apakah saya bisa menyadari diri saya? Secara umum, bagi penyandang tunanetra, memilih profesi bukanlah tugas yang sepele. Banyak yang pergi ke terapis pijat dan pengobatan terkait. Seseorang dapat melakukan terjemahan dan pekerjaan lain dengan teks. Secara umum, ada banyak tempat di mana Anda bisa mencoba sendiri. Namun selalu ada risiko besar menghadapi ketersediaan yang buruk dari sesuatu yang penting.
Bekerja dengan komputer, menurut saya, adalah arah yang tepat di mana orang buta bisa menunjukkan diri mereka dengan baik. Pertama, mereka sudah cukup mengenalnya. Menggunakan pembaca layar membutuhkan pengetahuan yang lebih dalam tentang sistem operasi, keyboard, tombol pintas, dan program daripada yang diperlukan oleh pengguna biasa. Ketikan sentuhan yang sama dalam kursus khusus dipelajari segera. Dan bagaimana lagi, kamu tetap tidak bisa mengintip.
Kedua, sebagian besar program dan hampir seluruh Internet dapat diakses dari keyboard sama seperti bekerja dengan mouse. Artinya tunanetra tidak akan ketinggalan jauh saat melakukan tugas sehari-hari. Dan di suatu tempat, karena pengetahuan yang lebih dalam tentang subjek, dan melampaui sisanya.
Nah, dan ketiga, saya menyukainya. Jadi, pada tahun kedua, saya kembali ke pemrograman, tetapi dengan tujuan kuat menjadikannya sebagai profesi saya.
Latihan
Ini adalah keyakinan mendalam saya bahwa masalah utama seorang pemula adalah dia tidak tahu apa sebenarnya pemrograman modern. Di celengan saya, saya memiliki kursus sekolah PascalABC.net, dan beberapa ratus masalah yang diselesaikan dari buku teks. Tetapi program nyata ditulis dalam hal lain, bukan? Dan tentang apa? Yang sebelumnya terdengar terlintas di benak: C ++, java, C #. Bagaimana mereka berbeda dan untuk apa mereka digunakan tidak jelas. Saya mulai dengan C ++. Saya menggali buku teks dari suatu tempat, di mana, sebagai pengantar dengan nada geek setengah bercanda, penulis membahas pro dan kontra dari fenomena mesin virtual java, pengumpulan sampah dan mode C # yang tidak aman, IDE, kompiler dan perpustakaan yang perlu kita kerjakan.
Setelah menjalankan beberapa bab pertama, menjadi jelas bahwa tutorial ini tidak ditulis untuk saya dan sekarang saya tidak dapat memahaminya. Seorang mentor dibutuhkan. Dan dia ditemukan.
Beberapa penggemar di milis untuk tunanetra mengumumkan pembukaan kursus pemrograman khusus untuk audiens seperti itu dan menawarkan untuk memilih teknologi mana yang ingin mereka gunakan. Saya memilih C ++ tanpa ragu. Apa itu php dan pengembangan web tidak diketahui, dan pembuatan game tampak seperti pekerjaan yang sembrono. Tapi pada akhirnya php menang. Mungkin karena sistem pemungutan suara internet buatan sendiri sama sekali tidak dilindungi dari penyaluran berulang.
Jadi vektor perkembangan saya tanpa sadar bergeser ke arah web. Kursus itu sendiri berlangsung lebih dari sebulan. Selama beberapa sesi sporadis, kami hanya punya waktu untuk mengetahui dasar-dasar html. Yang terakhir bahkan menulis beberapa baris di php. Tetapi antusiasme penyelenggara-dermawan dengan cepat menyusut, kelas-kelas yang diadakan semakin sedikit. Dan pada akhirnya mereka berhenti sama sekali. Tapi arahnya sudah ditetapkan, dan kemudian saya bisa mengikutinya sendiri. Namun, pertanyaan itu tetap tidak terjawab. Apa sebenarnya yang harus diketahui seorang programmer?
Di Internet, Anda dapat menemukan solusi untuk masalah sederhana apa pun. Tetapi gambaran keseluruhan dari membaca banyak artikel sempit tidak bertambah. Dan kemudian dalam perjalanan saya ada kursus video.
Saya telah membaca banyak pendapat tentang mereka. Lebih sering yang negatif muncul. Bahwa ini adalah pemborosan waktu dan uang yang sama sekali tidak berguna. Apa yang mereka pikat dengan janji-janji yang luar biasa, pada kenyataannya, tidak memberikan apa pun kecuali keyakinan lulusan bahwa dia sekarang adalah seorang guru pembangunan. Kursusnya tentu berbeda. Tetapi pada saat itu saya menemukan materi yang sangat bagus, dengan bantuan yang saya temukan struktur dasar php, pemrosesan formulir, otorisasi, sesi, cookie, bekerja dengan db, oop dan mvc dalam 2 bulan. Dan yang terpenting, dia melakukannya secara komprehensif. Setiap elemen melengkapi gambaran keseluruhan dari pengembangan server. Pada akhir tahap ini, saya sudah bisa membuat situs saya dengan logika non-standar dan merasa seperti spesialis sejati. Pemula, tetapi dengan pemahaman yang kuat tentang ke mana harus pindah selanjutnya.
Tugas pertama
Tetapi pertama-tama perlu mencoba menerapkan pengetahuan yang ada dalam praktik. Peningkatan dan pengembangan diri tidak ada habisnya. Tetapi profesionalisme melibatkan penerapan pengetahuan dalam praktik. Plus, mendapatkan hasil saat ini adalah insentif yang bagus untuk melanjutkan usaha Anda. Ya, dan saya pasti merasa perlu membuktikan pada diri saya sendiri bahwa saya benar-benar bisa.
Cara terbaik untuk melakukannya adalah dengan freelancing. Saya mendaftar di beberapa bursa dan mulai melacak pesanan. Dan kemudian sebuah hal yang menarik terbuka: hampir semuanya tentang frontend atau tentang php. Sampai saat itu, saya diam-diam menyesal mengambil arah ini. Saya tidak terlalu suka bahasa skrip. Itu tidak memiliki ketelitian pascal, tidak dapat dikompilasi, dan Anda tidak dapat menulis aplikasi PC di dalamnya. Dan inilah tepatnya, menurut pendapat saya saat itu, pembangunan itu seharusnya. Tetapi pasar kerja freelance dan jarak jauh telah mengubah posisi saya. Dan segera saya benar-benar menerima pesanan pertama saya.
Itu diperlukan untuk membuat halaman kustom khusus di crm. Itu harus menampilkan data pada aplikasi dan bekerja dalam format khusus, dan pengguna harus dapat menandainya dengan bendera. Crm sendiri tidak memiliki fungsi built-in untuk menyelesaikan tugas tertentu, tetapi memungkinkan untuk memperluas fungsinya menggunakan bahasa yang digunakan untuk menulisnya sendiri - php.
Cukuplah untuk mengatakan bahwa saya melakukan tugas itu selama satu atau dua hari selama 2 minggu. Terutama karena fakta bahwa di luar kebiasaan, sangat sulit untuk mengetahui dengan tepat bagaimana crm bekerja. Dan di mana Anda bisa melihat skema database-nya. Namun pada akhirnya, semua persyaratan terpenuhi dan pelanggan sangat senang. Karena, seperti yang saya pahami nanti, pengembang lain sama sekali tidak mau menggunakan crm seperti itu.
Kerangka
Tapi "raja lepas" bukanlah gelar yang menginspirasi saya di awal perjalanan. Sesuatu yang lebih kuat, arsitektural diperlukan, dengan bantuan di mana perusahaan yang serius menciptakan layanan pengguna yang kompleks dan berteknologi maju - sebuah kerangka kerja. Saya mendengar kata ini di kursus video, di mana kedua guru mengatakan bahwa ini adalah alat utama pekerjaan mereka. Jelas bahwa itu perlu menuju ke arah itu.
Untuk memulainya, pemicu kode dipelajari. Itu adalah salinan modifikasi dari kerangka MVC yang kami buat sendiri dalam kursus. Itu sesederhana gabus, tetapi sudah memungkinkan membuat situs nyata. Namun, saya berkenalan dengan kualitasnya pada pesanan pertama untuk revisi beberapa layanan. Saya hampir tidak akan melupakan 700 baris kode aksi pengontrol ini. Tentu saja, Anda dapat menulis kode buruk pada apa saja, tetapi CI sepertinya hanya memprovokasi. Tidak heran dia sebagian besar adalah masa lalu.
Lebih jauh lagi, sebelum saya, seperti sebelumnya, 3 jalan terbuka: yii, laravel dan symfony. Setelah sedikit evaluasi, saya memilih yang terakhir. Untuk alasan yang murni subjektif, tentu saja:
- Saya sangat menyukai struktur dan konfigurasi foldernya melalui penjelasan.
- Dalam ulasan di Internet, rasa hormat dibaca tentang dia. Bagi saya, itu adalah instrumen yang kuat dan sangat kompleks. Terkadang berlebihan dalam kekuatannya. Tetapi setelah menguasainya, Anda selalu dapat melihat ke bawah pada game-game di kotak pasir dunia php dengan sedikit juling.
Saya mulai belajar. Dan cara terbaik untuk menguasai platform baru adalah dengan melakukan sesuatu yang menarik. Kembali ke sekolah, saya menulis program untuk adik saya belajar berhitung. Generator angka acak dan empat operasi aritmatika dasar. Anak memecahkan sejumlah contoh, dan pada akhirnya jumlah kesalahan dihitung dan nilai diberikan. Suatu hal yang sangat berguna pada tahap pelatihan tertentu. Dan sekarang ini dapat diterapkan pada tingkat teknologi baru.
Butuh banyak waktu. Saya lakukan dan merombak. Dan secara paralel, simfoni itu mengerjakan ulang otak saya, karena saya benar-benar tidak ingin menyerah pada gagasan untuk mendorong wadah pada intinya. Saya menemukan banyak komponennya. Mengupgrade dari versi 3 ke versi 4 dan mempelajari git. Sekitar enam bulan kemudian, saya memeriksa realitas mimpi merah muda meluncurkan aplikasi super saya ke dalam cahaya. Saya sedikit berduka karena hasil nol dan menyadari bahwa sudah waktunya untuk pindah ke tingkat berikutnya - mencari pekerjaan nyata.
Bersambung.