技術的な天才であっても、開発者として成功するには不十分ですか?[閉まっている]


18

Stack Overflowでの高い評価は良い仕事を手伝うのに役立つだろうか?」というすばらしい質問について多くの議論がありました。私はすぐに基本的に「いいえ」と言ったJoshKに同意しました(理由を説明します)が、ジョエル私も彼を賛成せた多くの説得力のある事実に賛成しました。

私の質問は、開発者に必要な他のスキル(技術的な天才以外のスキル)です。仕事を得るため、またはそれを維持するため。

天才であることだけでは十分ではないと思います。私が働いたさまざまな会社で多くの技術的な天才に会いましたが、多くの場合感銘を受けましたが、悲しいことに多くの場合、彼らは数か月後に解雇されたり、象牙の塔に入れられたりしました(主に他の開発者からの内部反乱のため)。私が理解しているこの結果として、個人的な苦痛の多くを見てきました。

だからこそ、私は技術職に関する非技術的な質問の大ファンです。候補者が他の人(非技術系の従業員を含む)とどのようにやり取りするか、ビジネスに対してどれだけの考慮を払うか、希望する結果のために働くかどうかなどを知りたいです。

開発者に何が必要なのか知りたいのですが、なぜそれが重要なのでしょうか(結局、コードを書くために誰かを雇いますよね?なぜ彼に自己主張してもらいたいですか?)理想的には、面接中にあなたの答えを裏付ける質問の例を考えてほしい


私の会社には、居住者向けの象牙給料が入った象牙の塔があります。(
ハンニバルレクター博士

象牙の塔の頂上からの眺めは素晴らしいです:)

高い評判はここに:-)シアトルに移転するのオファーにつながったリクルーターからの呼び出しにつながったのStackOverflowのキャリア上のプロファイルを置くために私に招待状を得た
ケビン・クライン

回答:


22

優れたコミュニケーションスキル。

あなたの同僚があなたの脳を直接読むことができないなら、あなたは彼らにあなたの考えを伝えることができる必要があります。口頭および書面の両方が望ましい。


EDIT:面接時にそれらを参照してくださいする方法はあり Xを行うための自分の好きな枠組みが何であるか、それらを尋ねることによっても、その後、彼らはXを使用することができるプロジェクトで作業する必要があると言うが、それは利用技術への政治的な決定でありますY(明らかに古く、Xが解決するいくつかの制限があります)。

これが政治的決定が間違っている理由についての議論に終わった場合、あなたはこの人が実際的な決定でうまくやっていないことを強く示しています。


高度に技術的なことについて、技術者以外の人(管理者や顧客など)と通信する方法について、さらに詳細を追加しますか?私は現在、「Even a Geek Can Speak」という題名の優れた本を読んでいます。

まあ、それはあなたが彼らの考え方で考えることができるかどうか、本質的に単なる質問です。ソフトウェア開発を「編み物のレシピを書く」と説明するのは、おばあちゃんの考え方によく合っていることを一度見つけました。

3
私は常に、優れた英語力と、書面および口頭でのコミュニケーションスキルに時間を割く意欲がある候補者を好んでいます。一方、人生がTwitter上に展開された別のアプリケーションであるかのように話したり書いたりする場合、私は彼らにドアを見せて丁寧になるように最善を尽くします。
アダムクロスランド

@Pierre、この本はオンラインで入手できますか?Safariで見つけることができませんでした。

1
@ Pierre303では、「The Nerd Handbook」が面白いと思うかもしれません。 randsinrepose.com/archives/2007/11/11/the_nerd_handbook.html。著者には非常に興味深いブログがあります。

15

チームワーク/コミュニケーション:

  • 解決策や問題を説明できるようにするため
  • 他の人と(どんな形であれ)気分を悪くすることなく働くことができる-あなたと一緒に働いていると感じさせるのは楽しい

これらのスキルがなければ、チームで仕事をすることはできません。できなければ、それを必要とする会社に参加することはできません(そして、ほぼ全員がチームワークを必要とします)。あなたはまだフリーランスであり、他の人が仕事をしていないプロジェクトに取り組むことができますが、それでも他の会社の人とコミュニケーションをとる必要があります。

学習であっても、ウェブのように多くの異なる人々とコミュニケーションをとることができない場合、現実の生活や社会(仕事が何であれ)がハンディキャップになることはありません。

編集>インタビューでは、チームワーク/社会化/コミュニケーションは非常に簡単に確認できます。最も簡単なことかもしれません。技術的な質問ではなく、簡単な質問、または候補者が何かについて考えていることや、候補者がドメインなどで好きまたは嫌いなことについての簡単な質問ではなく、いくつかの質問をする必要があります。彼に話させます。わかるでしょ。


15

永続性は、あまり言及されていないスキルです。そして、それはスキルです-たとえ最後まで見えなくても、問題を乗り越える能力です。多くの人はこれをしません。彼らは勢いだけで動作するか、または最低限の手段で対処します。残念ながら、人が彼らと話すことによってこの特性を持っているかどうかを知る方法はありません。あなたは本当にその人と働いた他の人と話すことができる必要があります。参照でこれを行うことができますが、そのオプションは常に利用できるとは限りません。


永続性コメントの+1-SOの高い担当者が永続性と相関するかどうか疑問に思いますか?
ゲイリーロウ

@Gary-セミコロンまたは何かを失っている初心者の質問ではなく、解決するためにいくつかの作業を必要とする質問への回答によって得られた場合、それができると思います。;)
マイケルK

12

これらはスキルよりも多くの特徴ですが、開発者として成功するために誰かに見つける価値があることをお勧めします。

汎用性は、私がそこに置く別の特徴です。開発者は、ビジネスアナリスト、アーキテクト、テスターなど、純粋な開発以外の役割を果たさなければならない場合があります。コードの設計や作成以外のことをしているプロジェクトにはさまざまな部分がありますが、これは別のプロジェクトで見るべきものです。誰もが他の役割を引き受けることを受け入れることができるわけではありません。開発者が過去にどのような状況で他の役割を果たさなければならなかったのか、そしてそれがどうなったのかを尋ねてください。

謙虚さは、私が要件とする可能性が高い別のものです。自我はいくつかの場所で多くのトラブルを引き起こす可能性があり、誰もが彼らよりも何かでより良い誰かがあるかもしれないことを受け入れることができません。他の誰かがより良いアイデアを持っている場合は、それが何を成し遂げるかをしましょう。開発者のコ​​ードのサンプルを使用して、批評を依頼し、自分で修正できるかどうかを確認することがあります。

プライドはそこに置く別のだろう。これは以前の品質とは多少対照的ですが、誰かが自分の仕事に誇りを持っていない場合、どのような品質だと思いますか?おそらく多くの開発者が完璧主義的である可能性があるため、満足していないことはここではわずかに異なります。過去のプロジェクトで最も誇りに思うものは何ですか?

自己意欲も重要なスキルです。それらを駆動するものは何ですか?彼らはこれをどれだけうまく表現できますか? 「Office Space」には、Peter Gibbonsの次の行があります。

八、ボブ。つまり、私が間違えたとき、私はそれについて私に話すために8人の異なる人々がやってくるということを意味します。それが私の唯一の本当の動機は面倒なことではなく、それと私の仕事を失うことの恐怖です。しかし、ボブ、解雇されないように誰かを一生懸命働かせるだけです。

これは、多くの開発者と非開発者が関係していると思われるものです。なぜあなたは仕事をしているのですか?これは良い質問かもしれませんが、時として缶詰の回答が発生する可能性があるため、応答の誠実さと信頼性を探してください。

好奇心は私のリストの最後に追加します。何かがどのように機能するかを見て、新しいテクノロジーを学び、自分の快適ゾーンの外に出たいという欲求は、成功した開発者に見られるこの他のマーカーです。ある人がどのように開発に着手するかについての短い話は、この特性を見る方法かもしれませんが、別の人は、彼らが見ていないものについて尋ねて、ああ、兄弟ではない」


百万のおかげで、すでにいくつかの素晴らしい答えがありますが、あなたが私が探していたものでした。より良いプログラマーになるために、より多くのスキルを身につけて、より多くの人々がここに来ることを願っています。(私は今日、申し訳ありませんのためにもうupvoteすることはできません)

7

1)コミュニケーションは、おそらくソフトウェアエンジニアリングの種類を含め、誰にとっても最も重要なスキルです。これらのコミュニケーションスキルは、同僚とのやり取りと同様に、マネージャーやクライアントとのやり取りにとっても同様に重要です。

2)チームワークは、最初のスキルに大きく依存するわずかに異なるスキルです。基本的に、私が雇おうとしている人がチーム全体に利益をもたらすかどうか、または私が雇う可能性のある性格の衝突があるかどうかを判断する必要があります。誰も未来を予測することはできませんが、インタビューで警告サインを無視することもできません。

私がインタビューのプロセスで使用する1つの戦術は、より困難な技術的問題(話し合うことができる)の1つとその解決方法を説明するように人に依頼することです。推論プロセスと問題の発見方法について話し合うと、潜在的に複雑なことについてどれだけうまくコミュニケーションできるかについて、より良いアイデアを得ることができます。彼らがプロセスで追加の助けを求めるなら、私はそれがプラスだと思います。完璧な技術者ではありません。彼らが選んだ問題がパーソナリティの衝突に終わった場合(一度だけ起こった)、もう少し深く掘り下げるか調べることができます。

多くの点で、面接プロセスは盲目的なデートをするようなものです。二人は最高の顔をして、相手ともう少し時間を過ごしたいかどうかを判断しようとしています。インタビューが会話のように流れるようになればなるほど、インタビュー対象者はリラックスします。その結果、それらが適切かどうかを確認できます。


6

個々の開発者よりもチームに適用できる品質かもしれませんが、「偉大なエンジニアが出荷する」という言葉には多くの裏付けがあると思います。

ほとんどの人にとって、インタビューで説明するのは難しいことですが、たとえば、かなりのオープンソースアプリケーション、ライブラリ、またはフレームワークを作成して出荷し、余分なことについて雄弁に話すことができる候補者にインタビューする場合自明でないプロジェクトを実際に完了するには、その人に彼または彼女の競争に立ち向かう必要があります。

反対に、潜在的な候補者が彼のGithubアカウントに私を指して、それが半分完成した、バグのある、放置された、または不十分に文書化されたプロジェクトでいっぱいであることがわかった場合、私は彼の立候補を無視する正当な理由があるでしょう。

映画の中でかつて言ったように、「コーヒーはクローザーのためのものです」。


4

コミュニケーションとチームワークのスキルは重要ですが、顧客の要件を理解し、ビジネス分野の知識を習得できることも私の経験では非常に重要だと付け加えます。


2

私はコミュニケーションが最優先事項であることに同意しますが、他のエンジニアに彼のプロセスの使用を見せない優秀なコーダーの失敗を経験しました。私は彼の助けを借りずに、彼のプロセスを複製して他の人に見せることができました。彼は教えなかったので、彼は解雇されました。


1

決して十分ではありません。

常識。問題解決。テクノロジー全体への関心。物事を正しい方法で行う態度。永続性。チームプレー/コミュニケーション。

各スキルを1〜5で評価します。3分以上で平均20以上だった場合。開発者として良い生活を送ることができます。25歳以上の開発者が成功します。10未満で、ソフトウェア開発のキャリアについて真剣に考える必要があります。

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