プログラミングへの情熱。 第5章知性への投資

< 4.最悪になる | 6.両親の言うことを聞かない >



何に注意を払うかを選択するときに、最も多くのジョブを提供するテクノロジーを検討し、それらに焦点を合わせることができます。 Javaはたくさんあります。 .NETはたくさんあります。 Javaを学習すると、シンプルでローリングな効果が得られます。Javaを知っていれば、Javaプログラマーの仕事に就くことができます。



この論理に従うと、この領域を使用する予定がない場合、この領域を調査するのは愚かなことです。



TIOBE Softwareは、インターネット検索エンジンを使用して、 インターネット上のこれらの言語に関する人々の会話に基づいて、比較的人気のあるプログラミング言語を示します 。 TIOBE Webサイトによると、「評価は経験豊富なエンジニア、コース、およびサプライヤーの世界的な集中に基づいています。」 これは科学的に証明された測定値ではありませんが、非常に優れた指標です。



執筆時点では、最も人気のあるJava言語に続き、C。 SAPのABAPは17位で、ゆっくりと下降しています。 私の好みのプログラミング言語であるRubyは、ほぼすべての真剣な仕事をこなし、毎年共同国際会議を開催していますが、11位です。 しかし、この本の最初の版では、彼はトップ20に入ることすらしませんでした。 彼はABAPよりも低かった!

Rubyを使ったのか、それとも単なる口のきけないのか、私は夢中ですか? まあ、2つのうちの1つだけですか?



Paul Grahamのエッセイ「Great Hackers」では、JavaプログラマーはPythonプログラマーほど賢くないという主張で業界を悩ませました。 彼は多くのJavaプログラマーを馬鹿にしました(私はそう言いましたか?)。 その結果、彼らの多くは彼らのウェブサイトに反論を書いた。 暴力的な反応は、彼がどれほど深く触れたかを示しています。 彼の最初のエッセイが会話の形で発表されたとき、私は聴衆の中にいました。 それは私に思い出をもたらしました。



私はインドに出張していましたが、数百人の候補者から数十人の労働者しか選ばず、チームインタビュー自体は私にとって困難であり、その貧弱な組織のために時間を超えて行きました。 頭が痛くなり、脳が痛くなり、目が真っ赤になり、候補者を選択する方法の戦略的な変更について話し合うために夜のミーティングが開かれました。 プロセスを最適化して、より多くの人に耳を傾けるか、最高の候補者に耳を傾ける(またはその両方)必要がありました。 しかし、d然としたプログラマーから答えを出そうと20時間試みた後も私の声は残っています。 私は、「賞金稼ぎが履歴書データベースを研究するために使用した」キーフレーズのリストにSmalltalkを追加することを主張しました。しかし、インドでは、Smalltalkを知っている人はいません」とHRディレクターは叫びました。 私にとっては、これがポイントになりました。 SmalltalkでのプログラミングはJavaでのプログラミングの経験と根本的に異なるため、誰も彼について知りませんでした。 経験が異なると候補者からの要求も異なり、Smalltalk環境の動的な性質により、Javaプログラマーが問題に取り組む方法が変わります。 私はこれらの要因が技術的な成熟度を刺激することを望みましたが、これは私がこれまで候補者の間で見たことがありません。



Smalltalkを要件リストに追加すると、前のリストに比べて小さな候補者グループができました。 これらの人々は、荒いダイヤモンドのようでした。 彼らは本当にOOPを理解していました。 彼らはJavaが万能薬ではないことを知っていました。 彼らの多くはプログラミングが大好きでした。



過去2週間でどこにいましたか?

思った。



残念ながら、私たちは彼らに与えることができる給与でそのような開発者を引き付けることができませんでした。 彼らは賭けを求め、彼らの何人かは古い場所に留まるか、仕事を探し続けることを選びました。 私たちはそれらの多くを引き付けることができませんでしたが、貴重な雇用の教訓を学びました:経験が一方的である人よりも、多様な(そして並外れた)経験を持つ候補者への提案を拡大したいです。 これは、良い人は新しいことを学ぶのが好きだから多様性を探すか、より経験豊富な環境の権威ある影響下で強力で包括的に開発された開発者が現れるという事実によって説明します。 私は両方を疑います。 しかし、それがどのように機能するかに関係なく、私たちはそれが機能することを学びました。 開発者を探すとき、私はまだこのテクニックを使用しています。 では、なぜ最新のテクノロジーに投資するのではなく、従業員を探してレーダーの画面をじっと見る必要があるのでしょうか?



私にとって、採用マネージャーとしての最初の理由は、あなたが興味を持っていることを示すことです。 あなたが自己啓発のために、そして(さらに良いことに)ただ楽しみのために何かを学んでいることを知っているなら、あなたはあなたの仕事を愛し、それに興味があることを知っています。 あまり普及していない多くの技術を見て、使用しているかどうかを人々に尋ねたとき、「これを扱う機会が与えられなかった」と答えたとき、私は夢中になりました。 機会を与えましたか? 彼らは私にもくれませんでした。 私はそれを自分で見つけて利用しました。



機会を与えられたことがありますか? チャンスをつかもう!




適切な動機付けの感覚を表現し、自分のことをするよりも重要なのは、これらの新しいテクノロジーとテクニックの影響が、実際、あなたをより深く、より良く、より賢く、より創造的にすることです。

これが正当な理由でない場合は、おそらく間違った職業を選択しているでしょう。



行動する!


新しいプログラミング言語を学びます。 ただし、JavaからC#、またはCからC ++に移行しないでください。 あなたが新しいと思うようになる新しい言語を学びます。 あなたがJavaまたはC#プログラマである場合、RubyやSmalltalkなどの言語を試してください。静的型付けはあまり使用しません。 または、オブジェクト指向コードを長い間書いている場合は、HaskellやSchemeなどの関数型プログラミング言語を試してください。 専門家になる必要はありません。 新しいプログラミング環境の違いを実感できるように、十分なコードを作成してください。



奇妙に感じたり、間違った言語を選択したと感じたり、新しい言語のコードに古いアプローチを適用している場合。 新しい言語のイディオムを学ぶために邪魔にならないでください。 昔からの人にコードをチェックしてもらい、コードをより慣用的にするようにコメントしてください。



All Articles