Bagaimana saya mendapat Magang Kejuruteraan Perisian setelah 4 bulan belajar sendiri

Saya adalah pelajar baru dan memulakan program belajar sendiri sekitar Januari - Februari. Pada bulan Mei, saya mendapat tawaran magang di sebuah syarikat terkenal.

Apa yang boleh saya katakan ialah mendapatkan magang kejuruteraan perisian sukar sekarang. Anda harus melalui keseluruhan proses permohonan, belajar untuk temu ramah teknikal dan menjadi hantu berulang-ulang kali. Saya memahami perjuangannya, kerana saya melamar lebih daripada 700 syarikat untuk mendapatkan tawaran saya.

Walau bagaimanapun, sangat mungkin untuk memasuki industri ini dengan belajar sendiri sekiranya anda rajin dan belajar dengan betul.

Di bawah ini adalah panduan langkah demi langkah yang kasar dengan langkah-langkah penting yang telah saya ambil, dan panduan mengenai apa yang saya lakukan secara khusus.

Langkah 1: Mempelajari Asas

freeCodeCamp dan CodeCademy adalah sumber terbaik jika anda mula, tangan ke bawah.

Kedua-duanya memberikan penjelasan dengan cara yang paling mudah dan mengajar anda asas-asas mutlak dari apa yang harus anda ketahui untuk memasuki industri ini. Saya cadangkan bermula dengan CodeCademy untuk mempelajari sintaks bahasa pilihan anda.

Catatan: Penting untuk mengetahui peranan yang ingin anda laksanakan agar dapat belajar dengan berkesan. Sebagai contoh, jika anda berhasrat untuk magang depan, kursus pengembangan web di freeCodeCamp akan sangat berguna. Panduan ini akan memfokuskan pada bahagian depan.

Apa yang saya lakukan:

Secara peribadi, saya selalu berminat untuk bekerja di bahagian depan. Bagi pembangun web front-end, pengetahuan mendalam mengenai JavaScript, HTML, dan CSS boleh dikatakan perkara paling penting.

Oleh itu, saya memulakan minggu pertama belajar sendiri dengan menghabiskan masa saya untuk kursus Pengenalan Javascript CodeCademy yang sangat baik. Ia sepenuhnya percuma dengan penjelasan mesra pemula. Untuk menjadikan kajian saya lebih berkesan, saya selalu mencatat apa yang saya pelajari dan apa yang tidak saya fahami. Saya kemudian akan mengkaji semula nota-nota itu untuk menyegarkan ingatan saya, yang sangat penting agar tidak melupakan apa yang telah saya pelajari.

HTML dan CSS lebih mudah dipelajari. Saya beralih ke kursus lengkap reka bentuk web percumaCodeCamp. Ini adalah salah satu sumber percuma terbaik yang ada. Sekiranya anda melalui keseluruhan kursus, anda akan mengetahui lebih banyak daripada asas-asas pembangunan web.

Apabila anda merasa seperti mengetahui asas-asasnya, saya sangat mengesyorkan untuk terus belajar dengan buku panduan pemaju Front-end. Ini menyediakan senarai sumber lengkap untuk pelajar yang lebih maju, baik yang berbayar dan percuma. Ia mengandungi ribuan jam membaca dan akan mengajar anda semua muslihat yang harus diketahui oleh pembangun web induk.

Langkah 2: Membuat Projek

Selepas beberapa minggu, anda harus bersedia untuk membuat projek kecil. Projek sangat besar pada resume anda apabila anda tidak mempunyai banyak pengalaman. Sekali lagi, freeCodeCamp menawarkan idea projek yang sangat baik. Mulakan dengan sesuatu yang kecil.

Sekiranya anda bersusah payah mencari idea projek, anda dapat Google "100 idea projek dalam bahasa X" dan biasanya ia berjaya. Juga, lihat repositori GitHub lain dan pelajari kod mereka.

Setelah selesai, uji dan letakkan kod sumber di Github. Ini sangat penting, kerana ini adalah satu-satunya cara syarikat dapat mengesahkan kemahiran anda tanpa pengalaman kerja sebelumnya. Masukkan kod berkualiti dengan dokumentasi apabila anda boleh.

Apa yang saya lakukan:

Semasa mendapat tawaran, saya telah membuat 4 - 5 projek. Saya mulakan dengan aplikasi web permainan menaip kecil yang dicabut dari GitHub pelajar lain dan banyak belajar dari kod mereka, kemudian menambahkan sendiri. Saya secara beransur-ansur bergerak ke arah projek yang lebih rumit. Berikut adalah senarai semua projek yang saya buat sebelum mendapat magang, keterangan mereka dan timbunan yang saya gunakan:

  1. Pelbagai permainan kecil lain seperti Minesweeper, semuanya dibuat dengan React dan digayakan dengan CSS.
  2. Peta untuk memvisualisasikan lebih dari setengah juta titik data lalu lintas yang dibuat dengan Javascript dan Mapbox.
  3. Aplikasi React Native yang berfungsi untuk membolehkan pengguna mempamerkan gambar terbaik mereka, dengan backend yang dilaksanakan di Node.js dan Mongoose, yang dihoskan di Heroku.

Langkah 3: Memohon Pekerjaan

Saya mempunyai pengalaman paling banyak dalam bidang ini kerana saya telah memohon begitu banyak pekerjaan. Petua terbaik yang saya ada, mengenai proses pencarian pekerjaan dan temu ramah, adalah:

  1. LinkedIn, Glassdoor dan Memang Mudah Digunakan bukan rakan anda. Dengan jenis pengeposan tersebut, perekrut menerima begitu banyak aplikasi yang biasanya mereka gunakan ATS (Application Tracking System) untuk menyaring semua resume. Sekiranya anda tidak mempunyai pengalaman sebelumnya atau projek yang mengagumkan, kemungkinan anda akan melalui saringan sangat tipis.
  2. Surat lamaran adalah pedang bermata dua. Apabila selesai dengan betul, ia benar-benar dapat membezakan anda dari calon lain. Namun, apabila dilakukan dengan salah, ini boleh memperburuk keadaan anda. Nasihat saya jika anda menulisnya adalah menjahit, menjahit, menyesuaikannya. Sasarkan surat lamaran anda secara khusus kepada syarikat yang anda lamar. JANGAN hantar surat lamaran generik yang sama kepada setiap syarikat, kerana perekrut tahu bahawa anda sudah menghantar 100 daripadanya. Akhir sekali, pastikan tidak ada kesalahan tatabahasa. Satu kesalahan ketik sudah cukup untuk perekrut menolak anda.
  3. Saya mendapat kejayaan paling banyak sama ada memohon secara langsung di laman web syarikat atau melalui perekrut e-mel yang sejuk (atau bahkan CEO jika syarikat itu agak kecil). Sekiranya syarikat itu tidak mempunyai e-mel awam, biasanya anda dapat meneka kerana ia hampir selalu dalam bentuk hello at companyname dot com. Mereka mempunyai peluang yang jauh lebih tinggi untuk melihat resume anda daripada jika anda menyerahkannya melalui Indeed / Glassdoor. Anda boleh mempunyai templat dan mengubah sedikit perkataan untuk syarikat yang berbeza.
  4. Mempunyai kulit tebal. Syarikat-syarikat menolak anda dengan pelbagai alasan secara rawak dan merekrut hantu anda sepanjang masa. Ia adalah perkara biasa. Sekiranya anda mempunyai resume yang kurang menarik, anda mempunyai peluang yang lebih kecil untuk mendapatkan wawancara. Terus memohon dan jangan berputus asa. Ia tidak akan berakhir sehingga anda berhenti mencuba.

Langkah 4: Menemu ramah

Apabila anda akhirnya tiba di Wawancara yang manis itu, pastikan anda bersiap sedia. Terdapat banyak sumber dalam talian yang mengajar anda bagaimana untuk mendapatkan wawancara teknikal. Sekiranya anda belum membacanya, Cracking the Coding Interview adalah bacaan yang sangat baik.

Temu ramah teknikal sangat tertekan. Tidak ada penyelesaian untuk mereka - anda harus mengemukakan soalan algoritma. Leetcode menawarkan banyak soalan baik untuk latihan.

Walau bagaimanapun, kerana mereka sangat terkenal, sangat tidak mungkin anda akan mendapat soalan yang sama dengan yang anda praktikkan semasa temu duga. Pewawancara biasanya mempunyai bank soalan rawak yang tidak diposkan dalam talian. Namun, idea asasnya tetap sama. Sebagai contoh, selalu baik untuk mengetahui struktur data dan Big O anda secara menyeluruh.

Perkara lain yang perlu diperhatikan: syarikat yang saya temu ramah sering mengemukakan projek saya dan bertanya kepada saya soalan teknikal mengenai pelaksanaannya. Ini adalah kaedah mereka untuk menguji jika anda telah membohongi projek anda, jadi bersiaplah untuk itu.

Apa yang saya buat :

Untuk memulakan: tidak mustahil untuk menghisap semasa temu ramah. Saya benar-benar merosakkan yang pertama. Memalukan untuk dikenang.

Saya sedar bahawa saya tidak cukup bersedia untuk soalan teknikal. Saya mula melakukan Leetcode 2 - 3 jam sehari. Perkara yang paling penting adalah tidak menghabiskan terlalu lama untuk satu masalah. Anda tidak mempunyai masa tanpa had dalam temu ramah anda. Sebagai gantinya, masukkan pemasa, katakan 10 minit untuk soalan mudah dan 20 minit untuk soalan sederhana (kebanyakan anda tidak akan mendapat soalan sulit Leetcode pada wawancara anda jika anda melamar jawatan peringkat permulaan atau magang).

Sekiranya anda tidak dapat menyelesaikannya tepat pada waktunya, tidak mengapa. Lihat penyelesaiannya dan cuba memahaminya. Tandakan soalan yang tidak dapat anda selesaikan dan cuba lagi dalam seminggu.

Oleh kerana wawancara juga menguji kemahiran komunikasi anda, anda dapat mempersiapkan diri dengan mengatakan pemikiran anda dengan lantang ketika anda melakukan soalan latihan. Percayalah, ini mungkin terdengar pelik pada mulanya tetapi ia memberikan perbezaan yang besar dalam temu ramah ketika anda biasa bercakap.

Sumber: di mana mencari pekerjaan peringkat permulaan dan magang

Apa yang biasa saya temui untuk magang (selain Glassdoor, Indeed, dan Linkedin) termasuk Breakout List dan AngelList.

2 sen saya: Saya menyedari betapa mengerikannya mencuba dan mencari peluang latihan magang. Tidak ada cara yang mudah dan cepat untuk mencari senarai syarikat lengkap dengan senarai magang mereka. Komuniti freeCodeCamp sangat hebat dan banyak membantu saya semasa saya bekerja, dan saya ingin menyumbang kembali.

Saya membuat aplikasi ini setelah magang sebagai projek sampingan saya, untuk menyusun senarai syarikat dan pekerjaan magang / peringkat kemasukan mereka, disaring mengikut lokasi, tanda nama, istilah sekolah, dan lain-lain. Saya akan menerangkannya di bahagian seterusnya.

Kesimpulannya

Mencari pekerjaan / magang pertama anda boleh menjadi proses yang panjang, mengecewakan dan membosankan. Walau bagaimanapun, pengalaman yang anda perolehi dari tempat kerja sebenar menjadikannya sangat berbaloi.

Berikut adalah perbandingan projek yang saya buat selepas magang dan salah satu projek pertama saya yang pernah ada.

Cukup bezanya, bukan?

Inilah sebabnya mengapa saya berpendapat bahawa masa yang diluangkan semasa magang saya sangat berbaloi. Saya tidak akan dapat membuat projek terakhir saya tanpa semua bimbingan dan pengalaman yang saya perolehi semasa menjalani latihan. Projek ini adalah platform dan papan kerja untuk mencari magang dan kedudukan peringkat kemasukan untuk pelajar, pemaju yang belajar sendiri dan graduan baru. Anda boleh melihatnya di sini.

Saya berusaha untuk meningkatkan, dan sebarang maklum balas dialu-alukan. Saya ingin menulis artikel saya seterusnya sebagai panduan langkah demi langkah bagaimana saya merancang dan menyusun aplikasi, jadi beritahu saya jika anda berminat. Saya juga suka menolong orang lain yang baru bermula, kerana saya memahami perjuangannya. Sekiranya anda mempunyai sebarang pertanyaan, jangan teragak-agak untuk menghantar mesej kepada saya (anda boleh mengetengahkannya dan mengklik ikon mesej pada pop timbul).

Semoga berjaya semua!