私のコミュニケーションスキルはソフトウェアエンジニアリングのキャリアで無駄になりますか?[閉まっている]


40

私は金融工学の分野(BA MathとBA Computer Scienceの後)で約5年間(20%分析/プログラミング、80%コミュニケーション)しており、人々とコミュニケーションを取り、技術的な問題について議論する能力に誇りを持っています。チームと)。仕事のこの部分が大好きです。ホワイトボードに行き、抽象的なアイデアを描き、ブレインストーミングを行います。

しかし、多くの理由で、キャリアをテクノロジー企業(ソフトウェアエンジニアリング)に移行したいと考えていますが、プログラマーが大きなヘッドホンを付けてコーディングするという定型的なプログラミングの仕事に落ちることを深く恐れています。私は確かにこれが単なるステレオタイプであることを知っていますが、以前(スタートアップで)同様の環境を目撃しました。

コーディングとアルゴリズム的思考が大好きですが、人とのやり取りをあきらめたくありません。コミュニケーションスキルを身に付けることは前向きなことだと理解していますが、ソフトウェアエンジニアリングに移行することで、キャリアハッピーの失敗に備えています。明確化やアドバイスを聞きたいです。


14
あなたはここでの答えが少し偏っているかもしれないことを理解していますか?
JBキング

2
もちろんですが、これまでの答えは素晴らしく、非常に有益です。
ライアン

私のように、プログラミングは得意であるが、人事部に敬遠されている(そしてその黄金の仕事を得ていない)人たちは、コミュニケーション部門に少し欠けているので、あなたの質問が奇妙に思えることに気づくことを願っています。特にチームプロジェクト(スクラム+スタンドアップミーティング...)および遠隔作業のコンテキストでは、コミュニケーションスキルは間違いなくプラスです。また、要件を検討するときに、いくつかの再編成が行われることもわかります。より少ないプログラミングとより多くの調整を伴ういくつかの責任があります。
ジェームズP.

全く...
ルイ・リス・

2
話された言語と書かれたコンピューター言語の両方で自分の考えを表現できないソフトウェアエンジニアは、何の価値もありません。
ラムハウンド

回答:


53

プログラミングの秘s は、ほぼ100%のコミュニケーションです。その重要な部分は人間とのコミュニケーションです。残りはあなたが今学んだことをコンピューターに伝えることです。

後者は、2つのうちの簡単な部分です。コンピューターは、言われたことを正確に行い、あなたは常に、あなたが言ったことが正しいことをテストする立場にあります。

前者は別のものです。用語、理解、優先順位の違いは、人から人への正しいメッセージを得るのを非常に難しくします。このレベルでの誤解は、プログラマとコンピュータ間の誤解よりもはるかに一般的です。

優れたプログラマーはコンピューターとのコミュニケーションが得意です。優れたプログラマーは、人とのコミュニケーションにも優れています。

ヘッドフォンから出てくることのないプログラマーですか?電子メール、バグ追跡システム、メッセンジャーのいずれであっても、彼らはまだこのコミュニケーションを行っています。それはすべて起こっている、さもなければ彼らはコンピュータに何をするように言うべきかをおそらく知ることができない。

そうです、あなたのコミュニケーションスキルはあなたによく役立つでしょう。


全体としてのコミュニケーションには良い点ですが、個人的なミーティングに重点を置いて、よりプライベートで書面に移行する可能性があります。
-JeffO

実装が提案された2つの部分の中で簡単であると本当に信じている場合は、悪いチームと作業しているか、実行している実装があまりにも簡単です。実装に費やした労働時間と実装について話す時間を数えます。実装は明らかに合計の2/3でなければなりません。そうでない場合、上司との特別な会議が必要です。
ジョナサンクラインIEEE

6
@ジョナサン:私は難しいと時間がかかることを非常に強く区別します。
-pdr

3
時間の経過とともに、コンピューターとの通信は人間と同じくらい難しいことを学びました。私が書いたコードのほとんどは、後で他の誰かに読まれます(他の誰かが 1ヶ月後に自分自身であるかもしれませんが、驚くほど難しくはありません)-それは本質的に人間とのコミュニケーションに戻ります書面および間接形式。コードは未来への手紙であり、コーダーは作家です。ジョイス誰か?
-gnat

誰でもコンピューターが理解できるコードを書くことができ、優秀なプログラマーは人々が理解できるコードを書くことができます。
マイケルブラウン

23

プログラマは(まあ、すべてではないそれらのん)に大きなヘッドフォンを使用してコードを好むかもしれないが、それは、彼らが通信できないという意味ではありません、彼らは邪魔されたくないというそれだけの手段その時点で -ない彼らこと決して通信しません。

言語コミュニケーションスキルは、チームの他のメンバーとのミーティング、アドホックミーティング、ビジネスユーザー、他のチームとのミーティングなどにおいて非常に重要です。

同僚に大きなヘッドフォンでメールを送信して、後で返信できるようにするには、書かれたコミュニケーション能力も非常に重要です。


1
これに完全に同意します。忙しいことを示すためだけにヘッドフォンを装着します。
イヴァン

7

技術コンサルタントとしての仕事を探すべきだと思う。多くの場合、プログラミングが含まれますが、顧客、同僚、他社のコンサルタントとの多くのコミュニケーションも必要です...おそらく異なるパスを探してください。HTH。


2
あなたはプログラマーですか??
CenterOrbit

2
はい、そうです。私もしばらくの間技術コンサルタントをしてきました。私の答えにそんなに怒っているのは何ですか?
SLバース-モニカーの復活

クライアントに会いに行く個人としての技術コンサルタント?
ジェームズP.

@JamesP。そうです-はい、それは私が技術コンサルタントだったときにやったことです。顧客のオフィスに行き、技術的な問題の解決を支援します。明らかに、開発者には強力なコミュニケーションスキルも必要ですが、それはここで他の人によってすでに詳細に議論されています。
SLバース-モニカーの復活

6

コミュニケーションスキルは、ソフトウェア開発者にとって非常に重要です。どこかに、統計情報(おそらく、すべての統計情報の68%が構成されていると表示される統計情報の隣にあります)があります。ソフトウェア開発チームでビジネスとコミュニケーション(およびビジネスを理解)できる人であることは、良い場所である必要があります。


6

私が知っている他のプログラマーやITタイプに対する私の最大の競争上の優位性は、ITの概念に堪能でない人々とコミュニケーションをとることができるということです。ITコミュニティの平均的なメンバーによって最も過小評価され、未開発のスキルであるにもかかわらず、最も重要なスキルの1つです。

考えられるほぼすべての役割で、ある時点で、自分が何をしているのかほとんど把握していない人と話をする必要があり、自分がしていることを彼らに売ることができるようになる必要があります。

また、仕様の要件を収集するためにユーザーに対処する必要がある場合があります-特殊な種類のリスニング(適切なプロンプトと質問と組み合わせて)もコミュニケーションです!

もちろん、もう1つの利点があります。優れたコミュニケーションスキルがあれば、そもそも仕事がずっと簡単になります。


4

おめでとうございます。アプリケーションエンジニアとして、そしてアプリケーションエンジニアリングマネージャー(FAEマネージャー)として明るい未来があります。

この最高の職業の一部として、ティアIの顧客向けのパワーポイントプレゼンテーションを作成し、「ソフトウェアスタック」というテキストを全面的に記述し、非常に複雑なソフトウェアエンジニアリングデザインを異なる色の長方形ブロックに抽象化します。これらのプレゼンテーションは、R&Dのトップレベルの主要なソフトウェアエンジニアから開始され、最も一般的な分母の顧客の考え方に集約され、その後要件ドキュメントに貼り付けられて、トップレベルの主要なソフトウェアエンジニアに戻されますメイク・アンド・ブレイク・ザ・ビジネス仕様としての研究開発の。ボーナスの1つは、「クラウド」という言葉のリベラルな使用に依存します。


通常、アプリケーションエンジニアは、同じレベルの設計者よりも平均で20%〜30%多いことに注意してください。これは、より良いコミュニケーターとして、彼らがより高い賃金を要求することができるからです。一方、貧弱なコミュニケーターとしての典型的な設計エンジニアは、通常、それ以上を要求しません。そのため、基準が設定され、App Engrsは銀行に向かって笑いながら、毎日デザイナーよりも早く仕事を辞めています。開発者が会議室で持ち帰り用のピザを食べるのは幸運なのに、出費がかかり、値段が高い外出中のランチについて言及しましたか?
ジョナサンクラインIEEE

3

優れたコミュニケーションスキルを身に付けることで、より良い生活を送ることができます。ヘッズダウンプログラマーは、多くの場合、エキサイティングなプロジェクトに参加していないプログラマーです。マネージャーも彼らを理解していないかもしれないからです。本質的に、もしあなたが空気のために決して来ないならば、あなたは「角の変な人」として鳩の巣にされるでしょう。

繰り返しますが、私たちはステレオタイプに取り組んでおり、すべての環境がそのようなものではありませんが、少なくとも、優れたコミュニケーションスキルはあなたがビジネスとあなたの周りの人々をよりよく理解するのに役立ちます。特定のドメイン。

あなたがどれだけ伝えるかはあなた次第です。誰も話をしたくないという頭が下がったプログラマーでいっぱいのチームになることはめったにありませんが、オタクユーモアに似ていない場合は、すぐに導入する準備をしてください。また、避けられない社会的に厄介なプログラマーのために準備してください。常に少なくとも1つあります。


3

おそらく、ほとんどのソフトウェアプロジェクトは技術的な問題ではなく、通信の問題のために失敗します。優れたコードを書くことはソフトウェアエンジニアにとって確かに重要ですが、優れたコミュニケーションスキルはチームにとって大きな資産であり、コーディングスキルよりも改善が困難です。


2

現在、大きなヘッドホンをオンにしてプログラミングしています。まあ、私はプログラミングだけでした。明らかに私は今StackExchangeにいます...誰でも:

多くのプログラミングが連帯して行われているのは事実です。うまくプログラムするには、その焦点とプライバシーが必要です。しかし、あなたの時間のほとんどはプログラミングに費やされていると本当に思っていますか?あなたの多くの時間は、チームミーティング、戦略トーク、ウォーキング、思考、議論などに分割されます。実際に机に座ってタイピングすることはあなたの人生全体ではありません。私のソフトウェアエンジニアリングコースで、チームの最高/最も生産性の高いプログラマーは内向的ではなく、外向的なプログラマーであるという研究を読んだことを覚えています。

優秀なプログラマーはチームとうまくコミュニケーションできます。多くの場合、テクニカルリードまたはマネージャーから要件を取得して理解することは簡単な作業ではありません。タスクを明確にし、チームとコミュニケーションをとるには、優れたコミュニケーションスキルが必要です。テクニカルリーダーまたはマネージャーになれば、コミュニケーションスキルはチームをまとめるために極めて重要になります。

私も発信するのが大好きな人です。私は最初、私のプログラミングの仕事の連帯が少し憂鬱であることを認めなければなりません。仕事をもっと社交的にするためにいくつかの措置を講じましたが、主な理由は次のとおりです。

プログラミングの仕事は反社会的であってはなりません。


2

コミュニケーションスキルは間違いなく無駄になりません。プログラムコードの作成に80%の時間を費やしたとしても、コードの機能を明確にする必要があります。クライアント(またはプロジェクトリーダー)との効果的なコミュニケーションは、あなたの努力が無駄にならないようにし、実際に必要なものをもたらすために必要です。さらに、プログラミングに精通していない人に、作業、設計の潜在的な問題、より簡単な実装などをより簡単に説明できます。最後に、ユーザーインタラクティブなソフトウェアをプログラミングする場合、コミュニケーションスキルは、理解しやすいユーザーフレンドリーな方法で正しい情報を取得するユーザーインターフェイスを設計するのに非常に役立ちます。また、ジョブを実行するためにユーザーから正しい情報を取得するのにも役立ちます。


1

私はコミュニケーションがコンピュータープログラミングの鍵であると主張するすべての人に同意します。私は、説明されていることから、優れたリードプログラマーまたは「ソフトウェアエンジニア」タイプ以上のものを作成すると思います。私は会社の一般ITとしてスタートし、プログラミングスキルを証明できるようになるとすぐにプログラマーに移行しました。プログラミングチェーンの上位に位置するほど、ホワイトボードと問題解決が多くなります。

あなたの性格が「リーダーシップ」特性を持っている場合(これはあなたが示唆していることです)、あなたは非常に速くトップに上がります。あなたがそのように上昇できる会社にいることを提供するだけです。

ソーシャルスキル、問題解決、優れたプログラミングは、多くの場合、あなたが思っているよりもまれです。雇用主はそのようなスキルのために殺します。あなたは正しい軌道に乗っていると思います。良い仕事を続けてください!


1

ソフトウェア開発には十分なコミュニケーションがあると言っている他のすべての人に同意します。また、良いコードを書くためにも、優れたコミュニケーションスキルが必要だと付け加えます。

正しいコードを書くことは重要です。他の人が理解できるコードを書くことは、間違いなくはるかに重要です。コードにいくつかのバグが含まれているが、何が起こっているかを簡単に理解できるように書かれている場合、バグを見つけて修正するのは難しくありません。あなたのコードが完全に正しいが、私がそれを理解しているかどうかわからないような方法で書かれている場合、私はそれが正しいことを本当に確信することはできません。


1

もちろん、良好なコミュニケーションが重要です!私が焦点を当てるのは、優れた教師になることです。本当に効果的なプログラマーは、15分間の電話で理解するのに何年もかかった何かの基礎を説明できます。同じ会話の中で、専門知識を持たない用語で詳細を説明する必要があります。そうすることで、相手方が長期にわたってビジネスに最適な教育を受けた決定を下せるようになります。


1

どこに行くかによります。ホワイトボードに多くの時間を費やし、博士号とブレーンストーミングを行うクオンツ取引会社を知っています。同様に多くのコミュニケーションを行う有名なコンサルティング会社を知っていますが、技術のバックグラウンドを持っていない人とは...ソフトウェア以外の大きなフォーチュン100の会社を知っています。コミュニケーションの、しかしそれは主に政治をしているでしょう。

OTOH、多くのスタートアップやソフトウェア製品会社は、頭を下にしたコーディングのための人材を必要としています。確かに、あなたはいくつかを伝えますが、あなたの会社を売るプレゼンテーションを行うために立ち上がることは、他のコーダーと話すこととは大きく異なります...

コミュニケーションが実際に役立つ分野の1つは、セールスエンジニアリング/テクニカルコンサルティング/などです。あなたが本当に優れたコミュニケーターである場合(社会的に扱いにくいソフトウェアエンジニアだけでなく)いいお金を払った。そこにはいくつかの販売も含まれています。


0

ああ、まあ、外部からやってくる人々の観点から...私は本当にプログラミングがコミュニケーションに関するものであると言うことはできません(他のすべてがそうするように)

それは本当にありません、通常の日逆数に基づいて通信する日について、および利益、およびそれは詳細だ... 心の読み種類で、看護、およびいくつかの侃々諤々は確かに関与しています。交渉もたくさんありますが、おそらくあなたが慣れている種類ではありません。

あなたは本当にプログラマーにsh-t売っていない、あなたは彼らをゲームしなければならないか、重い証拠と事実で彼らを誘惑しなければならない。これは見えるかもしれませんが、公正をするために、ミッションクリティカルな関連する問題、適用されているささいな迷惑行為は誰もそれを上げたものが、本当に今まで気にしている必要がありません、と...への通信地獄へようこそ

外の世界 (物を売る/取引を閉じる/握手する世界)でバイトを得た場合キュービクル全体でプログラマーが経験するような(やや若々しく、ややアカデミックな)相互作用に適応するのは非常に困難です。

あなたのカリキュラムのビジネス部分は、火の猫よりも早く管理のはしご登る方法を見つけない限り、非常に無駄になります。


0

コミュニケーションスキルは役立ちますが、技術的な能力は開発者にとってすべてに勝ります。

おそらく、アプリケーションエンジニア、つまり、「頭を下げた」開発者によって作成されたソフトウェア製品を顧客が適応して利用するのを支援するエンジニアとして、あなたはもっと幸せになるでしょう。そうすれば、ソフトウェアを使って作業できますが、ほとんどの時間を会話に費やすことができます。


0

プログラミングをコミュニケーションの解釈(人との話し合い)から切り離し、80%の時間で人々と話したいと思っているので、プログラミングは良い選択ではありません。専任のアナリスト、アーキテクト、マネージャー、またはクライアントと連絡を取ることができる状況になったら(クライアントやプログラマーと話をすることができれば、あなたは通訳者になります(ちょっとしたOffice Spaceのユーモアです)。)

終日取締役会で過ごすことができるプロジェクトの段階がありますが、最終的にはコードを書く必要があります。これはコミュニケーションの形式ですが、あなたが説明したとおりではありません。ペアプログラミングショップでは、コーディング中にたくさんチャットできます。ほとんどの場合、キーボードに集中する必要があります。ヘッドフォンを身に着けているということは、そうでない人があまりにも多くいるということです。

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