Apa yang biasanya diharapkan perusahaan dari pengembang Perl? [Tutup]

8

Apakah ada harapan umum dari pengusaha perspektif ketika mereka menyewa pengembang Perl?

Untuk siswa yang menyukai Perl dan Linux dan ingin mendapatkan pekerjaan sebagai pengembang Perl, apa yang akan Anda rekomendasikan untuk dipelajari?

Saya mencari hal-hal yang generik dan berlaku untuk sebagian besar / semua posisi Perl , yang bertentangan dengan rincian spesifik dari persyaratan perusahaan tertentu.

Dengan kata lain, hal-hal apa yang harus saya dapat / ketahui untuk menjadi lebih menarik bagi perusahaan APA SAJA yang mencari pengembang Perl.

Chankey Pathak
sumber
2
Kenapa semua downvoting?
DVK
2
Jangan Anda pikir menjadi pengembang PERL, Anda harus mempelajari segala sesuatu tentang hal itu, daripada berfokus pada satu aspek atau yang lain
Pankaj Upadhyay
Kepada semua pemilih yang rendah - Saya telah secara substansial merevisi pertanyaan untuk menghapus subjektivitas berdasarkan umpan balik yang bermanfaat dari moderator. Jangan ragu untuk mengubah downvote Anda.
DVK
Ini pertanyaan yang bagus. Perl adalah bahasa yang agak ketinggalan zaman yang tampaknya memiliki lebih dari bagian quirks dan idiom. Plus ada lebih banyak posisi "ahli" Perl di luar sana daripada "junior" hari ini.
joshin4colours
1
@ joshin - apakah Anda memiliki contoh spesifik di mana Perl os "agak tanggal"?
DVK

Jawaban:

20

Beberapa poin:

  • Sebagai pengembang Perl, hampir semua perusahaan mengharapkan Anda untuk mengetahui LEBIH BANYAK dari pada Perl. Bahkan di toko Perl murni, Anda perlu tahu (idealnya) JavaScript / pengembangan web keseluruhan; dan SQL untuk pekerjaan back-end.

    Dan sebagian besar perusahaan memiliki campuran bahasa, jadi Anda harus siap menjadi Perl / C ++ atau Perl / Java atau apa pun yang diperlukan. Meski faktanya menggerogoti saya, tidak banyak toko "Perl-only" yang bagus yang saya sadari.

  • Seperti bahasa apa pun, perusahaan akan mengharapkan Anda untuk menggunakan bahasa tersebut secara efektif. Ini memiliki beberapa aspek, beberapa lebih penting dalam Perl

    • Perpustakaan yang tersedia. Ini adalah titik UTAMA untuk Perl, tentu saja. Keakraban dengan CPAN dan mengetahui perpustakaan mana yang dianggap "canggih" / "paling umum" untuk tugas umum tertentu adalah suatu keharusan.

      Bisakah Anda membatalkan - tanpa meminta SO - perpustakaan "standar" untuk memuat file CSV? Untuk parsing data dari dokumen HTML? Untuk tes unit menulis? Untuk mengejek benda? Untuk menghasilkan data JSON? Untuk membaca file konfigurasi XML sederhana? Untuk berurusan dengan hash yang dipesan? Untuk penanganan pengecualian (coba / tangkap logika)?

    • Ditto untuk frameworks. Apakah Anda tahu cara membuat unit test untuk modul Perl dan tes integrasi untuk kode Perl? Apakah Anda tahu setidaknya satu kerangka templating web atau lebih baik kerangka kerja pengembangan web MVC (petunjuk: Catalist :)? Apakah Anda tahu cara menggunakan perpustakaan konektivitas database?

    • Apakah Anda tahu bagian dalam Perl? Bisakah Anda bekerja dengan modul XS, atau setidaknya dapat membaca kode?

    • Apakah Anda tahu fitur yang membuat Perl menjadi bahasa yang unik dalam hal ekspresi dan cara menggunakannya? Dapatkah Anda dengan mudah menggunakan map,, grepEkspresi Reguler, struktur data bersarang, referensi subrutin? Tahukah Anda apa autovivifikasi itu dan bagaimana Anda bisa menulis 1 baris kode Perl yang setara dengan nilai halaman kode Java ?

    • Apakah Anda tahu fitur Perl canggih? Sudahkah Anda membaca Perl Orde Tinggi dan dapat secara efektif menggunakan semua teknik di dalamnya? Ingatlah bahwa salah satu kekuatan Perl adalah "hampir lonceng" :) - jadi Anda harus dapat memanfaatkan kekuatan Lispy ke dalam produktivitas Anda.

    • Apakah Anda tahu bahwa komunitas Perl dianggap sebagai salah satu aset utamanya? Apakah Anda tahu dua tempat utama untuk dikunjungi untuk mengajukan pertanyaan Perl?

      Sudahkah Anda berpartisipasi dalam tag Perl di StackOverflow - keduanya mengajukan pertanyaan cerdas dan mencoba menjawab pertanyaan (bahkan jika Anda tidak tahu jawaban yang sempurna, dan bahkan jika sudah dijawab - PRAKTEK mencoba menjawab akan membuat Anda menjadi Perl yang jauh lebih baik) pengembang).

  • Sebagai pengembang Perl, perusahaan kemungkinan akan mengharapkan Anda dapat menangani Perl (atau 5.8) sebelumnya, atau, jika Anda beruntung, dengan Modern Perl. Berarti, tahu baik bagaimana membangun objek dengan cara lama (secara rinci - apakah Anda tahu cara bekerja dengan objek luar? Bagaimana menerapkan pola OO standar?) - dan bagaimana melakukan OO berbasis Moose; Pengembangan web Catalyst MVC dan akses data DBIx ORM. Untuk yang terakhir, membaca Perl Modern berwarna adalah suatu keharusan.

  • Sebuah perusahaan akan mengharapkan Anda untuk mengetahui hal-hal yang bebas bahasa. Algoritma, struktur data, jaringan, pemrograman bersamaan, desain GUI, pengujian unit, internal OS (atau eksternal - kadang-kadang Anda dapat menghabiskan 30 detik membangun alat pipa shell Unix yang bahkan membutuhkan pengembang Perl berpengalaman 1-2 jam untuk memolesnya - dan terkadang bos yang baik akan memperhatikan hal itu :))

  • Sebuah perusahaan mengharapkan Anda lebih dari sekadar monyet kode Perl. Apakah Anda memiliki keterampilan komunikasi? Bisakah Anda berkomunikasi secara efektif dengan pengguna dan pengembang lain? Bisakah Anda menulis kode / komentar / dokumentasi yang jelas? Apakah Anda menulis kode seolah-olah pengembang berikutnya yang mempertahankannya adalah orang gila yang tahu di mana Anda tinggal? Dan yang paling penting, apakah Anda siap untuk mempelajari bisnis yang didukung kode Anda ? Nilai pengembang meningkat dengan urutan besarnya ketika mereka memahami apa yang dilakukan pengguna mereka dan bagaimana dan mengapa mereka melakukannya dan dapat menerjemahkannya menjadi "bagaimana saya bisa membuat pekerjaan mereka lebih efisien dengan produk saya".

DVK
sumber
2
Saya pikir ini adalah jawaban yang bagus. Dibutuhkan pertanyaan yang cukup umum dan masih menghasilkan banyak info yang sangat berguna.
Martin Ba
Dear @DVK, meskipun saya menyukai jawaban Anda, saya merasa bahwa ia melewatkan beberapa bidang kompetensi inti paling penting Perl. Tidak ada bahasa lain yang menyediakan dukungan Unicode yang lengkap, nyaman, dan serbaguna seperti halnya Perl - yang, sekarang Web saja> 80% Unicode, sangat penting. Perjuangan Java, Javascript adalah lelucon, dan Python dan Ruby lebih dari sekadar tidak nyaman untuk pemrosesan Unicode. Kedua, Anda tidak menyebutkan pencocokan pola, yang dalam Perl bukan hanya satu tetapi banyak status kuantum dihapus dari penanganan regex dalam bahasa lain. Gunakan Perl untuk kekuatannya.
tchrist
@tchrist - Saya telah menyebutkan RegEx di "Apakah Anda tahu fitur yang membuat Perl menjadi bahasa yang unik dalam hal ekspresi dan cara menggunakannya?" bagian. Tidak memenuhi syarat untuk berbicara tentang Unicode, tetapi Anda dipersilakan untuk mengeditnya karena saya tahu Anda :)
DVK
1
Jawaban epik DVK. Bagus, tuan.
Rocklan
1
Saya mendapat pekerjaan sebagai pengembang Perl 3 bulan lalu, hari ini saya membaca pertanyaan lama saya dan sekarang saya merasa semua yang Anda nyatakan dalam jawaban Anda 100% benar. Jawaban yang sangat bagus Terima kasih :) dan ya saya sedang mengerjakan kode legacy (kami menggunakan perl 5.8.5 di perusahaan kami).
Chankey Pathak
0

Saya pikir Anda benar. Itu benar-benar tergantung pada apa yang spesifik dari sebuah perusahaan butuhkan, apa tingkat pengalaman orang-orang yang sudah bekerja di sana, dan apa basis klien mereka (yaitu apa set masalah yang mereka pecahkan untuk menghasilkan pendapatan). Anda mungkin akan dilayani hanya dengan membaca posting pekerjaan dan mencari tahu masalah apa yang digunakan oleh pengembang Perl untuk dipecahkan. Cobalah untuk menemukan perusahaan yang memberi Anda keseimbangan pertumbuhan / pengalaman yang Anda inginkan, budaya, dan kompensasi yang sesuai dengan apa yang Anda cari.

Bagi saya, saya perlu terlibat dalam memecahkan masalah pengkodean yang menarik, dan di bidang itu, tidak semua tempat sama. Misalnya, saya memiliki minat dalam pengembangan web, otomasi, kumpulan data besar, dan pengalaman pengguna. Karena itu, saya menyukai tempat-tempat yang memiliki aplikasi web yang memiliki basis pengguna yang besar dan beragam yang dapat saya berinteraksi untuk mendapatkan umpan balik tentang apa yang mereka inginkan, jadi saya dapat membuatnya untuk mereka. Ini merupakan nilai tambah jika kumpulan data yang saya kerjakan besar / kompleks (karena itu menyenangkan bagi saya), dan jika ada peluang untuk menulis skrip otomatisasi (mis. Pemrosesan batch untuk mengirimkan pemberitahuan email, pembersihan DB berkala, dan tugas memijat, laporan otomatis , dll.).

Kode apa yang Anda tulis di waktu senggang saat Anda tidak membuat kode untuk kelas? Cobalah untuk menemukan tempat yang menulis jenis kode yang sama.

usaha keras
sumber
0

Seiring dengan poin @DVK dan pengembang lain yang disebutkan perusahaan mungkin mencari keterampilan pemrograman C yang baik karena alasan kinerja ada banyak modul parsing yang ditulis dalam C jadi kadang-kadang Anda mungkin perlu men-debug untuk beberapa masalah. Jadi lebih baik jika Anda tahu kode dalam bahasa C.

pant
sumber
Saya mengerti sekarang :)
Chankey Pathak