Apa yang dicari majikan dari pelamar otodidak? [Tutup]

23

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).

Ano Päivinen
sumber
Perhatikan bahwa sebagian besar pemrograman hari ini dilakukan dalam tim (hanya untuk dilakukan) dan mampu menulis kode dalam bentuk yang diharapkan oleh yang lain adalah keterampilan yang penting. Anda mungkin ingin mengambil satu atau dua kursus pemrograman di universitas lama Anda jika mungkin hanya untuk mempelajari keterampilan dasar.
2
"pelajari keterampilan dasar" - ini tidak dimaksudkan untuk menyiratkan Anda tidak tahu keterampilan dasar apa pun, tetapi ada banyak hal yang harus dipelajari, dan tidak pasti Anda telah mempelajari semuanya sendiri.
4
Lihat Apa yang Harus Diketahui Setiap CS mayor . Ini menekankan pentingnya memiliki portofolio pengalaman git untuk menunjukkan kepada karyawan, keterampilan Linux / UNIX, berbagai paradigma pemrograman dan banyak lagi. Juga lihat Matriks Kompetensi Programmer dan kursus Ilmu Komputer gratis Coursera .
Anthony
@ AnoPäivinen BTW, jangan meremehkan jumlah orang otodidak di bisnis dan jangan berkecil hati dengan apa yang tampak seperti celah besar yang Anda akan miliki pada awalnya. Saya bekerja dengan beberapa orang luar biasa yang belajar sendiri.
MrFox

Jawaban:

8

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.

Aaron Murgatroyd
sumber
9

Sebuah petunjuk

Serius, saya mencari beberapa hal dalam diri seorang kandidat:

  1. kemampuan dasar untuk memprogram
  2. minat dalam pemrograman
  3. pemahaman yang sepadan dengan pendidikan dan pengalaman
  4. kemampuan untuk belajar
  5. kebaikan

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.

kevin cline
sumber
Bisakah Anda menjelaskan apa yang Anda maksud dengan kebaikan? Apakah itu milik tidak menjadi brengsek?
Ano Päivinen
1
@ AnoPäivinen: Ini mencakup berbagai perilaku yang berkaitan dengan perawatan kolega yang semuanya menjadi pertimbangan orang lain. "Brengsek" didefinisikan oleh kegagalan untuk mempertimbangkan orang lain.
kevin cline
Saya hampir mengatakan bahwa saya harus bekerja untuk Anda, berdasarkan kebutuhan Anda, tetapi saya tidak tahu apa itu peta pohon / hash. Setelah tiga tahun pengembangan perangkat lunak / web yang hidup dan bernafas saya masih dibanting di wawancara untuk hal-hal yang belum pernah saya dengar. Membuat saya merasa belum belajar apa-apa. Terkadang aku bersumpah kalian semua membuat ini. Entah itu, atau aku benar-benar tidak akan belajar apa pun sampai aku diterima.
Josh Campbell
@Josh: dapatkan salinan "Pengantar Algoritma". Edisi apa pun.
kevin cline
1
@ papercuts: Jika Anda melamar magang, maka saya pikir akan masuk akal untuk menyebutkan bahwa Anda telah menyelesaikan masalah Euler, di mana n> 20. Tujuan Anda dengan resume adalah untuk mendapatkan panggilan. Informasi yang menunjukkan beberapa kemampuan untuk benar-benar memprogram tidak akan sakit.
kevin cline
3

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:

  • Lulus di negara masa depan Anda. Ini akan memberi Anda (a) pengetahuan dalam standar nasional; (b) kontak bisnis; (c) ijazah formal (yang mungkin lebih penting daripada yang Anda pikirkan). Juga, juga di mana-mana, perusahaan besar melakukan kontak dengan universitas untuk menemukan siswa yang paling menonjol, dan Anda memiliki peluang bagus untuk menjadi mahasiswa.
  • Terapkan ke perusahaan multinasional yang memiliki cabang di Cina. Anda dapat berbicara dengan HR dan setuju untuk bekerja pada posisi lokal untuk waktu tertentu dan kemudian pindah dalam perusahaan yang sama (lebih sedikit dokumen). Memiliki latar belakang bahasa dan budaya, akan lebih mudah bagi Anda. Dan, pada saat bergerak, Anda sudah memiliki pengalaman TI praktis di perusahaan.
bytebuster
sumber
Terima kasih atas wawasannya! Mungkin kedengarannya aneh bahwa saya memutuskan antara China (Shanghai) dan Jepang, mereka sangat berbeda tetapi saya sangat menyukai keduanya. Tapi saya belum bisa memutuskan mana yang lebih baik, jadi saya bertujuan untuk keduanya dan melihat apa yang terjadi. Saya ingin tahu apakah itu masuk akal!
Ano Päivinen
Anda bisa menyukai keduanya. Pastikan aplikasi Anda spesifik untuk pasar kerja Cina dan Jepang. Mungkin, surat pengantar yang berbeda juga akan membantu, seperti dalam jawaban ini .
bytebuster
2

Apa yang ingin diketahui pengusaha tentang pengalaman pemrograman saya?

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?

Apakah pengusaha ingin melihat kode yang saya tulis atau bisakah mereka ingin melihat perangkat lunak itu beraksi?

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.

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).

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.

Caleb
sumber
3
"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" - Bagi banyak perusahaan, itu sepenuhnya tergantung pada seberapa murahnya mereka.
pdr
2

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.

K.Steff
sumber
2
Itulah yang biasanya saya temukan hilang dalam lulusan CS! Kemampuan untuk membaca O (n) untuk wadah yang berbeda tetapi tidak pernah menggunakan debugger.
Martin Beckett
2

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?

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.

Atau apakah mereka hanya peduli seberapa banyak perangkat lunak saya digunakan / berapa banyak yang telah menghasilkan pendapatan?

Itu di luar bidang tanggung jawab Anda, saya tidak peduli tentang hal-hal itu kecuali Anda pergi untuk peran manajer proyek atau lebih tinggi.

Haruskah saya menulis tentang desain dan gaya pemrograman saya?

Tidak terlalu banyak, tetapi mungkin poin-poin penting yang menunjukkan bidang-bidang menarik dengan sampel kode Anda akan bermanfaat.

Jim
sumber
OK, saya tidak akan peduli bagaimana perangkat lunak saya berakhir seperti di tangan klien dan menyetujui untuk menulisnya dengan baik.
Ano Päivinen
2

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.

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?

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:

  1. Perilaku yang baik
  2. Gairah untuk pemrograman
  3. Pengalaman komputer - untuk melihat bahwa Anda memahami dasar-dasar cara kerja komputer dan perangkat lunak
  4. Etos kerja dan keterampilan lunak
  5. Kemampuan belajar dan pengembangan diri
  6. Sejarah pendidikan
  7. Pengalaman kerja sebelumnya
  8. Kurangnya gagasan yang terbentuk sebelumnya
  9. Kemampuan untuk mengajukan pertanyaan - Ya, ajukan pertanyaan daripada membuat asumsi.
EL Yusubov
sumber
1

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.

jqa
sumber
Poin bagus dalam mempelajari berbagai IDE. Sikap saya sejauh ini adalah "whadev, saya akan belajar mereka ketika dibutuhkan".
Ano Päivinen
1
Saya mengerti maksud Anda tentang IDE, tetapi saya akan membawa seseorang dengan hanya pengalaman Java baris perintah di atas pengembang BlueJ setiap hari!
Michael K
0

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.

JeffO
sumber
0

Yang ingin saya ketahui adalah apa cara terbaik untuk menunjukkan pengalaman saya kepada majikan?

Jika derajat tidak tersedia, sertifikasi yang dikenal merupakan nilai tambah. Beberapa sertifikasi tidak memerlukan kursus, Anda hanya bisa mengikuti ujian.

Apa yang ingin diketahui pengusaha tentang pengalaman pemrograman saya?

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.

Apakah pengusaha ingin melihat kode yang saya tulis atau bisakah mereka ingin melihat perangkat lunak itu beraksi?

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.

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?

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.

Coral Doe
sumber