Kami tahu bahawa pelajar CodeGym ingin mendengar cerita mereka yang sudah bekerja dalam IT. Oleh itu, kami telah mengambil perkara ke tangan kami sendiri dan melancarkan satu siri tentang pembangun dari pelbagai negara dan syarikat, yang telah menamatkan latihan Java kami. Cerita ini mengenai Irina. Di sekolah dan universiti, dia menyukai sains teknikal. Dia tahu sedikit tentang pengaturcaraan tetapi memilih untuk mengambil kerja dalam pengiklanan kontekstual. Namun, Irina mahu mencuba perkembangannya. Pada suatu hari, dia menerima e-mel yang memaklumkan bahawa pelatih pembangun sedang diupah untuk perkhidmatan tertentu. Dan walaupun heroin kami tidak lulus temu duga, pengalaman itu mendorongnya untuk mula belajar Java."Tidak perlu melawan kejahatan dalam pembangunan, tetapi anda juga tidak boleh menyentuhnya": kisah Irina the Programmer - 1

"Saya pasti mahu mencuba sendiri dalam pembangunan"

Selepas gred 9, apabila saya terpaksa membuat pilihan hala tuju untuk pengajian lanjutan (iaitu landasan teknikal, kemanusiaan, ekonomi dan perubatan), saya terbelah antara landasan kemanusiaan dan teknikal. Bagi saya, kemanusiaan mewakili kerjaya sebagai wartawan, mengecam kejahatan dan memperjuangkan perkara baik di seluruh dunia. Semasa saya merenung trek teknikal, saya fikir, jika saya tidak melawan kejahatan, sekurang-kurangnya saya tidak akan menyentuhnya. Saya mengikuti laluan yang paling kurang rintangan dan memilih trek teknikal. Selepas sekolah, saya memasuki universiti, dalam jurusan Sains Komputer dan Kejuruteraan Komputer. Malangnya, universiti tidak menyediakan apa-apa kemahiran dalam mana-mana bahasa tertentu. Dengan cara yang tidak bersambung, saya mempelajari beberapa perkara tentang C++, C#, JavaScript dan reka letak UI. Pada tahun ketiga saya, saya secara rawak berminat dengan pengiklanan kontekstual dan kebetulan mendapat pekerjaan di sebuah syarikat yang agak terkenal. Akibatnya, saya kekal dalam pengiklanan selama 2 tahun. Saya menikmati kejayaan yang baik, tetapi saya pasti mahu mencuba sendiri dalam pembangunan. Kembali saya ke pengaturcaraan juga tanpa rancangan yang difikirkan dengan baik: Saya menerima e-mel di tempat kerja tentang perkhidmatan baharu yang ingin mengupah pelatih pembangun Java. Saya memutuskan untuk pergi ke temuduga. Sudah tentu, pada masa itu pengetahuan asas saya tidak mencukupi untuk mendapatkan tawaran, tetapi episod ini mendorong saya untuk mencari beberapa sumber tentang Java. Saya terjumpa kursus ini di Internet. Mereka tidak menarik saya pada mulanya: semua gambar lucu dan cerita robot menjadikannya kelihatan tidak serius kepada saya, tetapi saya sangat menyukai peluang untuk berlatih dan menyemak tugas saya. Saya berlarutan dan memutuskan untuk mencubanya, dan kemudian saya ditarik masuk.

"Saya gagal dalam beberapa temuduga pertama"

Saya belajar tanpa jadual yang tegar, sesuai dan bermula: semasa rehat di tempat kerja, kadang-kadang pada waktu malam. Kira-kira Tahap 16-17, saya mula mencuba untuk mencari pekerjaan. Pada masa itu, saya telah belajar selama kira-kira tiga bulan dengan beberapa rehat. Jika anda tidak mempunyai pengalaman kerja, maka mereka suka bertanya tentang algoritma, tetapi saya juga hampir tidak mengetahuinya. Jadi saya gagal beberapa temuduga pertama. Saya terpaksa membuat persediaan lebih, mencari soalan yang paling kerap ditanya, dan menghafal jawapannya. Saya segera mempelajari SQL, mempelajari sistem versi kod (IMO, CodeGym menyebut Git pada tahap lanjutan yang tidak munasabah, tidak sehingga Tahap 30) dan prinsip SOLID, dan mempelajari algoritma pengisihan. Akhirnya, saya diupah sebagai pembangun junior di sebuah syarikat kecil. Tugas saya dalam tugas pertama saya adalah sangat remeh: membangunkan fungsi sistem baharu, menggilap fungsi sedia ada, membetulkan pepijat. Kami menggunakan metodologi air terjun: ahli perniagaan menghantar tugas, penganalisis menerangkannya dengan lebih terperinci, pembangun melaksanakannya, penganalisis mengujinya, dan kemudian pembangun melancarkannya ke dalam produk. Kami tidak menggunakan sebarang teknologi khas: kami menulis segala-galanya dalam Java tulen — monolit dan bukannya perkhidmatan mikro. Untuk bekerja dengan pangkalan data, kami menggunakan rangka kerja sumber tertutup proprietari kami sendiri. Terdapat lautan kesukaran pada mulanya — daripada mempelajari cara memuat naik projek ke repositori, kepada cara menulis permintaan ke pangkalan data supaya ia tidak tamat masa. Saya terpaksa google banyak tentang bekerja dengan JSON, SOAP, tentang apa itu Maven, dan tentang cara membina projek Maven. Saya tidak meninggalkan pembelajaran. Saya cuba belajar sekurang-kurangnya setiap hari, tetapi ada beberapa kali saya terpaksa mengenepikannya selama sebulan. Tetapi matlamat saya adalah untuk menamatkan 40 peringkat yang dihargai. Secara selari, saya mengikuti kursus tentang rangka kerja Spring. Musim bunga telah membuka banyak peluang baharu untuk saya, dan tawaran yang saya terima terima kasih kepada resume saya telah berlipat kali ganda. Semasa kuarantin, saya menukar kerja dan bertukar kepada projek dengan seni bina perkhidmatan mikro. Kami sedang mencipta perkhidmatan untuk mencari, menjual, membeli dan memajak hartanah kediaman dan komersial, serta memohon dan memberi perkhidmatan gadai janji. 80% daripada perkhidmatan kami ditulis dalam Kotlin. 20% lagi ditulis dalam Java.

Rancangan saya untuk masa terdekat ialah:

  1. Penyerapan yang lebih mendalam dalam seni bina. Saya ingin mendalami reka bentuk seni bina bahagian belakang.

  2. Belajar C++. Saya fikir ini pasti berguna untuk mana-mana pengaturcara — untuk dapat, jika perlu, menulis bahagian aplikasi yang perlu berjalan dengan sangat pantas. Ini akan berguna untuk sebarang pengiraan matematik yang kompleks.

  3. DevOps. Sesetengah syarikat juga menjadikan kemahiran ini sebagai keperluan wajib untuk pengaturcara. Dan ia pasti akan berguna di mana-mana syarikat lain.

Saya tidak menyesal sama sekali kerana pada gred 9 saya memilih trek teknikal dan dua tahun lalu saya cukup berani untuk meninggalkan pengiklanan dan memulakan kerjaya pengaturcaraan. Pembangunan adalah sejenis keajaiban, satu cara untuk menjadikan perkara yang rumit mudah untuk orang ramai, untuk menggantikan kekeliruan dengan kejelasan. Saya sedang berusaha untuk menarik adik lelaki saya yang berumur 12 tahun berminat dalam pengaturcaraan. Setahun yang lalu saya memberinya kit permulaan Arduino dan saya sedang berfikir untuk membeli buku untuknya tentang pengekodan Python untuk Minecraft. Apabila dia menjadi lebih besar, saya akan memperkenalkan dia kepada CodeGym. Saya rasa dia akan menyukainya. Satu perkara penting yang saya dapat daripada CodeGym ialah kesedaran saya bahawa anda benar-benar tidak perlu takut untuk membayar bahan yang bagus. Ia akan membayar seratus kali ganda.

Petua untuk pembangun pemula:

  • Teruskan pengaturcaraan. Kerja pengaturcara sepenuhnya terdiri daripada menyelesaikan masalah tertentu, dan mencari ralat tertentu, dan membetulkannya. Kadang-kadang ini mungkin (dan pasti akan!) kelihatan sangat sukar, membosankan, dan menjengkelkan, tetapi apabila anda akhirnya menyelesaikan masalah itu, ia terasa seperti satu kejayaan sebenar, kemenangan, hampir penemuan. Dan kitaran ini berulang. Kemarahan, penerimaan, percubaan panjang, dan kegagalan yang tidak berkesudahan, kemudian kemenangan. Keseronokan kerja pengaturcara terletak pada jangkaan kejayaan dan kemenangan seterusnya. "Tidak perlu melawan kejahatan dalam pembangunan, tetapi anda juga tidak boleh menyentuhnya": kisah Irina the Programmer - 2
  • Teruskan belajar bila-bila masa dan di mana sahaja boleh. Baca artikel dan buku. Cari dan ambil kursus dalam pelbagai bidang pembangunan perisian. Pastikan anda mencuba teknologi baharu. Gunakannya pada projek peribadi anda. Berinteraksi dengan orang lain yang berminat dengan pembangunan perisian. Bertukar pengalaman dan idea. Suatu ketika dahulu, ia bercakap dengan orang yang bercita-cita tinggi yang membantu saya untuk tidak merana di syarikat pertama saya dan tidak takut untuk meneruskan.

  • Oleh itu petua ketiga saya — Jangan takut mengubah perkara : kerja baharu, rangka kerja baharu, bahasa baharu (maafkan saya, CodeGym). Semua kemenangan besar saya ke atas diri saya berlaku tepat pada masa saya bertukar kerja. Pada mulanya, nampaknya menakutkan untuk pergi ke suatu tempat tanpa menguasai sepenuhnya teknologi atau bahasa, tetapi ini merangsang banyak pertumbuhan, semasa anda mempelajari teknologi atau bahasa yang tidak diketahui ini. Angin kedua anda bermula, dan anda mendapat makna istimewa dalam memahami dan mempelajari sesuatu yang baharu.

  • Bersikap munasabah dalam menilai kekuatan anda. Walaupun anda boleh menggabungkan pekerjaan, belajar bebas di rumah, beberapa kursus dalam talian, universiti, dan mungkin keluarga, untuk sementara waktu, terdapat peluang besar untuk anda keletihan. Malangnya, saya mengenali beberapa lelaki yang melemahkan dan meninggalkan pengaturcaraan selepas tempoh yang berpanjangan menggabungkan universiti, bekerja dengan untung, dan juga bekerja sebagai pelatih pemaju tanpa gaji. Jika mereka telah mengambil cuti tambahan atau cuti akademik di universiti, jika mereka telah mengambil satu hari untuk bercuti dan mengetepikan belajar jika mereka telah berehat dari kursus dalam talian mereka selama beberapa minggu, maka mungkin semuanya akan menjadi. berbeza.