CodeGym /Java Blog /Acak /Tidak perlu melawan kejahatan dalam pembangunan, namun An...
John Squirrels
Level 41
San Francisco

Tidak perlu melawan kejahatan dalam pembangunan, namun Anda juga tidak boleh menyentuhnya: kisah Irina sang Programmer

Dipublikasikan di grup Acak
Kita tahu bahwa mahasiswa CodeGym ingin mendengar cerita dari mereka yang sudah bekerja di bidang IT. Jadi kami mengambil tindakan sendiri dan meluncurkan seri tentang pengembang dari berbagai negara dan perusahaan, yang menyelesaikan pelatihan Java kami. Cerita ini tentang Irina. Di sekolah dan universitas, dia menyukai ilmu-ilmu teknik. Dia tahu sedikit tentang pemrograman tetapi memilih untuk mengambil pekerjaan di bidang periklanan kontekstual. Tetap saja, Irina ingin mencoba pengembangannya. Suatu hari, dia menerima email yang memberitahukan bahwa karyawan magang pengembang sedang dipekerjakan untuk layanan tertentu. Dan meskipun pahlawan kita tidak lulus wawancara, pengalaman tersebut memotivasi dia untuk mulai belajar Java.“Tidak perlu melawan kejahatan dalam pembangunan, tetapi Anda juga tidak boleh menyentuhnya”: kisah Irina sang Programmer - 1

"Saya pasti ingin mencoba sendiri dalam pengembangan"

Setelah kelas 9, ketika saya harus menentukan pilihan jurusan untuk studi lebih lanjut (yaitu jalur teknis, kemanusiaan, ekonomi, dan medis), saya terpecah antara jalur kemanusiaan dan teknis. Bagi saya, bidang humaniora mewakili karier sebagai jurnalis, mengecam kejahatan dan memperjuangkan tujuan baik di seluruh dunia. Saat merenungkan jalur teknisnya, saya berpikir, jika saya tidak melawan kejahatan, setidaknya saya tidak akan menyentuhnya. Saya mengikuti jalur yang paling sedikit hambatannya dan memilih jalur teknis. Sepulang sekolah, saya masuk universitas, jurusan Ilmu Komputer dan Teknik Komputer. Sayangnya, universitas tidak memberikan keterampilan apa pun dalam bahasa tertentu. Secara terputus-putus, saya mempelajari beberapa hal tentang C++, C#, JavaScript, dan tata letak UI. Di tahun ketiga saya, saya secara acak menjadi tertarik pada periklanan kontekstual dan kebetulan mendapatkan pekerjaan di sebuah perusahaan yang cukup terkenal. Hasilnya, saya tetap beriklan selama 2 tahun. Saya menikmati kesuksesan yang lumayan, tapi saya pasti ingin mencoba sendiri dalam pengembangan. Kembalinya saya ke pemrograman juga tanpa rencana yang matang: Saya menerima email di tempat kerja tentang layanan baru yang ingin merekrut pekerja magang pengembang Java. Saya memutuskan untuk pergi ke wawancara. Tentu saja pengetahuan dasar saya saat itu belum cukup untuk mendapatkan tawaran, namun episode ini mendorong saya untuk mencari beberapa sumber tentang Java. Saya menemukan kursus ini di Internet. Mereka tidak membuat saya tertarik pada awalnya: semua gambar lucu dan cerita robot membuatnya tampak tidak serius bagi saya, tetapi saya sangat menyukai kesempatan untuk berlatih dan memeriksa tugas-tugas saya. Saya berlama-lama dan memutuskan untuk mencobanya, dan kemudian saya tertarik.

"Saya gagal dalam beberapa wawancara pertama"

Saya belajar tanpa jadwal yang kaku, pas-pasan: saat istirahat kerja, kadang di malam hari. Sekitar Level 16-17, saya mulai mencoba mencari pekerjaan. Saat itu, saya sudah belajar sekitar tiga bulan dengan beberapa kali istirahat. Jika Anda tidak memiliki pengalaman kerja, maka mereka suka bertanya tentang algoritma, tetapi saya juga hampir tidak mengetahuinya. Jadi saya gagal dalam beberapa wawancara pertama. Saya harus lebih mempersiapkan diri, mencari pertanyaan yang paling sering diajukan, dan menghafal jawabannya. Saya segera mempelajari SQL, mempelajari sistem pembuatan versi kode (IMO, CodeGym menyebutkan Git pada tingkat lanjutan yang tidak masuk akal, tidak sampai Level 30) dan prinsip-prinsip SOLID, dan mempelajari algoritma pengurutan. Pada akhirnya, saya dipekerjakan sebagai junior dev di sebuah perusahaan kecil. Tugas saya di pekerjaan pertama saya sangat sepele: mengembangkan fungsionalitas sistem baru, menyempurnakan fungsionalitas yang ada, memperbaiki bug. Kami menggunakan metodologi air terjun: seorang pelaku bisnis mengirimkan tugas, seorang analis menjelaskannya dengan lebih rinci, seorang pengembang mengimplementasikannya, seorang analis mengujinya, dan kemudian pengembang memasukkannya ke dalam produk. Kami tidak menggunakan teknologi khusus apa pun: kami menulis semuanya dalam Java murni — sebuah monolit, bukan layanan mikro. Untuk bekerja dengan database, kami menggunakan kerangka kerja sumber tertutup milik kami sendiri. Ada banyak sekali kesulitan di awal - mulai dari mempelajari cara mengunggah proyek ke repositori, hingga cara menulis permintaan ke database agar tidak kehabisan waktu. Saya harus banyak mencari di Google tentang bekerja dengan JSON, SOAP, tentang apa itu Maven, dan tentang cara membangun proyek Maven. Saya tidak meninggalkan pembelajaran. Saya mencoba untuk belajar setidaknya dua hari sekali, tetapi ada kalanya saya harus menyisihkan waktu selama sebulan. Tapi tujuan saya adalah menyelesaikan 40 level yang disayangi. Secara paralel, saya mengambil kursus tentang kerangka Spring. Musim semi telah membuka banyak peluang baru bagi saya, dan tawaran yang saya terima berkat resume saya berlipat ganda. Selama karantina, saya berganti pekerjaan dan beralih ke proyek dengan arsitektur layanan mikro. Kami menciptakan layanan untuk mencari, menjual, membeli, dan menyewakan real estat perumahan dan komersial, serta mengajukan dan melayani hipotek. 80% layanan kami ditulis dalam Kotlin. 20% lainnya ditulis dalam Java.

Rencana saya dalam waktu dekat adalah:

  1. Perendaman lebih dalam dalam arsitektur. Saya ingin mendalami desain arsitektur backend.

  2. Belajar C++. Saya pikir ini pasti akan berguna bagi programmer mana pun — untuk dapat, jika perlu, menulis bagian-bagian aplikasi yang perlu dijalankan dengan sangat cepat. Ini akan berguna untuk perhitungan matematis yang rumit.

  3. DevOps. Beberapa perusahaan bahkan menjadikan keterampilan ini sebagai syarat wajib bagi para programmer. Dan itu pasti akan berguna di perusahaan lain mana pun.

Saya tidak menyesal sama sekali ketika di kelas 9 saya memilih jalur teknis dan dua tahun lalu saya cukup berani untuk meninggalkan periklanan dan memulai karir pemrograman. Perkembangan adalah sejenis keajaiban, cara untuk membuat hal-hal rumit menjadi sederhana bagi orang-orang, untuk menggantikan kebingungan dengan kejelasan. Saat ini saya sedang mencoba membuat adik laki-laki saya yang berusia 12 tahun tertarik pada pemrograman. Setahun yang lalu saya memberinya starter kit Arduino dan saya berpikir untuk membelikannya buku tentang pengkodean Python untuk Minecraft. Saat dia bertambah besar, saya akan memperkenalkannya pada CodeGym. Saya pikir dia akan menyukainya. Satu hal penting yang saya dapatkan dari CodeGym adalah kesadaran saya bahwa Anda tidak perlu takut membayar untuk materi yang bagus. Itu akan membuahkan hasil seratus kali lipat.

Kiat untuk pengembang pemula:

  • Lanjutkan pemrograman. Pekerjaan seorang programmer seluruhnya terdiri dari penyelesaian masalah tertentu, dan menemukan kesalahan tertentu, serta memperbaikinya. Kadang-kadang hal ini mungkin (dan pasti akan!) tampak sangat sulit, membosankan, dan menjengkelkan, namun ketika Anda akhirnya menyelesaikan masalah, rasanya seperti sebuah terobosan nyata, sebuah kemenangan, hampir sebuah penemuan. Dan siklus ini berulang. Kemarahan, penerimaan, upaya panjang, dan kegagalan tanpa akhir, lalu kemenangan. Sensasi kerja seorang programmer terletak pada antisipasi terobosan dan kemenangan berikutnya. “Tidak perlu melawan kejahatan dalam pembangunan, tetapi Anda juga tidak boleh menyentuhnya”: kisah Irina sang Programmer - 2
  • Teruslah belajar kapanpun dan dimanapun memungkinkan. Membaca artikel dan buku. Temukan dan ikuti kursus di berbagai bidang pengembangan perangkat lunak. Pastikan untuk mencoba teknologi baru. Terapkan pada proyek pribadi Anda. Berinteraksi dengan orang lain yang tertarik dengan pengembangan perangkat lunak. Bertukar pengalaman dan ide. Suatu ketika, berbicara dengan orang-orang ambisius itulah yang membantu saya untuk tidak merana di perusahaan pertama saya dan tidak takut untuk melanjutkan.

  • Oleh karena itu tip ketiga saya - Jangan takut untuk mengubah keadaan : pekerjaan baru, kerangka kerja baru, bahasa baru (maafkan saya, CodeGym). Semua kemenangan besar saya atas diri saya sendiri terjadi tepat pada saat saya berganti pekerjaan. Pada awalnya, tampaknya menakutkan untuk pergi ke suatu tempat tanpa sepenuhnya menguasai teknologi atau bahasanya, namun hal ini merangsang banyak pertumbuhan, saat Anda mempelajari teknologi atau bahasa yang tidak diketahui ini. Angin kedua Anda muncul, dan Anda menemukan makna khusus dalam memahami dan mempelajari sesuatu yang baru.

  • Bersikaplah masuk akal dalam menilai kekuatan Anda. Bahkan jika Anda dapat menggabungkan pekerjaan, belajar mandiri di rumah, beberapa kursus online, universitas, dan mungkin keluarga, untuk sementara waktu, ada kemungkinan besar Anda akan kelelahan. Sayangnya, saya mengenal beberapa orang yang kehabisan tenaga dan meninggalkan pemrograman setelah sekian lama bergabung dengan universitas, mendapatkan pekerjaan, dan juga bekerja sebagai pekerja magang pengembang yang tidak dibayar. Jika mereka mengambil satu hari libur tambahan atau cuti akademis di universitas, jika mereka mengambil satu hari untuk berlibur dan menyisihkan waktu belajar, jika mereka mengambil istirahat dari kursus online selama beberapa minggu, mungkin semuanya akan berhasil. berbeda.

Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION