マスターを終えたばかりで、労働の世界を掘り下げ始めています。つまり、プログラミングチームやテクノロジー企業が現実の世界でどのように機能しているかを学び始めています。私はフリーソフトウェアに基づいて自分のサービスや製品のアイデアを設計し始めています。そして、そのアイデアを構築するには、十分に結合された、熱狂的で流動的なチームが必要になります。私の問題は、4〜5人のメンバーからなるプログラミングチームを求めるのに最適なスキルがどれかわからないことです。
私にはたくさんの友人や知人がいて、勉強中に一緒に仕事をしました。私が念頭に置いているのは、非常に有能で賢い人々であり、優れたロジックとプログラミングベースを備えている必要がありますが、グループに悪影響を与える可能性があると私が信じているいくつかの特性があります:コミュニケーションの欠如、アイデアを議論することへの恐れ、議論するときに与えるのが難しい、構造化プログラミングの欠如(テスト、良いコメント、以前の設計と分析)。
中にはこのネガティブな特徴を持っている人もいますが、熱意、(個人の視点から見た)優れた作業スキル、全体像を見る能力が必要です。
問題は、プログラミングが多い大規模プロジェクトに最適なチームをどのように選ぶかということです。これらのネガティブなスキルのうち、影響力が大きすぎると思うのはどれですか?良いリーダーシップでどちらを和らげることができますか?優れたスキルが期待されますか?そして、プログラミングチームの社会的スキルとプログラミングスキルに関するその他の意見。
チームの化学的性質は予測が難しいものです。プロジェクトが完了するまでにかかる時間を予測することは困難です。本当に、人生を予測するのは難しいです。あなたの最善の策は、一緒にうまく働くと思う人を選び、彼らを始めて、何が起こるかを見ることです。次に、必要に応じてチームを調整します。チームにこれらの項目に関するフィードバックを求めると、どの領域を改善する必要があり、何がスムーズに進んでいるかが明らかになります。
科学的方法は、一般的に結果を達成するための最良の方法です。仮説を立てるのに時間をかけすぎないでください。行動を起こすことができるように、先に進んで観察してください。
ジョエルスポルスキーは言った:
- スマート、そして
- 物事を成し遂げる。
Steve Yeggeはその原則を気に入って、それを少し拡張しました Done and Gets Things Smart。
私は15年間の開発の後、5年間チームを管理してきました。私自身の原則は、Spoelskyの原則とよく似ていますが、エレガントな言葉ではありません。プログラマーは、ソフトウェアを使用して問題を解決する問題解決者です。その意味で、優れたプログラマーは仕事に最適なツールを使用しますが、それは多くの場合、彼らが最もよく知っている少数のツールの1つを意味します(LISPが仕事に最適なツールであると信じている.Net開発者を見つける幸運)。
私のインタビューにはすべて、開発固有の質問がいくつかありますが、それらは一般的なものであり、ツールセットベースではない傾向があります。むしろ、OO(現在のアプリスイートはOO)を理解し、理解し、学び、受け入れる能力を示す人々が欲しいです。
そうは言っても、彼らはある言語で健全な論理を書く能力を持っていることを示す必要があります。話はできるけれど散歩ができない開発者が多すぎます。
優れたチームメンバーには、以下のリストに示すように、いくつかの特徴があります。これはプログラミングに固有のものではありませんが、コラボレーションが行われることが予想されるすべてのタイプのチームに適用されます。
このリストを、潜在的なチームメンバーを測定する方法として使用してください。
これは多かれ少なかれ完璧なチームメンバーであり、私が一緒に働きたいと思っている人です。このような人を見つけて、またプログラミングについて1つか2つ知っている人を見つけることができれば、勝利チームができます。
詳細 ここ 。