Saya seorang programmer otodidak yang akan memasuki pasar kerja. Yang ingin saya ketahui adalah apa cara terbaik untuk menunjukkan pengalaman saya kepada majikan?
Apa yang ingin diketahui pengusaha tentang pengalaman pemrograman saya? Apakah pengusaha ingin melihat kode yang saya tulis atau bisakah mereka ingin melihat perangkat lunak itu beraksi? Atau apakah mereka hanya peduli seberapa banyak perangkat lunak saya digunakan / berapa banyak yang telah menghasilkan pendapatan? Haruskah saya menulis tentang desain dan gaya pemrograman saya?
Latar belakang saya: Saya baru saja lulus dari universitas tempat saya belajar bahasa asing, dan pada saat itulah saya mengetahui bahwa pemrograman adalah hal yang benar-benar ingin saya lakukan. Saat ini saya seorang programmer garasi, mengembangkan perangkat lunak untuk klien untuk penggunaan komersial sambil terus belajar sendiri, tetapi tujuan saya adalah untuk memulai pekerjaan dan karier yang "tepat". Sebagai tambahan, saya tinggal di Finlandia saat ini, tetapi saya mencari pekerjaan di Cina atau Jepang (saya belajar kedua bahasa saat belajar di luar negeri).
Jawaban:
Saya akan mengatakan bahwa majikan mencari hal-hal ini di semua pelamar programmer (ini berasal dari pengalaman saya sendiri sebagai kepala pengembang yang menyaring pelamar):
Kemampuan untuk fleksibel dan mempelajari teknologi baru dengan cepat (ini sangat penting bagi programmer otodidak)
Kemampuan untuk berkomunikasi masalah
Kemampuan untuk memecahkan masalah algoritmik dan logistik (penting bagi analis programer)
Kemampuan untuk memenuhi standar dan aturan oleh bisnis lokal, yaitu. jangan terlalu terjebak dengan cara Anda, pastikan untuk mengikuti konvensi penamaan bisnis tempat Anda bekerja.
Jujur dan pekerja keras.
Dalam banyak kasus perusahaan besar akan meminta Anda untuk memberikan latihan pelamar. Latihan-latihan ini berkisar dalam kesulitan tetapi satu contoh mungkin untuk kode modul yang dapat digunakan kembali yang mengubah jumlah dalam dolar ke string teks yang dapat dibaca bahasa Inggris yang akan ditulis pada cek untuk jumlah itu, yaitu. "$ 999,34" menjadi "Sembilan ratus sembilan puluh sembilan dolar dan tiga puluh empat sen".
Penting untuk dicatat bahwa bukan hanya kode yang akan mereka lihat dalam latihan ini, tetapi juga dokumentasi yang menyertainya, yaitu. doco yang menjelaskan masalah, asumsi, dan algoritma yang digunakan. Mereka juga akan melihat konvensi penamaan Anda (terutama memeriksa konsistensi) dan memeriksa komentar kode yang jelas.
sumber
Sebuah petunjuk
Serius, saya mencari beberapa hal dalam diri seorang kandidat:
Contoh: lulusan sekolah menengah otodidak yang telah memecahkan 50 masalah Euler: mudah disewa. MSCS dengan IPK 4.0 yang tidak bisa menjelaskan perbedaan antara TreeMap dan HashMap: jangan disewa.
sumber
Yang lain sudah menjawab pertanyaan langsung Anda tentang pelamar otodidak. Namun, ada pertimbangan lain yang mungkin bahkan lebih penting daripada belajar sendiri atau tidak. Saya sedang berbicara tentang budaya negara tempat Anda berencana bekerja dan tinggal.
Pertama, jangan pernah menulis "pekerjaan di Cina atau Jepang" . Kedengarannya seperti "Finlandia atau Australia" (jangan tersinggung). Mereka sama sekali berbeda, dan Anda harus memilih.
Selain itu, pekerjaan di negara lain biasanya berarti pajak yang lebih tinggi untuk suatu perusahaan, berbagai batasan (misalnya merekrut satu orang asing, harus merekrut penduduk asli), dan sebagainya. Jadi untuk dipekerjakan di Cina, Anda harus benar-benar pandai dalam apa yang Anda lakukan .
Bahkan, Anda memiliki dua opsi terbaik:
sumber
Terutama, bahwa Anda memiliki beberapa. Tempatkan diri Anda pada posisi mereka: jika Anda mempekerjakan seseorang, apakah Anda akan memilih orang yang mungkin tidak tahu apa yang harus dilakukan dengan kompiler, atau orang yang telah beberapa kali berada di sekitar blok, belajar untuk memecahkan masalah, dan bisa mendapatkan beberapa pekerjaan yang bermanfaat dilakukan tanpa banyak pegangan tangan?
Iya nih. Memiliki beberapa kode untuk ditampilkan dapat membantu. Memiliki produk yang berfungsi untuk ditampilkan, dan bersiap untuk menjawab pertanyaan tentang cara kerjanya, mengapa Anda melakukannya dengan cara itu, dll. Juga dapat membantu. Pengusaha yang berbeda akan menghargai hal-hal ini secara berbeda, tetapi selalu lebih baik untuk memiliki sesuatu daripada tidak memiliki apa pun.
Ada banyak orang di Cina dan Jepang yang masing-masing berbicara bahasa Cina dan Jepang. Mungkin tidak banyak yang berbicara bahasa Inggris dan Finlandia dengan lancar juga. Gunakan kekuatan itu untuk keuntungan Anda - cari perusahaan yang membutuhkan keterampilan bahasa itu.
sumber
Saya akan mengatakan keterampilan yang paling penting yang bisa kekurangan programmer otodidak tanpa menyadarinya adalah rekayasa perangkat lunak dan yang terkait arsitektur perangkat lunak.
Pastikan Anda tahu lebih dari sekadar menulis kode, pastikan Anda tahu apa itu rawatan dan bagaimana mencapainya; apa yang SOLID, mengapa itu dianggap baik dan dibutuhkan; pola desain, dll.
Juga, cobalah untuk memperbaiki bagian buruk dari proses Anda. Misalnya: pengujian otomatis (sesuatu yang harus dilakukan semua orang !), Pelacakan bug, kontrol revisi sumber (juga wajib). Daftar ini tidak dimaksudkan untuk memasukkan semuanya, itu hanya sebuah contoh.
sumber
Ya, ini adalah pilihan terbaik. Kualifikasi bukanlah indikator yang sangat baik untuk kemampuan menulis kode. Hal yang sama berlaku untuk majikan sebelumnya - banyak orang dapat mengikis dalam pekerjaan yang tidak mereka sukai. Saya ingin melihat kode seperti apa yang Anda tulis dan riwayat jejak untuk dapat membangun barang-barang yang telah diproduksi.
Itu di luar bidang tanggung jawab Anda, saya tidak peduli tentang hal-hal itu kecuali Anda pergi untuk peran manajer proyek atau lebih tinggi.
Tidak terlalu banyak, tetapi mungkin poin-poin penting yang menunjukkan bidang-bidang menarik dengan sampel kode Anda akan bermanfaat.
sumber
Keterampilan belajar mandiri
Ya, belajar mandiri adalah keterampilan kompetitif terdepan Anda yang harus Anda tekankan dan sajikan dengan bangga. Selain itu, Anda harus menunjukkan hasrat Anda untuk pemrograman dan keinginan untuk perbaikan diri.
Mereka ingin melihat prestasi Anda dan keterampilan berpikir analitis. Mereka ingin melihat - apa yang Anda lakukan yang bermanfaat bagi proyek, peran apa yang telah Anda mainkan dalam menjalankan proyek jika Anda bekerja dalam sebuah tim. Bagaimana Anda memecahkan masalah dan mengatasi masalah teknis. Bagaimana Anda bekerja dengan perguruan tinggi, bagaimana Anda menangani tekanan kerja.
Beberapa poin lain yang mungkin sangat penting bagi pengusaha:
sumber
Selain jawaban lain - buat daftar alat yang telah Anda pelajari saat Anda mengajar diri sendiri.
Saya telah melatih lulusan dari sekolah besar-nama dengan gelar nama besar yang bersikeras menulis kode Java di notepad Windows dan menggunakan kompiler baris perintah ('lebih baik seperti itu' - untuk program satu kelas). Sebagian besar tempat kerja menggunakan IDE dan alat pemrograman lain. Dan mengajari mereka cara menggunakan Eclipse lebih mudah daripada mencoba mengajar mereka SVN.
Dengan mencantumkan satu atau lebih lingkungan IDE atau (lebih penting) satu atau lebih alat repositori kode Anda akan menunjukkan bahwa Anda siap bekerja dengan tim.
Jawab B: jika Anda bisa ke sana, coba pameran dagang CEBIT di Hanover di Jerman. Kami biasa membuat orang mengunjungi stan kami untuk mencari pekerjaan di negara kami. Probabilitasnya rendah sehingga Anda dapat bertemu orang yang tepat yang dapat membantu Anda. Atau tanyakan apakah mereka membutuhkan orang lokal / Eropa untuk membantu mereka.
sumber
Setelah Anda dapat menunjukkan bahwa Anda memiliki kode kualitas tertulis, bagaimana dan di mana Anda belajar memprogram kurang penting. Anda membangun seluruh aplikasi, jadi Anda harus bisa menjelaskan desain, masalah yang Anda hadapi dan mengapa Anda memilih solusi itu.
Jika aplikasi Anda tidak terkenal, Anda harus memberikan lebih banyak penjelasan dalam CV dan surat pengantar Anda. Memiliki sejumlah besar pengguna adalah keuntungan karena menunjukkan Anda dapat menangani skala, pendapatan yang dihasilkan akan sulit untuk menambahkan manfaat apa pun. Seseorang dapat menyewa seorang programmer untuk membuat aplikasi menggunakan horoskop untuk membantu ahli bedah otak. Tidak yakin saya akan meminta programmer bertanggung jawab atas produk yang tidak berguna ini. Mungkin startup akan lebih memilih dev dengan rasa produk, tetapi mereka tidak dapat menahannya karena Anda perlu membayar tagihan Anda.
sumber
Jika derajat tidak tersedia, sertifikasi yang dikenal merupakan nilai tambah. Beberapa sertifikasi tidak memerlukan kursus, Anda hanya bisa mengikuti ujian.
Pengalaman pemrograman Anda terdiri dari proyek-proyek. Di CV Anda, Anda menulis keterampilan Anda. Pada wawancara Anda akan ditanya tentang proyek yang telah Anda kerjakan. Kemudian Anda akan berbicara tentang apa yang Anda lakukan, masalah apa yang Anda temui, solusi yang Anda temukan, dll.
Mungkin. Secara pribadi saya tidak mendengar tentang majikan yang meminta untuk melihat kode (selain kode yang Anda tulis selama wawancara teknis, sebagai ujian). Jika Anda seorang perancang web atau perancang antarmuka pengguna, dalam kebanyakan kasus mereka ingin melihat beberapa situs web yang Anda buat atau rancang.
Sebagian besar pengusaha akan tertarik dengan bahasa pemrograman yang Anda kodekan dengan lancar, pengetahuan yang Anda miliki dan keterampilan yang Anda peroleh. Berapa banyak perangkat lunak yang digunakan dan pendapatan yang dihasilkan adalah barang-barang pemasaran, bukan barang-barang pemrograman. Sebagian besar perusahaan memiliki desain dan gaya pemrograman mereka sendiri. Mereka berharap bahwa seorang karyawan harus terbiasa dengan teknik seperti Agile, Scrum, Extreme tergantung pada apa yang mereka gunakan.
sumber