近代的な雇用は吸う

この世界の狂気によって引き起こされた絶望の叫びを始める前に、私はプログラマー、プログラマー(雇われ、雇われた)、Perlのみでの重要な開発経験について少し述べたいと思います。



PerlはかつてWebで人気のある言語でしたが、今では死にゆく言語です。 死にかけている男は非常に正当化されているので、私は彼から大いに需要のあるもの(Java)を降りたいと思います。



問題



テクノロジースタックの変更はそれほど簡単な作業ではありません。問題は、特定のプログラミング言語や特定のフレームワーク/ライブラリを仕事の経験で指定していない場合、不適切な候補者と見なされることです。



品質や量にどのような経験があるかは問題ではありません。問題を解決できれば違いはありません。

最も重要なのは、履歴書に欠員に記載されているツールの使用経験を示すことです。



なぜなら ITはまったく新しいものであり、なぜこれが完全にばかげているのかは誰にもわかりません。 わかりやすく説明するために、木工の例を見てみましょう。 木製のテーブルを作るために大工が必要な場合は、「プラスチック製のハンドルで鉄のファルスゲベラミを使って作業する」というような空席を書くことはありません。 「製造テーブルの経験が必要です」と書くことを除外しません。これは少なくとも何らかの形で理解できますが、これは必須ではありません。 優れた大工がテーブルを作ることができるということに疑問を持っていますか?



すなわち 主なタスクは、特定のツールを所有する大工ではなく、同様のプロジェクトを実施した大工ではなく、 優れた大工を見つけることです。 2番目は価値があるかもしれませんが、IT分野への適用には一定の困難があります。通常、そのような経験を持つ人を見つけるのはほとんど不可能なほどまれな何かを作成する必要があります。



ジョイナーの例は、もちろん類推にすぎず、理解を容易にしますが、完全な全体像を与えるものではありません。 たとえば、ジョイナーの場合はツールセットの変更が非常に遅いのに対し、プログラマーの場合はツールが宇宙の速度で変更されるため、ツールの所有者をジョイナーよりもプログラマーに要求するのはさらに愚かです。 プログラミングには、常に新しいことを学ぶことが含まれます。今日、一部のテクノロジーを使用する人を雇い、明日は他のテクノロジーを使用する必要があります。 私はクライアントサイドのデベロッパーではありませんが、2007年にjQueryとExtJS(今日のReactJSやAngularのような)がクライアントサイドで人気のあるライブラリであり、2017年にThe Rolling Scopes#37カンファレンスで話したことをよく覚えています。 ホメリは、大きなホールではそのような名前を覚えている人はごく少数であることを知りました。 そして、それはどこにでもあります- 誰もが常に新しいテクノロジーを導入しており、何らかの理由で、現在の従業員がこれらのテクノロジーを経験していないことを気にしません さらに、プログラマーは、ジョイナーとは異なり、人間の活動のかなり新しい分野で複雑なタスクに関与していると言えますが、業界で蓄積され、複製された経験はまだほとんどありません。 この大工は、さまざまなテーブルの膨大な数の図面を含む教科書や参考書を手に入れるか、経験豊富な専門家に相談することができますが、これはITの分野ではありません-ウェブサイト開発のような典型的なタスクでも、例えば人気のある既存のCMSはしばしばバージョンをやり直します優れた普遍的なソリューションを求めたアーキテクチャ。 そして、あなたが少し標準的なプロジェクトをとらない場合、それは完全に悲しいでしょう。



上記に基づいて、(同じツールでの経験とは対照的に)同様のプロジェクトでの経験が価値があることが理解できます。 同じ分野で働いていた人は、対象領域(頭にモデルがある)を知っており、いくつかのバンプを埋めており、すでに最初にやったよりもうまくやることができます。 誤解しない限り、フレデリックブルックスは、プログラムが3回書き換えられて初めてプログラムが正常になるという声明を出しました。したがって、すでに1回書いた人を雇うと、2つしかありません。 ただし、すでに述べたように、同じプロジェクトで経験のある人を見つけるのは非常に難しく、費用がかかります。 タスクマネージャー(Redmineなど)を作成した世界の人々の数を考えてください。 ホスティングの請求書を作成しましたか? メッセンジャーを作成しましたか? 同様のプロジェクトを開発している場合、彼らの経験は非常に貴重ですが、多くの理由でそれらを見つけて採用することは非常に困難です。



誰のせいですか?



私は知りません、それは間違いなく人事ではありません、彼らは言うようにプレーします。 たぶん実際には、この世界ではすべてが順調ですが、私は夢中です。



どうする



候補者の要件を策定する前に、慎重に検討してください。 結局のところ、優秀なプログラマーは学ぶことができなければならず、したがって、必要な技術を習得できなければなりません。 そして、それがテクノロジーに関するものではない場合、何ですか? 明らかに、彼はアルゴリズムの問​​題をプログラムし、解決できなければならず、これはテストタスクを与えることによって検証されなければなりません。 ただし、実際の作業に近いこのテストタスクを実行する必要があります。システムプログラマーを雇う場合、アルゴリズムなどの知識を必要とするタスクを与えて、プログラムする能力だけでなく、蓄積されたプラクティス(システムプログラミングの知識)もテストすることは完全に受け入れられますいくつかの蓄積された経験があり、これは業界で最も古い部分であり、古い数学に根ざしています。 そして、アプリケーションプログラマーを採用する場合、問題を正しく解決するシンプルで明確で読みやすいコードを書く能力と学習する能力をテストする必要があり、高い確率で適切な人材を獲得できます。



All Articles