あなたがプログラマーであるとき、チームワークを欠くことはどれほど悪いことですか?[閉まっている]


17

私はまだ学校にいますが、他の人とのやり取りに問題があることを知っています。

私は怒りや恥ずかしがり屋でも違う人でもありません。他人を尊重しながら自分のやり方で仕事をするのが好きです。知識に対する大きな好奇心と飢えがあります。彼らは私が何らかの士気を話すことを恐れるかもしれないので、私と一緒に。(たとえば、Windowsを頻繁に使用している場合でも、Windowsの代わりにLinuxを使用してプログラミングを学び始めました。Macを使用しています)。

チームワークが不足しているプログラマはどうなりますか?問題はどこから始まりますか?優れたプログラマーであるということは、少なくとも少しは報いていますか?プログラマーが言われたことをするだけでなく、自分の仕事についてビジョンを持つのは普通ですか?


17
コミュニケーションとチームワークのスキルが重視されない今日の世界には、職業はありません。
Fanatic23

2
問題があることを認めることは、それを解決するための最初のステップであり、これは手遅れになる前に気づくのに良い問題です!
クリス

回答:


16

あなたの行動はあなたの年齢ではかなり一般的です。私はあなたのようでした。

良いニュースは、ほとんどの場合、良い方向に進化しているということです。チーム内で自分自身を統合する方法を学びます。きっと気にいる!しかし、私はそれを作ることができず、今は鬱状態に陥っている人々に会いました。

会社の経営スタイルに応じて、チームから拒否されるか、しばらくして解雇されます。そのため、いくつかの困難に直面する準備をする必要があります。

フランスの最も一般的な管理スタイルは、恐怖と罰に基づいています。これはあなたの個人主義を助長するので、あなたにとって良いニュースではありません。だから、あなたの行動を奨励します。

そうは言っても、あなたはあなたに問題があることをすでに知っているので、外部からの助けなしで進化するために必要なものすべてを持っていることはかなり良い兆候です。最初のステップは認識していることです。2番目の、最も難しいのは、それに作用することです。


1
私はスティーブンが好きなので、この答えでは太字を使わないことにしました。

15

ジョブに必要なものに依存します。特定の任務のためにチームを持たないこともあります。しかし、ほとんどの場合、マネージャーがいます。

また、チームを持つことは、時々、くだらないコードを書くことを思い出させるのに役立ちます。

ソフトウェア開発者として、あなたはあなた自身の最悪の敵です。それに気づくほど、より良い結果が得られます。- ジェフ・アトウッド

つまり、チームを持つことで、より速く物事を学ぶことが容易になります!孤独であることはあなたを隠者にします;)


2
+1思い出させてください。唯一の開発者はわだち掘れに陥り、彼らが実際に素晴らしいものではないことを忘れます。
10

15

チームワークが不足しているプログラマはどうなりますか?

そうなると、一人のプログラマーにとっては大きすぎるプロジェクトに取り組むことが難しくなります。単独のプログラマーにとっては難しく、チームの他のメンバーにとっては難しい。

問題はどこから始まりますか?

あらゆる種類の場所。現在、チームの一員として働くのが苦手なプログラマーが一人います。彼は自分の前のバグを修正することにあまりにも集中しているため、アプリケーションの他の部分に悪影響を与えるショートカットを作成する傾向があります。または、アプリケーションの他の部分と互換性のない方法で新機能を記述します。彼のすべてのコードチェックインがチームの他のメンバーによってレビューされるように、物事を再編成する必要があります。しかし、彼を選出しないように、他の全員のコードチェックインも確認します。したがって、午前中のステータスミーティングと一緒に、昼食が終わるまで作業は行われません。ですから、私たちのオフィスでは、1人の男がチームワークでお粗末なため、4人が毎日1日半の仕事を失っていることを意味します。以前の冒険よりも改善されたとは言えませんが、何かを壊すチェックインから1日から1週間(通常は新しいバグを追いかける)をランダムに失う可能性があるためです(これらを「障害」と呼びます)。彼のコードの修正のいくつかは、アプリケーションがどれほど複雑で厄介なために、半ダースのバグをクリアすることになります(私の推奨事項軌道からそれを壊し、それが受け入れられなかったことを確認する唯一の方法だから、もう一度やり直してください)。

私たちが寛大な気分にあるとき、私たちは彼を「ヘッドダウンプログラマー」と呼びます。彼はキーボードを見下ろし、本当に速くタイプする傾向があります。彼は他の人がしていることに注意を払っていません。

優れたプログラマーであるということは、少なくとも少しは報いていますか?

いいえ。悪いチームプレーヤーであるほとんどのプログラマーは、自分のスキルについて非常に高い意見を持っています。これは、Dunning-Krugerエフェクトと呼ばれます。紙のPDF

たぶん、ソロプログラマはチームの他のメンバーよりもはるかに優れている必要があります。しかしこれは、他の誰も彼がしていることを維持できないことを意味します。そしてそれが起こると、おそらくソロプログラマーは実際にチームの他のメンバーよりもはるかに優れているわけではないことを意味します。

ビジネスソフトウェア開発では、会社はあなたが退職してからずっと経ちます。プログラムはおそらくあなたが始める前に書かれたものであり、あなたがいなくなった後もずっと維持されるでしょう。誰も理解できないほど特別で驚くようなものを書くと、Naughty Dogがいる状況なります -リード開発者は辞め、他の誰も彼が書いた独自のプログラミング言語を理解しませんそのため、すべてをC ++ に切り替える必要があります。

プログラマーが言われたことをするだけでなく、自分の仕事についてビジョンを持つのは普通ですか?

それは一般的です-交通渋滞や糖尿病のように。私はそれを普通とは呼びません。企業の世界では、他にも考慮すべきことがたくさんあります。多くの開発者が持っている強い自我により、開発者は他に何も問題がないと考えるようになります。この「適合性の欠如」と他のビジネスに対する考慮の欠如は、ソフトウェア開発者が働きにくいという結論に達する多くのマネージャータイプの理由です。


はい、私はすでにこの効果について、ある科学者に対して何らかの名前があることを知らずに考えました。この時点で、あなたはあなたが怪しげな天才なのか、st慢な愚かな人なのか決してわかりません。しかし、私はthink慢だとは思いませんが、この世界に多くの混乱と愚かさがあると考えることで、これがbe慢であることを意味するかどうかわかりません。私は、自分が正しいことを明確に宣言していないことを知っています。少なくとも質問によって物事を表現するので、人々は自分の考えを表現できます。リンクリストが究極の種類のデータ構造であると言われたとき、私は懐疑的ですが、慢ではありません。
-jokoon

コードレビューを時間の無駄と呼ぶのは少し厳しいです。
jfs

5

それは学習可能なスキルです。あなたは今すぐ学ぶことができます(単に他の人と一緒に仕事をしようとすることによって)、または仕事で難しい方法を学ぶことができます。(前者をお勧めします。)

他の人と仕事をすることができなければ、大きなシステムを構築することはできません。また、あなたはあなたより賢い人と仕事をすることはできません。つまり、あなたはそれほど多く、または速く学ぶことができません。


3

優れたプログラマーであることは、少しだけではありますが、ほんの少しだけです。業界での16年間で、私が一緒に仕事をした最高のプログラマー全員が人々と交流することができました。耐えられなかった人々は寛容でしたが、正直なところそれほど多くはありませんでした。

私にとって、他の人と協力する主な分野は、ユーザーとアナリストです。間違ったことをコーディングしている場合、どれだけコーディングできるかは問題ではなく、製品を定義している人々との良好な協力関係がその鍵です。

最初のステップは、あなた自身についてもう少し理解することかもしれません。あなたは他の人の意見を尊重することに満足していると言いますが、これは本当に本当ですか?もしそうなら、なぜあなたはあなたが問題について道徳的立場を取る傾向があることを暗示していますか(それは他人の意見を尊重することの反対である傾向があります)?

一般に、他の人とうまくやるということは、誰が正しいのか、誰が間違っているのかを無視する傾向があり(80%の状況でそれが信じられるかどうかは関係ありません)、プロジェクトを前進させるために何でもすることに焦点を合わせます。


3

今日のプロフェッショナルなソフトウェア開発は、主にチームの努力です。最高のソフトウェアは、新しいアイデアの共有と高度なコラボレーションを通じて生み出され、あなた自身の孤独をいじるのではありません。コーダカウボーイ理想的には、チームに知られている障害となっています。実際、定義上、チームワークとは正反対です。

そのため、チームの設定でチームのスキルが低いことは非常に悪いです。しかし、もしあなたが正直にそれを使って喜んでいるのであれば、あなたが最終的に素晴らしいチームの貢献者になれない理由はありません(優れたコーディングスキルを備えています)!


3

他の人は私が言ったことのほとんどをすでにカバーしているので、これを追加します。あなたが意見やビジョンを持っているからといって、あなたが正しいとか、あなたのアプローチが最高だとは限りません。他の人が意見やビジョンを持っている可能性に心を開くと、他の人から多くのことを学ぶことができます。

チームワークとは、これらすべての意見をまとめて、関係する人々の集合的な経験に基づいたものにし、一人では考えられなかった欠陥に対処することです。

それは仕事で学んだ最初の教訓の一つであり、その後、私はより良いプログラマーになりました。


2

あなたが他の人と協力することができず、あなたが自然に生まれたコーディングの天才でない場合、あなたは基本的に、自明ではないプロジェクトに取り組むために自分をブロックします。

身体的な接触が好きではないが、在宅勤務やオープンソースのメーリングリストでうまく働くなら、そのような仕事をすることを可能にするスキルに特化する必要があります。


2

残念ながら、大規模なプロジェクトで作業することはまれであり、チームで作業する必要がないため、これは少し問題になる可能性があります。プロジェクトを相互に依存して作業している場合でも、通常はチームワークに戻ってくるエンドユーザーと密接に連携する必要があることに気付くでしょう。したがって、それは非常に重要なことです。

ただし、他の人が指摘しているように、これは(ある程度まで)学習可能なスキルであり、あなたがそれに努力を注いだ場合です。一般に、米国の大都市で指導力を伸ばすために受講できるコースがいくつかあります。ただし、優れたリーダーであるということは、優れたフォロワーでもあるため、それらのスキルも発達します。同様に、人前で効果的にコミュニケーションできることは、人々が練習を必要とするスキルであり、チームワークのスキルに関連しますが、時にはglossめられます-効果的にコミュニケーションできない人は、「チームプレイヤー」ではないとしても引用される場合がありますコミュニケーションスキルに少し取り組む必要があります。

しかし、チームで働くことの大部分は、ある程度自分自身を知っており、自分自身や他の人と一緒に快適であるため、心理学者やカウンセラーに相談して改善できるものがあるかどうかを確認するのに害がない場合があります他の人と協力することに関して。

全体としてのキャリアに関して、ここアメリカでは、「一緒に仕事をするのが難しい」または「チームプレーヤーではない」という評判は、長期的なキャリアの見通しに非常に悪影響を与える可能性があります。他のほとんどの国でも同じだということです。これは、どの分野で働いているかに応じて、別の会社や場合によっては別の業界に移行することなく確立された後、揺るがすことも難しい評判です。


2

あなたは優れた学習者なので、もう1つ学ぶべきことがあります。それは一部の人々がすでに知っていることです。

  • 誰もが異なっており、彼らはすべて貴重です。

独立する時もあれば、一緒に集まる時もあります。両方とも重要です。

あなたは学校にいるので、あなたは好奇心を行使し、物事を行うための新しい異なる方法を探すことができます。それは良いことです。

ソフトウェアチームと協力すると、良いアイデアを提供できます。一部は受け入れられます。一部はそうしません。それから、あなたはすべて「肩を車輪に乗せて」仕事を終わらせます。それも良いことです。

プロジェクトでの私の経験では、人々がまだ全体像に焦点を合わせようとしているとき、最初は低いグループの士気があります。その後、目標に向かって前進するにつれて士気は着実に上昇します。あなたの「赤ちゃん」が「生まれる」ようになると、最後に向かって非常に高くなります。それはあなたが見逃したくないものです。


+1最後に、あなたの「赤ちゃん」が「生まれる」ようになると、それは非常に高くなります。-私の最後のプロジェクトでは、私はまさにこのように感じていました:-)。
オリバーワイラー

@ヘルパー:ええ。私が言っていないのは、次のフェーズを開始すると再び低値に戻るということです:)
マイクダンラベイ

しかし、これらの貴重な瞬間が私たちがプログラマーである理由です:-)?
オリバーワイラー

2

「多くの人が」「とてつもなく難しい」と考えられている優秀なプログラマーの数を考えることができます。

この業界では、私たちのかなりの量が、能力と能力を明確にする能力が重要であると予想し、想定していると思います。結局のところ、私たちはお金を稼ぐためにいくつかのタスクを達成するために仕事に行きます。友達を作ることは二次的です。

人生のある時点で、次の2つのうちの1つに気付くでしょう。

  1. あなたは、あなたの行動にもかかわらず、あなたのスキル(およびあなたの知識を明確にする能力)がすべての議論を終わらせるので、あなたが好きなように、sn、引きこもり、反社会的、冷笑的または失礼である立場にいます。

  2. あなたは他のすべての人と同じであり、チームの設定で作業する必要がありますが、知識を明確にするスキルと熟練がほとんどの議論を終わらせる他の人からのスナイド、引きこもった、反社会的、冷笑的、失礼な行動に耐える(そして脳を選ぶ)必要があります。

あなたがこれに疑問を抱いているなら、私はあなたがチームの設定に同意して参加することにいくらかの価値があると思うと思います。

私もあなたにとても似ています。私は混乱を嫌い、人々を邪魔したり、解雇したりしない方法を学ぶために、5年間の大半を費やしました。また、チームで働いた経験があるので、1年で自分で学べる以上のことを1か月で学びました。それはときにのみ、あなたの周りの人を望んでいることを奇妙ではありませんあなたが表示または議論する何か面白いものを持っていますか?

まだ見ていない場合は、映画「Real Genius」をご覧ください。Lazlo Hollyfeldに特に注意してください。心を開いてチームに飛び込み、自由にパジャマを借りてください。


2

物事がどうあるべきかについて強い意見を持つことには何の問題もありません。優秀なプログラマーにはたくさんあります。ただし、自問する必要があります。なぜこのコードを書いているのですか?

それがあなた自身の娯楽のためであり、あなたがすべての仕事を自分でできるなら、好きなことをしてください。ただし、他の人が使用するためにそれを行っている場合、助けが必要な場合、または退屈した後に他のプログラマーがそれを維持することを期待する場合は、他の人のニーズと概念を考慮に入れる必要があります。

ビジョンを持つことは問題ありません。しかし、あなたのビジョンを共有するように他の人を説得することができなければ、それは本当に違いを生みません。ゲイツ、ジョブズ、トーバルズはすべて、多くの人々に役立つ製品を作り、彼らに彼らのビジョンを購入させることで、彼らのビジョンを実現させました。純粋にあなたのやり方で作業することは、より純粋で満足のいくものですが、それにはコストがかかります。あなたは、ヴォルテールが言ったように、完全なものを善の敵にすることができます(「ル・ミユー・エスト・レンヌミ・デュ・ビエン」)。


1

チームワークはソフトウェアエンジニアリングの重要な部分です。あなたが一人で仕事をしている場合、他の人がどのように働いているのか、人々があなたに何を期待しているのか気にしないかもしれません。しかし、他の人と仕事をしている場合、一緒に仕事をすることは本当に重要です。ソフトウェアに関して言えば、チームワークとは、本当に「うまくコミュニケーションをとること」です。同僚に敬意を払い、すべてのアイデアに寛容になってください。それは問題ないはずです。


1

あなたが何かを信じるなら、それを言ってそれを意味しますが、一度間違っているか、優位にあると証明されたら、それを受け入れて、そこから学びましょう。チームワークとは、常に同意することではなく、特定の状況と時間枠で可能な限り最高のソリューションに到達する方法を持つことです。


1

あなたは労働力に入る準備ができたばかりなので、別のことを指摘します。

エントリーレベルのプログラマーは決してスーパースターではありません。あなたは他の誰よりも自分が優れていると考えて仕事に就くことはできません。あなたはあなたのレベルで他の人と競争しているので、あなたは私がこれらの人よりも優れていると思うことができます、私は素晴らしいプログラマーでなければなりません。

しかし、学校を卒業したばかりの人は、10年の専門的経験を持つ人が知っていることを知りません。あなたはまだそれを知りません。今、私は多くの経験を持つすべての人がスーパースターでもないことを認めており、エントリーレベルであることはあなたがまともなプログラマーになれないことを意味しません。他の人よりも調味料が少ないスーパースターになれないというわけではありません(スーパースターになることはありませんが、それでも大丈夫です)。

しかし、チームで最も若い人以外の人になるまで、アイデアを実装するための信頼性はありません。その信頼性を得るには、チームプレーヤーである必要があります。ビジネスドメインとビジネスの運営方法について学ぶ必要があります。自分の個人的なニーズや欲求は、ほとんどの場所で職場とは無関係であることを理解する必要があります。特定の仕事をして結果を出すために雇われます。あなたがそれらのいくつかを作成するまで、たとえあなたが正しいとしても、人々はあなたが提案するものに懐疑的です。話をする前に散歩をしなければなりません。


私はスーパースターになることも、そうでないことも気にしません。実際は気にしません。私はメンタリティについて、そして人々がそのようなことをどのように考え、そして/または好むかについて考えることを好みます。それは、他の何かよりも、そのビジネスで何が起こるかについての意見と知識に関するものです。あるプログラマーが他のプログラマーよりも優れているとは思わない。なぜなら、あるプログラマーは自分の証明をしたからだ。
jokoon

一例:ある日、「C ++のダークサイド」と呼ばれる論文を読み、好奇心people盛な人が読むことを決めた場合に備えて、ネットワークドライブを使用することにしました。私たちのプログラミングの先生はこの論文についてコメントし、それは良い読み物だと考えました。私が他のプログラマーよりも価値があることは重要ではありませんが、私と同じ好奇心を持たないかもしれない他の人を教えるための良い情報源になり得ることを示しています。
jokoon

0

あなたは一人で働くことになります。
チームで働くことの利点:
1-インタラクティブヘルプ:数時間/数日間問題に巻き込まれることはありません。
2-書籍/オンラインチュートリアル、フォーラムでは見つからないことを学習します。
3-競争:チームメートを克服するためのモチベーションを高めます。
4-ディスカッション:本やブログを読む時間よりも優れています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.