経験豊富なソフトウェア開発者を採用する方法
前書き
あなたのチームに最適なデベロッパーをまだ探していますか? ソフトウェアプロジェクトに適した開発者を見つけるのは難しい作業に思えるかもしれませんが、多くの場合、企業はソフトウェア開発者を雇用する他の方法に頼っています。 世界中に開発者がいて、最高のサービスを最も凄い値段で提供する人もいれば、ずさんな仕事を安い料金で提供する人もいるし、優れた仕事をする人もいるが、価格設定が高すぎるかもしれない。 適切なソフトウェア開発者チームを採用するためには、多くの労力が必要です。 そして、彼らを乗せるための興味深い方法論やアプローチもあります。
課題
開発者を雇う際に直面する課題もあります。 ロックスターの開発者は皆、いくつかの特徴的な資質を持っていますが、課題はそれを評価することに中心が置かれています。 どんなものなのか興味がありますか? 以下、チェックしてみてください:
開発者は、革新的でクリエイティブな発想の持ち主だと言っていますが、それをどう評価するのですか?
開発者にはチームプレーが求められますが、それをどう評価するのでしょうか?
モラルのある開発者 – 彼らのモラルを測るパラメータはありますか?
感情的な知性を持つことは重要です。しかし、それは面接で測れるのでしょうか?
これらは、開発者に求められるソフトスキルの一部です。 そして、このソフトスキルで評価しても、その人についての特別な知識は見えてきません。 特定の状況下でどのように機能するかが重要なのです。 技術的な洞察力はもちろんですが、クリエイティブな発想や、他のメンバーとの密接な連携ができることも必要です。
他にも、リーダーシップやコミュニケーション能力など、開発者に必要なソフトスキルがあります。 これらは、開発者がチームで働くことを「テスト」し、リーダーシップやコミュニケーションのスキルを分析するときに、あなたの会社にすでに働くチームがあれば、簡単にテストすることができます。
適切な候補者を採用するためのシステム的なアプローチをとる
知ってますか? 経験豊富な開発者を採用することは、科学であると同時に芸術でもあるのです。 そして、エンジニアが主張するスキルや能力を評価するために、採用できるアプローチや方法論があります。 その方法論を知っていれば、間違いなく時間の節約になりますし、仕事のためのエリートチームを簡単に手に入れることができるからです。
面接の前から、そのプロセスは始まっている
多くの場合、候補者との面接は、確率の高い候補者を採用するための最初のステップではありません。 実はそのずっと前からプロセスは始まっているのです。 特に、優秀で経験豊富な開発者の採用に関しては。 そして、そこで登場するのが、個人のネットワークを活用することです。 特に過去に一緒に仕事をしたことがあれば、あなたの知り合いは間違いなく質の高いデベロッパーをいくつか提案してくれるはずです。 個人的な紹介は、ほとんどの採用プロセスにおいて重要であり、新入社員を成功に導くための最も生産的なリソースとなります。
1.技術系ブログのスカウト
経験豊富な開発者は、自分の技術ブログを運営していることが多い。 きっと、自分たちのこだわりの技術や専門性をアピールできるはずです。 技術的な洞察力、問題解決能力、新しいトレンドや技術へのアプローチなど、ソフトスキルを分析したいのであれば、これらのブログは間違いなく聴衆の注目を集めるのに役立つでしょう。
2.Github、Stack Overflowなどのサイトを見る。
簡単にアクセスできる開発者コミュニティがたくさんあるんです。 Github、Stack Overflow、Hackernoon、HackerNews、CodeProject、Hashnodeなどのサイトがその一例です。 経験豊富なデベロッパーが、その知識を提供するサイトです。 実際にコンタクトを取る前に、彼らのコードサンプルをチェックし、スキルを分析することができます。
これらのウェブサイトは、実際に彼らのスキルレベルを理解するのに役立ちますので、あなたはそれをテストする時間を無駄にする必要はありません。 あなたが見つける必要があるのは、彼らがあなたのプロジェクトに取り組むためのスキルを持っているかどうかということです。
3.テクニカルコンファレンス
経験豊富な開発者は、このような技術カンファレンスで貢献し、共有することがたくさんあります。 もし、そのようなカンファレンスが簡単にアクセスできる場所で開催されていれば、カンファレンスに足を運んで開発者の貢献を確認することができます。
彼らの知識やコミュニケーション能力を分析し、プレゼンテーションが終わった後に連絡を取り、一緒に仕事をすることに興味があるかどうかを確認するのもよいでしょう。 これらの候補者と話すことで、彼らが候補者リストの中の単なる「履歴書」ではなく、あなたのプロジェクトに有益な成熟したレベルの技術的専門知識をすでに持っていることを知ることができるのです。
スタートアップの開発経験者を採用
スタートアップの場合、適切な開発者チームを見つけるのは困難なことです。 一つは、彼らが要求する給与を与えるためのリソースがない場合があることです。 しかし、経験豊富な開発者をチームに迎えることで、製品を市場に投入する際にミスがなくなるという利点はあります。 平均的なチームであれば、実際のリリースまでに何度か試行錯誤が行われるでしょう。
スタートアップの採用スタイルは、上記で述べた点とほぼ同じで、ただ、スタートアップの会社で働く開発者に来てもらうということです。 契約社員として雇用し、会社が拡大すれば、さらに経験豊富な開発者をチームに加えることも可能です。
開発者の技術力を評価する
開発者の能力と熟練度をテストすることは、特定のプログラミング言語に関する知識をはるかに超える。 技術力の高さは間違いなく有効な判断材料ですが、基礎的な技術力や理解力、問題解決能力、そしてもちろんクリエイティビティも証明する必要があります。 プログラミング言語を2つも3つも知っていることは、もはや付加的なスキルではなく、それらは必須スキルである。
そのためには、言語に関係なく、プログラミングの課題を提示することが効果的です。 彼らが得意とする言語に応じて、解決策をコーディングさせる。 そのソリューションは、存在する条件やエラーを修正できるものでなければなりません。 このような分野での候補者の可能性を評価するのに役立つと思います:問題解決能力、コンピューターサイエンス能力、根本的な問題の特定、など。
また、彼らが執筆したオープンソースプロジェクトの種類を聞くこともできます。 もし、いくつかのプロジェクトがあるのなら、そのプロジェクトについて、コード、デザインの決定、使用したパターン、コーディングスタイルなどを確認し、議論することができます。
結論
経験豊富な開発者と面接する際には、候補者が自分の仕事について建設的なフィードバックを得られるような機会を探すようにしましょう。 どのように受け止めているのでしょうか。 直面した問題や修正したバグなどについて、身構えるようなことがないかどうかをチェックします。 開発者は口を閉ざしているのか、それとも髪を流して気持ちよく接してくれているのか? そうすれば、その人の性格がよくわかると思います。 時間があるときに、適切な候補者を見つけるために少し努力をすることで、あなたのチームに高い能力を持つ開発者を確保できることは間違いないでしょう。
興味深いリンク:
写真:Canva
著者:Sascha Thattilは、YUHIROグループの一員であるSoftware-Developer-India.comで働いています。 YUHIROは、IT企業、代理店、IT部門にプログラマーを提供するドイツとインドの企業です。