Bagaimana menjadi pengembang Java dalam 1,5 tahun

Nama saya Sergey, saya berusia 40 tahun dan sekarang saya bekerja sebagai pengembang Java di perusahaan Jerman. Kami sedang mengembangkan perangkat lunak untuk tempat pembuatan bir penilaian risiko keuangan dan kredit. Ini adalah pekerjaan pertama saya sebagai pengembang. Sebelum itu, saya bekerja di bidang dukungan TI dan integrasi sistem. Pada tanggal 1 Februari 2019, masa percobaan enam bulan saya berakhir, dan saya memiliki kontrak yang tidak terbatas. Saya ingin berbagi pengalaman tentang cara belajar Java secara mandiri sedemikian rupa untuk mendapatkan pekerjaan.



Ini desktop saya. Kami diizinkan minum bir selama jam kerja, kami berada di Jerman.


Artikel pertama saya: “ IT emigrasi dengan keluarga. Dan terutama pekerjaan mencari di kota kecil di Jerman, ketika Anda sudah ada di sana


Artikel kedua saya: " Mendapatkan pekerjaan di Jerman akan lebih mudah ."


Penafian


Saya akan segera mengatakan bahwa semua jenis "belajar tampil dalam 10 hari" (21 hari, 30 hari, dll.) Adalah utopia. Tidak ada pil merah untuk dengan cepat masuk ke dalam matriks. Tetapi selama satu atau dua tahun secara paralel dengan tempat kerja utama - ini cukup nyata.


Apa yang saya miliki di aset saya sebelum saya mulai belajar Java


Pada awalnya saya ingin menamai artikel "Bagaimana menjadi pengembang Java dalam 1,5 tahun dari awal ", tetapi berubah pikiran. Saya datang ke pemrograman bukan dari bidang yang sama sekali berbeda, tetapi dari IT. Tapi saya tidak bekerja dalam pengembangan, tetapi mendukung. Ada kemungkinan bahwa tidak akan mudah bagi pengemudi truk untuk mengulangi langkah saya untuk menjadi seorang programmer. Meskipun, jika istri saya berhasil pada 34 untuk melatih kembali dari humaniora murni ke pengembang (atau tester), maka saya akan menulis artikel lain.


Perlu dikatakan bahwa saya sudah tahu kapan saya memutuskan untuk menjadi pengembang.
Di universitas selama 2 semester kami mempelajari pemrograman dalam C dan C ++. Tidak ada yang istimewa atau pengetahuan yang mendalam. Menyerah - lupa. Selanjutnya, sebagai mahasiswa, saya menulis beberapa program Delphi sederhana untuk diri saya sendiri. Dan itu dia. Itu lebih dari 20 tahun yang lalu.


Kemudian karier saya terlihat seperti ini:


  1. Administrator sistem
  2. Insinyur sistem
  3. Wakil kepala departemen
  4. Pengawas
  5. Insinyur itu. dukungan

Saya tidak melakukan pemrograman secara langsung.


Cara saya


Kursus online.


Saya mulai dengan spesialisasi berikut di coursera.org :


Dasar-Dasar Pemrograman Java dan Rekayasa Perangkat Lunak - 4 bulan

Saya mengikuti kursus online berikut:



Setelah spesialisasi ini, saya kurang lebih menguasai bahasa itu, tetapi menulis program itu sendiri masih tidak realistis. Proyek batu penjuru terakhir yang tidak saya lakukan. Itu sulit bagi saya. Dan jujur ​​saja, saya kehilangan antusiasme. Saya istirahat.


Pemrograman Java Berorientasi Objek: Struktur Data dan Beyond– 5 bulan

Setelah sebulan, saya memutuskan untuk kembali ke kelas. Saya pergi ke spesialisasi dari lima kursus:



Saya juga tidak menguasai proyek batu penjuru terakhir. Tetapi kursus kedua dari belakang dalam daftar Mastering the Software Engineering Interview membantu saya mempersiapkan diri dengan baik untuk wawancara berikutnya. Dan saya bisa menulis parser bersahaja pertama saya dari situs sederhana dalam HTML murni. Sudah bagus, tapi tidak mengesankan.


Bagaimana Kode - 3 bulan

Langkah selanjutnya adalah dua kursus aneh ini di edx.org :



Saya menulis "aneh" karena ini bukan tentang Jawa sama sekali. Penulis kursus menggunakan bahasa pemrograman khusus Beginning Student Language (BSL). Saya membaca di suatu tempat bahwa mereka sangat berguna. Mungkin kedua kursus ini membantu saya lebih memahami beberapa trik untuk menulis program dan menjadi bantuan yang baik untuk menulis tes Unit dalam pekerjaan nyata. Tapi jujur ​​saja, Anda bisa melewati mereka.


Struktur dan Algoritma Data - 2 bulan

Kemudian saya kembali ke coursera.org dan memulai spesialisasi baru, yang terdiri dari empat kursus berikut:



Tetapi hanya menguasai dua yang pertama. Sisanya bahkan tidak mendaftar. Sejalan dengan kursus-kursus ini, saya mulai membaca buku OCA, yang akan dibahas nanti.


Stamping di tempat

Pada saat itu saya menyadari bahwa saya sedang berbaris. Lulus kursus baru tidak menghasilkan jumlah pengetahuan baru yang nyata seperti yang pertama. Yaitu pengetahuan tampaknya ditambahkan, tetapi ini tidak membawa saya lebih dekat untuk mendapatkan pekerjaan. Saya tidak mengerti bagaimana dengan pengetahuan seperti itu Anda biasanya dapat menemukan pekerjaan. Saya masih tidak bisa menulis apa pun yang akan lebih rumit daripada parser. Nah, bagaimana itu?!?!? Saya bahkan mencoba untuk menulis layanan parsing situs saya dengan blackjack dan pelacur, tetapi setelah seminggu pengembangan proyek saya berubah menjadi berantakan dari kelas. Dan saya sendiri tidak bisa lagi mencari tahu apa yang saya tulis di sana. Selain itu, saya masih belum mengerti beberapa aspek fungsi bahasa. Dan ini setelah saya menghabiskan sekitar satu tahun untuk semua kursus ini !!! Dua belas kursus online dan satu tahun penuh, Carl, Anda hanya memikirkannya. Padahal, itu gagal. Saya yakin bahwa dalam setahun saya bisa menjadi pengembang berkat kursus-kursus ini. Saya salah. Saya membutuhkan rencana B.


Alternatif

Saya mulai mencari kursus yang akan membantu saya mendapatkan beberapa keterampilan praktis yang dibutuhkan dalam pekerjaan nyata. Tapi tidak ada yang masuk akal, atau itu layak uang. Kursus yang sama dari Otus berharga 50.000 selama enam bulan dan ulasannya bertentangan. Saya tidak siap untuk pengeluaran seperti itu. Saya siap untuk menggali sendiri dan sedang mencari bagaimana ini dapat dilakukan secara gratis atau sangat murah. Akibatnya, semua kursus online yang saya temui dibagi menjadi dua kategori:


  • Yang pertama dirancang untuk pemula atau orang-orang dengan nol pelatihan. Dengan bantuan mereka, Anda mencapai level "tiga dengan minus." Ini aku! Ini tentang saya!
  • Yang kedua adalah untuk "orang baik" dengan pengalaman kerja yang ingin menjadi "siswa yang unggul". Seperti ini: "Cara menulis microservices di Jawa untuk proyek-proyek beban tinggi menggunakan WildFly Swarm." Tentang apa semua ini ???

Dan di antara mereka kekosongan menganga. Nah, di mana saya dan di mana semua layanan microser ini ??? Ternyata untuk "trojan" tidak ada sama sekali. Atau ada, tetapi untuk uang yang bagus. Dan bagaimana menjadi "orang baik" secara gratis, tanpa registrasi dan SMS, umumnya tidak jelas.


Sertifikasi Oracle


Kemudian saya memutuskan untuk menjadi pengembang Java bersertifikat. Karena kalimat "Saya seorang programmer Java profesional" terdengar sangat keren dan harus mengalahkan majikan di masa depan !!! Bagaimanapun, maka saya berpikir dengan naif.


OCA: Oracle Certified Associate Java SE 8 Programmer - 2 bulan

Untuk ini, saya membeli buku:


OCA: Oracle Certified Associate Java SE 8 Panduan Programmer I Studi: Ujian 1Z0-808

Butuh waktu sekitar 2 bulan untuk menguasai buku ini. Dia benar-benar membuka mata saya untuk banyak aspek dan membuat saya mengerti bagaimana bahasa bekerja secara detail. Itu adalah langkah maju yang bagus. Tetapi tidak dalam pencarian kerja, tetapi dalam memahami bahasa Jawa. Saya pergi ke ujian dengan keyakinan bahwa saya akan lulus dengan baik, dan saya lulus. Saya mencetak 84% dengan yang dibutuhkan 65%. Saya sangat bangga pada diri saya sendiri.


Biaya ujian adalah $ 245. Di Rusia, harganya sedikit lebih murah.


Perkirakan biaya pelatihan resmi dari Oracle untuk mempersiapkan ujian ini


OCP: Oracle Certified Professional Java SE 8 Programmer - 4 bulan

Saya dengan antusias mengatur tentang buku kedua dari penulis yang sama:


OCP: Panduan Studi II Programmer II Java Certified Professional Java SE: Ujian 1Z0-809

Untuk pengembangan buku kedua, saya sudah menghabiskan 4 bulan. Dan ternyata menjadi sangat sulit. Dua kali saya istirahat satu minggu, karena sangat sulit bagi saya untuk memahami ekspresi lambda atau multithreading. Juga, banyaknya kelas untuk input dan output membunuh saya. Semua ini NIO dan NIO2, yang sangat mirip dan yang perlu Anda ketahui. Apa yang ada kelas dasar, apa yang turunannya? Itu benar-benar mimpi buruk. Akibatnya, saya menetapkan tanggal ujian selama satu bulan, lalu pindah ke dua minggu, lalu dua lagi. Saya kehabisan waktu, sebuah wawancara menjulang di cakrawala. Dan saya membutuhkan sertifikat ini. Saya tidak mengikuti ujian untuk ketiga kalinya dan mengikuti apa yang saya miliki. Berbeda dengan ujian pertama, saya tidak lagi yakin akan hasil yang baik. Saya sama sekali tidak yakin bahwa saya bisa melewatinya. Tidak ada jejak kebanggaan masa lalu. Jumlah informasi untuk dipahami dan diingat dalam buku kedua adalah lima kali lebih banyak daripada yang pertama. Tapi aku juga lulus ujian ini. Untungnya, tugas-tugas ujian di buku ternyata lebih sulit daripada yang ada di ujian. Tapi itu adalah terobosan ... bagi saya. Terobosan dalam hal pengetahuan dan pemahaman tentang bagaimana bahasa bekerja dan alat apa yang ditawarkannya.


Biaya ujian juga $ 245.


Saya dapat mengatakan bahwa kedua buku ini telah memberi saya lebih dari semua kursus online yang saya ikuti sebelumnya. Tetapi saya tidak tahu apakah saya bisa lulus ujian ini sama sekali jika saya tidak mengikuti kursus sebelumnya. Dengan bantuan ujian ini, saya pindah ke level "tiga plus". Dan itu sudah menjadi sesuatu. Tetapi saya juga tidak dapat secara mandiri mengimplementasikan proyek yang menarik. WTF ????


Saya menyadari bahwa saya telah mencapai hasil maksimal dari apa yang saya dapat dapatkan sendiri, dan selanjutnya belajar bahasa itu tidak ada gunanya. Terlebih lagi, saya mengerti bahwa pengetahuan saya, yang sulit saya dapatkan, dengan cepat menghilang tanpa latihan. Tidak mungkin menarik, dan saya mulai mempersiapkan wawancara dan memperoleh keterampilan yang mungkin diperlukan saat melamar pekerjaan.


Apa yang Anda butuhkan untuk mendapatkan pekerjaan?


Perlu melalui wawancara dan wawancara teknis! Saya tidak akan menulis tentang persiapan untuk wawancara. Ini adalah topik untuk artikel terpisah. Saya hanya akan menulis tentang pengetahuan yang diperlukan untuk lulus wawancara teknis.


Persiapan untuk wawancara - 1 bulan

Saya membeli buku berikut:


Memecahkan Wawancara Pengodean, Edisi ke-6: 189 Memprogram Pertanyaan dan Solusi

Saya sangat merekomendasikannya. Dia akan membantu mempersiapkan bagian teknis dari wawancara. Saya menghabiskan sekitar satu bulan di sana. Banyak tugas yang tidak dapat dipahami, jadi saya menemukan salinan lain dalam bahasa Rusia, dan ketika itu benar-benar tidak dapat dipahami oleh saya, saya memeriksanya.


Keterampilan tambahan

Pada titik ini, saya sudah secara aktif memonitor pasar kerja di kota saya dan memilih perusahaan tempat saya ingin bekerja. Mereka memiliki lowongan Pengembang Java. Di antara keterampilan yang diinginkan dalam lowongan adalah pengetahuan tentang Oracle SQL, GWT, Eclipse, SVN, Maven, Jenkins. Saya tidak membutuhkan pengetahuan mendalam tentang semua teknologi ini, saya membutuhkan pemahaman sederhana tentang apa itu dan bagaimana cara kerjanya. Sehingga saat wawancara Anda bisa mengatakan, ya, saya tahu, tapi tidak dalam.


Oracle SQL - 1 minggu

Saya sudah mengenal SQL dengan cukup baik, karena sebagai tugas, saya harus membuat banyak laporan arbitrer untuk manajemen. Tapi itu T-SQL dari Microsoft, dan di sini SQL dari Oracle diperlukan. Saya harus membeli buku untuk mengingat poin utama dan memahami perbedaannya.


Panduan Ujian SQL Basis Data Oracle OCA (Ujian 1Z0-071)

Saya menjalankan buku ini dengan cepat dalam seminggu. Dan saya menyadari bahwa saya siap untuk lulus ujian 70%. Tetapi saya tidak lagi sanggup melakukannya.


SVN - 1 minggu

Sistem kontrol versi terdistribusi SVN. GIT atau SVN digunakan di sebagian besar perusahaan pengembangan perangkat lunak. Saya tidak menemukan kursus SVN, jadi saya memutuskan untuk mengambil kursus singkat tentang GIT: " Kontrol Versi dengan Git " untuk mengikuti perkembangan topik. Saya bahkan berpikir jika mereka bertanya tentang SVN, saya akan mengatakan bahwa saya berurusan dengan GIT. Dan kemudian saya akan mengarahkan diri saya di tempat. Jika tiba-tiba ada sesuatu yang tidak jelas, maka Anda selalu bisa mengatakan bahwa di GIT itu sedikit berbeda. Dan itu, omong-omong, berhasil.


GWT - 3 hari

Teknologi berikutnya dalam daftar adalah GWT. Setelah menghabiskan beberapa hari mencari informasi, saya menyadari bahwa saya tidak dapat menemukan Google Framework ini. Jika disederhanakan, maka Anda dapat menulis situs kompleks di Jawa, dan Kerangka ini mengubah kode Anda menjadi HTML + JavaScript dan menampilkannya di browser tanpa add-on atau add-on. Terlalu keren GWT saya memutuskan untuk melewati.


Eclipse - 3 hari

Eclipse adalah lingkungan pengembangan, alat pengembang utama yang saya tangani setiap hari. Saya tidak mengikuti kursus khusus. Saya menonton beberapa video di youtube, saya mengerti teknik dasarnya. Saya mencoba semuanya sendiri dengan tangan saya.


Maven, Jenkins - 15 menit.

Tidak ada waktu lagi untuk kedua hal ini. Wawancara sudah di pagi hari, jadi saya hanya membaca 2 artikel Wikipedia dan pergi tidur.


Ringkasan


Waktu


Butuh waktu sekitar 18 bulan, 2 minggu, 6 hari dan 15 menit untuk mendapatkan pengetahuan dan keterampilan yang dibutuhkan untuk mendapatkan tempat pengembang. Saya melakukan ini di malam hari, menghabiskan 1-3 jam di hari kerja. Dan sekitar 5-6 jam di akhir pekan.


Uang


Saya siap untuk menghabiskan waktu saya dan tidak siap untuk menghabiskan uang. Tapi saya masih harus menghabiskannya.


Kursus:


  • Semua kursus online yang saya ambil gratis . Bagaimana melakukan ini di coursera.org yang saya tulis di sini .

Buku:



Ujian:



Biaya tambahan:


  • Bepergian ke kota lain untuk ujian, seperti di saya tidak ada pusat sertifikasi - 120 €.

Total: 702 €


Sayangnya, itu tidak berfungsi sepenuhnya gratis. Saya membeli buku dalam bahasa Inggris, karena ujian juga dalam bahasa Inggris.


Hasil


Pengetahuan ini cukup untuk lulus wawancara dan menandatangani kontrak dengan perusahaan Jerman yang cukup keren. Saya bahkan akan mengatakan bahwa mereka cukup dengan margin.


Mereka juga cukup untuk menjalani masa percobaan enam bulan dan mendapatkan tempat permanen di staf pengembang.


Selama 6 bulan bekerja sebagai pengembang, saya menutup lebih dari 200 aplikasi untuk pengembangan, penyelesaian, dan koreksi kesalahan dalam kode subsistem dan modul yang sangat berbeda. Dan saya tidak menolak satu pun aplikasi "karena saya tidak bisa." Ya, saya harus dan sekarang harus memahami hal-hal baru, mencari informasi, mempelajari rinciannya. Saya melakukan sesuatu dengan lambat, tetapi menarik bagi saya dan prosesnya sedang berlangsung. Dan mereka membayar dengan baik untuk itu !!!


Tetapi jangan berpikir bahwa saya sangat pintar. Saya adalah pria termudah yang baru saja memutuskan untuk mengubah hidupnya menjadi lebih baik. Aku sama sepertimu. Dan jika saya bisa, maka Anda juga bisa!


Ekspres adalah caranya


Bahkan, untuk menjadi pengembang, saya membutuhkan waktu bukan 1,5 tahun, tetapi dua. Tapi ini karena kebodohan saya sendiri (baca di saluran telegram saya ). Secara langsung, saya menghabiskan 1,5 tahun. Tetapi tidak perlu mengulangi kesalahan saya. Saya pikir mungkin untuk mencapai hasil yang sama dalam waktu yang lebih singkat. Kami membuang semua kelebihan dan mendapatkan sesuatu seperti ini:


Bagian satu - 5 bulan


Kami mengambil kursus spesialisasi Pemrograman Berorientasi Objek berikut : Struktur Data dan Di Luar pada kursor:



Secara paralel, kami membaca buku:



Berdasarkan hasil kami lulus ujian.



Bagian dua - 2 bulan


Kami mengikuti kursus spesialisasi Struktur Data dan Algoritma :



Secara paralel, kami membaca buku:



Bagian Tiga - 4 bulan


Kami membaca buku:



Berdasarkan hasil kami lulus ujian.



Bagian Empat - 1 Bulan


Kami melihat apa yang diinginkan majikan secara khusus dari pelamar, dan menghabiskan satu minggu untuk masing-masing dari 4 teknologi, program atau kerangka kerja yang paling dibutuhkan (Git, Eclipse, Maven, Spring, dll.). Plus, kami mempelajari area subjek di mana majikan bekerja, produknya, jika ada, dll.


Total tahun. Selama setahun - ini nyata.


Tetap berkomunikasi


Tentang bagaimana saya mengubah hidup saya pada usia 40 dan pindah bersama istri dan tiga anak saya ke Jerman, saya menulis di saluran telegram saya @LiveAndWorkInGermany . Saya menulis tentang bagaimana itu, apa yang baik dan apa yang buruk di Jerman, dan rencana untuk masa depan. Secara singkat dan bisnis. Bergabunglah dengan kami - itu akan menarik.

Source: https://habr.com/ru/post/id439432/


All Articles