Perlの開発者を雇うときに、雇用主からの一般的な期待はありますか?
PerlとLinuxが好きで、Perl開発者として就職したい学生にとって、何を学ぶことをお勧めしますか?
特定の会社の要件の具体的な詳細とは対照的に、一般的でほとんどまたはすべてのPerlの職位に適用できるものを探しています。
言い換えれば、Perl開発者を探しているどの企業にとっても、より魅力的になるために私ができる/知っておくべきことは何でしょうか。
Perlの開発者を雇うときに、雇用主からの一般的な期待はありますか?
PerlとLinuxが好きで、Perl開発者として就職したい学生にとって、何を学ぶことをお勧めしますか?
特定の会社の要件の具体的な詳細とは対照的に、一般的でほとんどまたはすべてのPerlの職位に適用できるものを探しています。
言い換えれば、Perl開発者を探しているどの企業にとっても、より魅力的になるために私ができる/知っておくべきことは何でしょうか。
回答:
いくつかのポイント:
Perl開発者として、ほとんどすべての企業がPerlよりも多くを知っていることを期待しています。純粋なPerlショップでさえ、JavaScript /全体的なWeb開発を(理想的には)知る必要があります。バックエンド作業用のSQL。
また、ほとんどの企業では言語が混在しているため、Perl / C ++やPerl / Javaなど、必要なものを用意する必要があります。事実が私にすりおろしているように、私が知っている良い「Perlのみ」の店はそれほど多くありません。
他の言語と同様に、会社はその言語を効果的に使用することを期待します。これにはいくつかの側面がありますが、いくつかはPerlでより重要です
利用可能なライブラリ。もちろん、これはPerlにとって重要なポイントです。CPANに精通し、どのライブラリが特定の一般的なタスクで「最先端」/「最も一般的」と見なされるかを知ることは必須です。
あなたは、SOに頼むことなく、CSVファイルをロードするための「標準」ライブラリーからガタガタ音を立てることができますか?HTMLドキュメントからデータを解析するには?単体テストを書くには?オブジェクトをモックするために?JSONデータを生成するには?単純なXML構成ファイルを読み取るには?順序付けられたハッシュを処理するために?例外処理について(トライ/キャッチロジック)?
フレームワークの同上。Perlモジュールの単体テストとPerlコードの統合テストを作成する方法を知っていますか?少なくとも1つのWebテンプレートフレームワーク、またはより良いMVC Web開発フレームワーク(ヒント:カタリスト:)を知っていますか?データベース接続ライブラリの使い方を知っていますか?
Perlの内部を知っていますか?XSモジュールで作業できますか、それとも少なくともコードを読み取ることができますか?
Perlを表現力の点でユニークな言語にする機能とその使い方を知っていますか?あなたは簡単に使用することができmap
、grep
、正規表現、ネストされたデータ構造、サブルーチンの参照を?autovivificationとは何か、そしてそれがどのようにして1 ページ分のJavaコードに相当する Perlコードの1行を書くことができるか知っていますか?
高度なPerl機能を知っていますか?高次Perlを読んで、その中のすべてのテクニックを効果的に使用できますか?Perlの長所の1つは、「ほぼLisp」であることを覚えておいてください。そのため、Lispyの長所を生産性に活用できる必要があります。
Perlコミュニティがその主要な資産の1つと見なされていることを知っていますか?Perlの質問をするために行くべき2つの主要な場所を知っていますか?
StackOverflowのPerlタグに参加しましたか-インテリジェントな質問をすることと質問に答えようとすることの両方(完全な答えがわからなくても、すでに答えられていても)-答えようとする練習は、はるかに優れたPerlになります開発者)。
Perl開発者として、同社はおそらく、レガシー(5.8以前)Perl、または運が良ければモダンPerlのいずれかを処理できることを期待するでしょう。つまり、古い方法でオブジェクトを構築する方法(詳細-オブジェクトを裏返しに使用する方法を知っていますか?標準のOOパターンを実装する方法を知っていますか?)と、Mooseベースのオブジェクト指向を実行する方法の両方を知っています。Catalyst MVC Web開発およびDBIx ORMデータアクセス。後者の場合、chromaticのModern Perlを読むことは必須です。
会社はあなたが言語に依存しないものを知っていることを期待するでしょう。アルゴリズム、データ構造、ネットワーキング、並行プログラミング、GUI設計、ユニットテスト、OS内部(または外部)-経験豊富なPerl開発者でさえ、1〜2時間で完了するUnixシェルパイプツールの構築に30秒を費やすことがある-そして時々良い上司はそれに気づくでしょう:))
会社はあなたがPerlコードモンキー以上のものであると期待します。コミュニケーション能力はありますか?ユーザーや他の開発者と効果的にコミュニケーションできますか?明確なコード/コメント/ドキュメントを記述できますか?コードを保守している次の開発者が、あなたがどこに住んでいるかを知っている怒り狂うサイコであるかのようにコードを書いていますか?そして最も重要なこととして、あなたのコードがサポートするビジネスを学ぶ準備はできていますか?開発者の価値は、ユーザーが何をどのように、なぜ行うのかを理解し、それを「私の製品で作業をより効率的にする方法」に変換できると、桁違いに増加します。
私はあなたがかなり正しいと思います。それは、企業の具体的な要件、すでにそこで働いている人々の経験レベル、およびクライアントベースが何であるか(つまり、収益を生み出すために解決する一連の問題)に完全に依存します。おそらく、求人情報を読んで、Perl開発者が解決に利用している問題を理解することで、最善の結果が得られるでしょう。あなたが望む成長/経験、文化、そしてあなたが探しているものと連動する報酬のバランスを提供する会社を見つけてみてください。
私にとって、私は興味深いコーディング問題の解決に関与する必要があります。その領域では、すべての場所が同じというわけではありません。たとえば、私はWeb開発、自動化、大規模なデータセット、およびユーザーエクスペリエンスに関心を持っています。そのため、Webアプリケーションがあり、ユーザーの希望に応じてフィードバックを取得できるように対話できる、大規模で多様なユーザーベースを持つ場所が好きなので、それを構築できます。私が取り組んでいるデータセットが大規模で複雑な場合(それは私にとって楽しいので)、自動化スクリプト(電子メール通知を送信するためのバッチ処理、定期的なDBクリーンアップとマッサージタスク、自動化されたレポートなど)を作成する機会がある場合、それはプラスです。など)。
クラスのコーディングをしていないときに、暇なときにどのようなコードを書きますか?同じ種類のコードを書く場所を探すようにしてください。
ポイントとともに、@ DVKおよび他の開発者は、パフォーマンス上の理由からCで記述された多くの解析モジュールがあり、一部の問題についてデバッグが必要になる場合があるため、企業は優れたCプログラミングコーディングスキルを探す可能性があると述べました。あなたがC言語のコードを知っているならとても良いです。