CodeGym /Java Blog /Acak /Sebuah cerita untuk penonton 30+
John Squirrels
Level 41
San Francisco

Sebuah cerita untuk penonton 30+

Dipublikasikan di grup Acak
Baiklah, saya menemukan waktu untuk berbagi cerita kecil saya.

Prolog

Mari kita mulai dengan fakta bahwa saya berusia 30 tahun, saya memiliki pendidikan tinggi di bidang kimia (saya tidak akan menjelaskan secara rinci), dan saya telah bekerja di pabrik selama hampir 8 tahun. Pekerjaan itu sebenarnya cukup menarik, namun melihat rekan kerja saya, saya menyadari bahwa saya tidak ingin bekerja di sini selama dua puluh tahun hingga pensiun. Ini bukan cara yang saya inginkan untuk menghabiskan hidup saya. Saya juga ingin menambahkan bahwa saya memiliki sebuah keluarga, termasuk dua anak (yang tertua berusia 6 tahun, yang termuda berusia 1 tahun), dan dapat diduga, sebuah hipotek. Akhirnya, saya memutuskan untuk mencoba pindah ke tempat lain, ke pabrik lain dengan gaji lebih tinggi dan pertumbuhan karier yang nyata. Saya telah berakar di pabrik pertama, jadi sulit untuk keluar, tetapi saya telah mengambil keputusan. Perjalanan saya ke St. Petersburg berlangsung sebulan. Saya resmi bekerja di sana selama seminggu ketika saya menyadari bahwa situasi pabrik di negara kami (Sviatoslav berasal dari Rusia — catatan editor) sebagian besar suram. Saya kembali ke kampung halaman saya. Saya tidak ingin kembali, karena menurut saya ini adalah langkah mundur. Pada titik ini, saya memutuskan jika saya mengubah hidup saya - dan mengubahnya secara radikal! Selama sekitar satu minggu saya memikirkan bahasa pemrograman mana yang harus dipilih, dan pilihannya jatuh ke Java. Setelah itu, saya mulai mencari kursus. Kenyataannya adalah ada banyak kursus yang bagus, beberapa di antaranya bahkan memiliki harga yang masuk akal, namun saya punya masalah: Saya sangat termotivasi dan punya banyak waktu untuk belajar, tetapi dana finansial saya hanya bertahan paling lama 3-4 bulan. Semua kursus yang saya suka berdurasi setengah tahun atau lebih dengan dua pelajaran per minggu (paling sering). Namun kemudian seorang teman merekomendasikan CodeGym kepada saya setelah dia mendengar bahwa itu adalah sumber yang sangat bagus. Saya melihat bahwa kursus ini memiliki semua yang saya butuhkan:
  • berlangganan materi dan tugas pembelajaran;
  • tidak ada batasan waktu - saya dapat belajar sebanyak yang dimungkinkan oleh jadwal saya (yang terbuka lebar) dan keinginan saya (seperti yang saya katakan di atas, saya sangat termotivasi).

Bagian 1: Mencari ilmu

Pada tanggal 26 November 2019, saya mendaftar dan memulai studi. Saya akan langsung mengatakan bahwa ada hari-hari ketika saya duduk selama 14 jam berturut-turut, belajar, membaca semua tautan terkait, dan mencoba mencari solusi yang lebih indah (tanpa mengintip Bantuan). Hanya ketika saya berpikir bahwa solusi saya adalah yang terbaik barulah saya melihat Bantuan. Saya cukup sering kagum dengan solusi yang lebih indah dan ringkas. Pada akhir Januari, setelah mencapai Level 17, saya memutuskan untuk mulai melakukan wawancara, menunjukkan keterampilan saya, dan melihat apa yang diinginkan pasar. Kebetulan, tidak ada seorang pun yang benar-benar menanggapi saya, namun ada satu kantor yang menerima saya sebagai pekerja magang tanpa bayaran: bulan pertama tidak dibayar, bulan kedua dan ketiga hanya mendapat gaji kecil. Berikutnya akan ada wawancara lain berdasarkan kinerja saya setelah tiga bulan, dan jika magang berhasil — maka pekerjaan.

Bagian 2: Bergegas ke medan perang

Magang saya melibatkan penulisan plugin Chrome dengan back-end Java untuk mengotomatisasi tugas rutin salah satu departemen internal perusahaan. Saya memiliki mentor yang luar biasa dengan banyak pengetahuan, yang menurut saya juga penting. Pada dasarnya, agar tidak tersesat di tengah rumput liar, sekarang saya akan memberi tahu Anda tentang tumpukan teknologi yang saya gunakan, dan kemudian di akhir artikel saya akan memberikan beberapa link yang ternyata sangat berguna bagi saya.

Tumpukan teknologi:

Java 11 (proyek ini ditulis sepenuhnya dari awal), Spring (Boot, Keamanan, OAuth2); Saya menggunakan MongoDB untuk database; untuk pengujian otomatis, saya menggunakan AssertJ, Mockito, dan Spring-boot-starter-test; dan saya menggunakan aliran GitHub yang cukup populer (lihat artikel ini ). BTW, jika Anda kesulitan dengan bahasa Inggris, inilah saatnya menyarankan Anda untuk mempelajarinya. Tingkat kefasihan saya A2, tapi saya selalu berusaha membaca artikel dalam bahasa Inggris (tanpa menggunakan penerjemah tentunya). Ini adalah kesulitan terbesar saya saat memulai proyek magang, karena saya harus bekerja dengan CRM pihak ketiga, dan semua dokumentasinya dalam bahasa Inggris. Selain itu, saat bekerja dengan Spring, yang terbaik adalah membaca dokumentasi aslinya. Ini sangat bagus dan detail. Terlebih lagi, hampir semua dokumentasinya berbahasa Inggris (sedikit dari Captain Obvious). Selain itu, mentor saya meminta saya untuk menulis semua komentar di kode dan dokumentasi API dalam bahasa Inggris, jadi saya ulangi sekali lagi: belajar bahasa Inggris, jika Anda bukan penutur asli! Bahkan jika Anda tidak akan bekerja dengan pelanggan asing atau bepergian ke luar negeri, keterampilan ini akan sangat menyederhanakan studi dan pengembangan Anda.

Bagian 3: Hasil

Bagian ini akan jauh lebih singkat :) Di akhir masa magang, saya berhasil lulus wawancara evaluasi kinerja dan mendapatkan pekerjaan, di mana saya terus mengerjakan proyek ini. Tahap pertama akan dilaksanakan sebagai bagian dari magang saya, tetapi semuanya ada tiga tahap. Karena dimulainya pandemi, banyak proyek komersial yang hilang, dan saya menerapkan semua tahapan dan setiap ide/keinginan lain yang ada untuk proyek ini. Ada tugas lain, tapi, seperti yang mereka katakan, itu cerita lain.

Bagian 4: Ada akhir yang membahagiakan, meski segalanya masih jauh dari selesai ;)

Pada pertengahan Juli, saya mendapat telepon dan ditanya apakah saya sedang mencari pekerjaan. Saya telah memposting resume saya, meskipun sudah lama tidak diperbarui. Saya memutuskan untuk menguji diri saya sendiri. Saya melalui 3 tahap: tugas tes, wawancara teknis, dan wawancara dengan atasan. Mereka mengirimiku tawaran dan... Ini adalah tawaran yang tidak bisa kutolak. Saya mengerti, tentu saja, bahwa dalam beberapa pekerjaan pertama Anda, Anda akan mencoba untuk masuk ke mana pun mereka akan membawa Anda, tapi tetap saja. Pekerjaan pertama saya adalah posisi outstaffing, namun pekerjaan saya saat ini adalah di industri makanan. Mereka juga mempekerjakan saya sebagai junior dev, tapi saya tidak kecewa sama sekali, karena masih ada ruang untuk berkembang baik dalam hal pengetahuan maupun uang.

Epilog

Jadi, teman-teman, jangan berkecil hati. Hal utama adalah mengambil keputusan dan tidak menyimpang dari jalan Anda. Dalam kasus saya, saya mempunyai tanggung jawab besar untuk mengurus keluarga saya dan keinginan untuk mengubah sesuatu dalam hidup saya, untuk mulai melakukan apa yang benar-benar saya sukai. Pengembangan perangkat lunak sangatlah hebat, karena Anda dapat menaiki jenjang karier, terlepas dari apakah ada lowongan yang lebih tinggi di perusahaan Anda, terlepas dari apakah seseorang telah pensiun setelah bekerja selama dua puluh tahun, dan terlepas dari apakah Anda memiliki koneksi pribadi untuk mendapatkan pekerjaan tersebut. pekerjaan yang lebih tinggi. Di bidang kami, semuanya ada di tangan kami!

Berikut beberapa artikel yang ingin saya bagikan:

  • Memahami arsitektur . Saya pribadi membaca artikel ini 4 kali saat kami sedang mengerjakan arsitektur aplikasi masa depan. Saya menggunakan kata "kami", karena mentor saya memeriksa semuanya dan mengirimkannya kembali untuk dikoreksi (yaitu dia melakukan tinjauan kode). Pertama kali saya tidak banyak mengerti. Kemudian saya membacanya 3 bulan kemudian, dan ternyata saya mengerti alasannya. Kemudian, saya membacanya 2 kali lagi untuk memantapkan dan mengasimilasi semua informasi sepenuhnya.
  • Pembelajaran Git interaktif .
  • Saya menyarankan agar setiap orang mempelajari cara bekerja dengan aliran. Mereka sungguh luar biasa: Anda sering kali dapat mengganti kode dalam jumlah besar dengan aliran kecil.
  • Dokumentasi musim semi.
  • Karena saya bekerja dengan database non-relasional, dan sebagian besar perusahaan (terutama perusahaan besar) bekerja dengan SQL, di waktu luang saya, saya mencoba memecahkan setidaknya beberapa masalah yang melibatkan pembuatan kueri SQL. Ada banyak situs berbeda untuk ini.
  • Saya juga merekomendasikan membaca tentang tes menulis (Assertj, Mockito), tapi saya tidak ingat artikel bagus apa pun, hanya dokumentasi.
  • Dan ketika Anda sedang mengembangkan sebuah aplikasi (tetapi sekarang kita sudah melampaui level pemula), cobalah menggunakan pola desain . Setidaknya lihat sekilas pola-pola terkenal. Itu akan berguna saat Anda memulai.
Sekali lagi, saya berharap semoga sukses dalam mengejar impian Anda!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION