私は最初のプログラミングの仕事で働いています。私の上司は非常に賢いソフトウェアエンジニアであり、彼に比べて提供できるものはほとんどないと感じています。問題は、彼はいつも忙しく、彼を助けてくれる人が必要だということです。私は自分が十分ではないように感じますが、私はまだ成功したいと思います。私は素晴らしいプログラマーになりたいです。
彼を感動させるために私は何ができますか?
ありがとうございました。
私は最初のプログラミングの仕事で働いています。私の上司は非常に賢いソフトウェアエンジニアであり、彼に比べて提供できるものはほとんどないと感じています。問題は、彼はいつも忙しく、彼を助けてくれる人が必要だということです。私は自分が十分ではないように感じますが、私はまだ成功したいと思います。私は素晴らしいプログラマーになりたいです。
彼を感動させるために私は何ができますか?
ありがとうございました。
回答:
アシュトンについて話したことがありますか?
アシュトンはあなたの古典的なトウモロコシを与えられた農場の少年でした。彼の両親はヒッピーでしたが、ヒッピーは母親がミシガン州の農村部で15エーカーの土地を相続するまで実際に行動を共にすることができませんでした。家族はそこに引っ越し、2頭の乳用ヤギを買い、アナーバーファーマーズマーケットでオーガニックヤギチーズをユッピーに売って生計を立てるのに苦労しました。
彼が10歳の時から、アシュトンは毎朝午前4時に目を覚まし、それらのいまいましいヤギを搾乳しなければなりませんでした、そしてそれは疲れていました。アシュトンは、ヤギのうんちでひざまで深く働いていなかったので、学校に行くのが大好きでした。高校中、彼は良い大学への奨学金が農場からの彼の切符になることを望んで、彼のお尻を研究しました。彼は大学が農場生活よりもはるかに簡単であることがわかったので、彼は他の誰もが彼のようなまっすぐなAを取得しなかった理由を理解していませんでした。彼がソフトウェアエンジニアリングを専攻したのは、エンジニアが午前4時に起きることをこれまで想像できなかったからです。
アシュトンはソフトウェア業界についてあまり知らずに学校を卒業したので、本当に、彼はキャリアフェアに行き、3つの仕事に応募し、3人全員に受け入れられ、最も支払ったものを選びました。州の南西部にある大きな家具会社で、世界中の企業向けにキュービクルファームを製造していました。彼は二度と農場を見たくなかったので、上司のチャーリー・シャーマンに良い印象を与えることにしました。
「それは簡単なことではありません」と彼のキュービクル仲間であるジェフは言いました。「彼女はここでは伝説のような存在です。」
「どういう意味ですか?」彼は尋ねた。
「まあ、数年前、Y2Kについて大騒ぎしたときのことを覚えていますか?」
アシュトンはおそらく若すぎました。「Y2K?」
「ご存知のように、1960年代に書かれたすべての古いコンピュータープログラムが2000年に実行されるとは誰も予想していなかったため、年間2桁のスペースしかありませんでした。1999年を保存する代わりに99を保存します。2000年1月1日に年が反転すると、コンピューターシステムがクラッシュしました。「100」を2桁に収めようとしたためです。
"本当に?それは神話だと思った」とアシュトンは言った。
「世界の他のすべての会社では、何も起こりませんでした」とジェフは言いました。「彼らはコードのすべての行をチェックするために数十億ドルを費やしました。しかし、ここでは、もちろん、彼らは安っぽい野郎であるため、テストを行うことはありませんでした。
"どういたしまして?"
「ジルチ。ゼロテスト。N。そして、見よ、1月2日に人々が仕事に戻ったとき、ただ一つのことはうまくいきませんでした。彼らは生産スケジュールを印刷できませんでした。彼らは、組み立てラインの半分をオンにすることさえできませんでした。そして、彼らが働いているはずのシフトを誰も知りませんでした。工場は文字通り停止状態になりました。」
「冗談だよ」とアシュトンは言った。
「私はあなたをクソしません。工場は完全に静かでした。今、チャーリー、彼女はその時新しい。彼女はマイクロソフトやNASAなどで働いていました...彼女のような誰かが会社の小さな脇の下で働く理由を誰も理解できませんでした。しかし、彼女は座って、コーディングを始めました。そしてコーディング。そしてコーディング。
「チャーリーは9日間連続でコーディングしました。寝ずに、食事もせずに9日間、一部の人々は彼女がトイレに行ったことがないとさえ主張しました。彼女はシステムからシステムへ行き、文字通りそれらすべてを修正しました。それは見るべきものでした。残念ながら、そこには修正が必要なCOBOLシステムがありました。工場全体が停止しており、チャーリーはアナーバーの大学図書館に人を送り、古いCOBOLマニュアルを見つけようとしています。サーモスタットでさえY2Kのバグがあったため、組立作業員は震えながら立っています。そしてチャーリーは一杯のコーヒーを飲んで、狂ったようにタイピングしている。」
"ワオ。彼女はトイレに行ったことがありませんか?」
「まあ、その部分は少しかもしれない少し誇張。しかし、彼女は本当に9日間連続で24時間働きました。とにかく、1月11日、日中シフトが始まる5分前に、彼女はキュービクルから出て、ラインプリンターに行き、ボタンを押して、ブームになります!制作スケジュール、チームスケジュール、そしてすべてが完璧で完璧にフォーマットされており、わずかに小さいフォントを使用して「2000」が「99」と言っていた場所に収まるようにし、彼女は新しい優先度最適化システムを作成しました多くの顧客を怒らせずに9日間の生産漏れに追いつくのに役立ち、すべての組立ラインが何も問題がないように稼働し始め、熱が入り、代わりに「2000」と印刷された請求書が印刷されます「19100」のことであり、その日以降、誰もバグを見つけませんでした。」
「さあ!」アシュトンは言う。「バグなしでコードを書く人はいません。」
"彼女がやった。自分の目で見ました。初日、彼らはしゃっくりすることなく2日間分のキュービクルを走らせました。」
アシュトンは物憂げだった。「それは壮大です。どうすればそれに対応できますか?」
「できません、バディ、誰もできません」とジェフはコンピューター端末に戻り、4か月以上にわたって激怒していたスポックとバットマンのどちらで勝つかをめぐってオンラインでのフレーム戦争を再開しました。
あきらめる人はいませんが、アシュトンはいつか伝説的な何かをするだろうと誓いました。しかし、真実は、別のY2Kがなかったことです。そして、ミシガン州のその部分では、良いプログラミングについてネズミのお尻を言った人はいませんでした。実際、プログラマーが行うことはほとんどありませんでした。アシュトンは彼に割り当てられた愚かな小さなプロジェクトを手に入れました...ある時点で、彼は特定の郡の売上税が間違っていたケースの処理に3週間を費やしました。面白いことに、ニューヨーク州の人口の少ない地域でオフィスのキュービクルを購入した人はいませんでした。また、顧客がいなかったため、彼のコードは実行されませんでした。
今まで。
2年間、アシュトンは熱狂的で興奮して仕事を始めました。同僚がインターネットをサーフィンしたり、友人にインスタントメッセージを送信したり、コンピューターソリティアを何時間も遊んだりしながら、違いを生み出し、素晴らしいことや素晴らしいことをしたいと思いました。
彼のキュービクル仲間であるジェフは、その週の仕事で負傷した人数を示す週単位のExcelスプレッドシートを更新するという1つの責任しかありませんでした。誰もいなかった。週に一度、ジェフはスプレッドシートを開き、ページの一番下に移動し、日付とゼロを入力して、保存をクリックしました。それがそれでした。
Ashtonは、その1つのタスクを自動化するマクロをJeff用に作成しました。ジェフは捕まりたくなかったので、インストールを拒否しました。その後、彼らは言葉を話すことはありませんでした。ぎこちなかった。
キュービクル会社での2年目の記念日の朝、アシュトンは何かに気づいたとき、仕事に運転していました。
彼が書いたコードは1行も実行されていません。
2年間の仕事で彼がやったことの1つが、世界に影響を与えたわけではありません。
それはミシガン州のその地域で24度のクソで、灰色で臭いがした。彼のホンダはがらくたで、町には友達がいなかったし、何も関係なかった。
リンカーンアベニューを駆け抜けると、左側にある家具会社を見ました。企業のキャンパスの前には、アメリカの旗、ミシガン州の旗、会社のロゴが入った白と赤の旗の3つの旗がひらめいていました。彼は左に曲がるのを待っている車の長い列の後ろの曲がりくねった車線に入りました。それは、常にターンをするために、ラッシュアワーで、四回の、五、トラフィックライトサイクルを取ったので、アシュトンは、彼がしていた任意のコードの場合は覚えしようとする多くの時間を持っていたこれまでに書かれたが、された、これまでで使用される誰。
そして、そうではなかった。そして彼は涙を流しました。
そして、左に曲がる代わりに、彼はまっすぐに行きました。左に曲がるからといってまっすぐに行けるわけではないことを忘れていたので、ほとんど事故を起こしました。
彼はリンカーンアベニューを右に走り、ジェラルドフォードの高速道路に着き、グランドラピッズの空港に着くまで運転を続けました。それは牽引され、車のドアを閉めさえしなかった。そして彼はフロンティア航空のカウンターまで歩いて行き、サンフランシスコへの次のフライトでチケットを買った。飛行機で、彼はミシガンを永遠に去った。
アラジンがジャスミンに感銘を与えたいアラジンのシーンを覚えています。そして精霊は彼が自分自身であることに集中するほうが良いと言います。ここでも同じ原理です。
上司があなたよりもはるかに優れていて、あなたがそれを知っているなら、彼もおそらくそれを知っています。彼はあなたからロックスターのプログラミングの素晴らしい偉業を期待していません。これがあなたの最初の仕事であるため、彼はあなたを雇う可能性が高いでしょう。本当に彼を感心させたいなら、学びなさい。 言語を学び、あなたが取り組んでいるシステムを学び、内と外と暗いコーナーを学びます。正しい原則を学習し、それらをよく学習し、その順序で素早く学習することに焦点を合わせます。
そして、学習の一部は、他の人がすでに持っている知識をコピーすることであることを忘れないでください。同僚やStackOverflowで質問したり、Googleで調査したりすることを恐れないでください。あなたが何をするにしても、あなたが本当に知らないときに何かを知っているふりをしないでください。優れた開発者なら誰でもすぐに気付くでしょうし、そうすればあなたは彼らの目から見てもばかげているように見えるでしょう。謙虚さはエンジニアの間でまだ美徳と見なされる傾向があります。
それで良い仕事をすれば、それは上司を感動させるでしょう。
2つの言葉:信頼できること。
あなたの立場では、あなたはチームで最も賢い人に雇われていませんでした。あなたが示した可能性のために、そしてあなたが成し遂げる必要があるあなたのスキルレベルに適したタスクがあるので、あなたは雇われました。
最初にその信頼に応えることができることを示し、コードと会社の雰囲気を感じたら、彼らの第一印象を超える方法を見つけてください。後者はしばらく時間がかかるかもしれませんが、劣っていると後輩であることを間違えないでください。
ずっと前のように思えたが、私は驚くほど優秀なプログラマーでいっぱいの部屋で素晴らしい仕事をした。誰もがロックスターであり、元のマッキントッシュチームの数人の人々であり、そこに本を出版していた人のほぼ半分は、素晴らしい場所でした。
だから私は最初の1年をそこでみんなに感動を与えようとしました。私は驚くべきことをしなければならないと感じ、非常に短い時間で可能だと思っていた以上のことを学ぶようになりました。2年目は落ち着き、自分がやっていることに自信を持ち、自分の意見についてもう少し声を出して、周りを見回してみると、実際の製品について悲観的になりました。
それはプロジェクトが完全に資金提供された最後の年でした。私が今でも尊敬している素晴らしいエンジニアは、5年と数百万ドルを費やしてフレームワークを構築しました。それを作った人でさえ理解してください。
スマートは過大評価されています。「ロックスター」であることは過大評価されています。複雑さのしきい値を上げるのは本当に簡単な言い訳です。顧客が次に求めたものを実装するのではなく、稼働中のシステムを「よりクリーン」に書き換えることがより重要であると考えるようになります。
ジェイコブ・カプラン・モスはかつて私に名前を付けないプログラマーについて何かを言った。愚かな人々がそれらを使用できるように」。
「熟練した」エンジニアが鼻をかむ傾向があるプログラマー、RubyやJavaScriptなどの「おもちゃ」言語を書く人々、それらの人々はPRODUCTSを作成して出荷します。コードは見苦しいかもしれませんし、アーキテクチャはあなたが望むほど純粋できれいではないかもしれませんが、彼らは神のせいで出荷し、この業界では本当に重要です。
もし私があなただったら、私はこのロックスターになろうとするのをあきらめ、製品の出荷と構築に集中します。あなたのコードがどれほど賢いかによって貢献を判断すべきではありません。毎日何人がそれを実行し、満足しているかによって判断すべきです。
明確で堅実なコードを書きます。
Knuthを読む
(当然:多くの人がクヌースを持っていますが、誰もクヌースを読みません)
私が一緒に働いたすべての本当に良いプログラマーには、いくつかの共通点があります。
(1)プログラミングを行うために数学に精通する必要はありませんが、彼らはとにかく(そして彼らはそれが好きでした)
(2)彼らは私が「エレガンス」と呼ぶ品質を高く評価しています- 簡潔さと混同しないように(!!!)
(3)彼らはソフトウェアの設計に長けている(たとえ私たちの誰もが実際に良い設計とは何かを説明できないとしても)
さらに、私は個人的に次の特性が便利だと感じています。
(a)パズルを解いて楽しむ
(b)読み取り可能なコードの作成
(c)良い思い出
(d)他のプログラミング言語に表面的に簡単に適応できる(幅)
(e)メイン言語を詳細に学習します(たとえば、Javaが環境の場合はJava認定を行います(これを行ったことのない無知な批判者に対しては、Microsoftの認定は本当に悪かったので、認定を遅らせました...メリットはありません)一枚の紙を持って、利益は研究にあります))
(f)シンプルで簡単なことをしてから先に進むという選択、または数週間/月かかる非常に複雑な選択を考えると、私はシンプルなことをします。堅牢性が高い傾向があるため、シンプルが好きです。また、要件が中途半端に変化した場合により柔軟であり、他のチームメンバーとのやり取りがはるかに簡単です。
(g)あなたが特にcなことを考える何かをするなら、それからスメグを文書化する
誰か(Djikstraは?)デバッグがあなたがあなたの能力の限界にあるコードを書く場合、したがって、あなたは、二倍のハードコーディングなどと言わ定義によって、それをデバッグするのに十分なスマートではありません。
=========
とはいえ、スマート/ベターなコーダーになることは、あなたのキャリアを前進させることと同じではありません。
キャリアを進めるために必要な「秘密の材料」は本当に1つだけです。それは人材スキルです。
あなたが本当にあなたのキャリアを進歩させたいなら、やるべきことはやめ、6-12ヶ月車を売りに行くことです。
さて、私はこの福音書からの引用を追加するだけです。
「ごくわずかで信頼できる人は多くで信頼することもでき、ごくわずかで不誠実な人も多くで不誠実になるでしょう。」
スティーブンが言うように、メイソンは正しいです-あなた自身のゲームに集中してください。心に留めておくべきことは、あなたの上司はあなたにあなた自身の仕事をうまくやりたいと思っているということです。彼はおそらくあなたよりも優れているという事実を実際に気に入っています-そうでなければ、彼は不安を感じるかもしれません(上司は人間です!)今、あなたは彼の経験から学ぶのに理想的な立場にいます。彼と競争する時間を無駄にせず、代わりに彼にアドバイスを求めてください。48の力の法則を読んだことがあるなら、重要なのは「決して主人に勝るな」です。
@メイソンは正しい
私の考えでは、グリーンプログラマーが既存の技術的スキルを超えてテーブルにもたらすことができる最大の資産は、イニシアチブと情熱です。上司に新しいことを学ぶことに積極的であり、会社、コードベース、ツール、および同僚の周りに自分の道を学ぶことに積極的であることを示し、あなたがしていることに情熱を持っていることを示した場合、それは印象的です。あなたが恐ろしいマネージャーのために働いているのでない限り、その場合はとにかく外に出たいです。
私も入れを示唆しているいくつかの「ソフトスキル」のものにフォーカスを。あなたは、いかなる種類の対人関係においても役に立たない単なるオタクではないことを示してください。営業、マーケティング、サポート、ビジネス開発、プロジェクト管理などの人々と友達になります。あなたが良いコミュニケーターであり、物事を成し遂げるために人々と協力できる人であることを示します。
頑張ってください。言われたことをすべて行い、すべてを学びます。あなたはあなたよりも多くのことを知っている人の下で働くことは非常に幸運です、あなたが追いつくことができるまで働き続けます。
一生懸命働いて、あなたが今いる仕事を成功させることに加えて、私はあなたが尋ねていない質問への答えかもしれないいくつかのアドバイスをしたいと思います。(私の最初のソフトウェアの仕事を得たとき、それは私のレーダーでさえありませんでした)。
インターネットはあなたのような人々によって作られています。そして、あなたのような人々はインターネットでお金を稼ぐことができます。
興味のあるものを見つけてください。それを構築します。それを売る。自分の上司になりましょう。
http://news.ycombinator.comを開き、記事を読み始めます。あなたは、アイデアを持っていて、ウェブサイトを構築し、1ドルか2ドル稼げたあなたのような人々からの物語の無限の波を見ることになるでしょう。刺激的で目を見張るものがあります。ビンゴカードジェネレーターを教師に販売するばかばかしいほどの賃金を稼ぐ男がいます。他にも多くの興味深い技術があります。
「リッチパパ、貧しいパパ」彼は良いアドバイスを持っている場所があります。
「The Four Hour Work Week」では、これを一粒の塩で取りますが、仕事と生活を見る興味深い方法がいくつかあります。
あなたが今下にいる男から学び続けてください。「あなたの最初の本当の仕事」で学ぶべきことがたくさんあるので、始めることすらできません。しかし、長期的には(3、5、10、20年)自分のお金を稼ぐ方法を学べば、他の人に感銘を与えることを心配する必要はありません。
人々を感動させることで、人々を感動させることはめったにありません。そして、あなたが人々を感動させようとする限り、そして彼らが感動しているように見えない限り、あなたの不満は大きくなるでしょう。
自分を誇りに思うように仕事をしてください。誰もが考えていることを心配しないでください。あなたが幸せにすることができる唯一の人はあなたです。
私は回答に投稿されたストーリーが好きでしたが、信頼できる回答よりも面白いものです。
誰もがあなたのようだというのは普通のことです。私たちの仕事をより良くしようとするのは人間です。しかし、恐ろしい真実は、あなたがそれで最高になるチャンスがほとんどないということです。
自分自身に関しては、謙虚さの懸念を常に恐れていました。なぜなら、誰が正しいのか、誰がそうでないのかについての幼稚な戦いが嫌いだからです。
あなたが最高の一人でない限り、あなたは、あなたが知っていることとすることを、最高のプログラマが知っていることとすることとを比較して、より多くの経験を積もうと努力する方がよい。
私は自分を最高のプログラマーと比較すると言うことができますが、それはちょうど半分です:-私は自分を最高のものと比較した方がいいです、私は彼らと比較してばかげているだけなので、かなり愚かで役に立たないという原則-私は彼らの名声ではなく、彼らがそれを達成するために達成したことを考慮しません。実際には、ほとんどの天才の神話は、ビジネスの仕組みのような真の事実を知ったときに消えます。彼らが素晴らしい仕事を成し遂げたという事実を変えることはありませんが、労働条件を考えると経験を評価することは難しいことを覚えておいてください。-最後に、このプロセスは、私にとって本当に邪魔な競争プロセスを回避し、重要なことに集中するのに役立ちます:練習による学習だけでなく、好奇心の良いエンジンの助けを借りての学習。
あなたが望むすべての人を賞賛することができます、彼はあなたが会う他のすべての従業員や他のプログラマーよりもとても優れていると思います経験豊富な人がいるので、彼に感銘を受けた後は気分が良くなるかもしれませんが、彼よりも経験のある他の人に対しても同じように感じるでしょう。
このささいなゲームを終了し、あなたが聞いたことがあるかもしれないより興味深いテーマを見つけてください。あなたが話しているこのエンジニアは、あなたが考えていない素晴らしいもののために確かに忙しいからです。
あなたが間違った問題に焦点を合わせているか、少なくとも焦点が狭すぎるために、あなたはあなたの目的に失敗する可能性が高いという点で、ここの他のいくつかに同意する必要があります。
あなたは優れたプログラマになりたい-あるソフトウェアエンジニアの主観的な意見が、あなたにそのタイトルと能力を与えますか(ジョエル以外)?上司を感動させることにのみ焦点を合わせている場合、仕事やスキルの向上に専念しているわけではありません。優れたプログラマになるという目標に焦点を合わせているわけではありません。あなたはそれを獲得するのではなく、尊敬を与えようとしています。
最悪のケースを考えてみましょう(プログラマーはそうするのが好きだからです)-あなたの上司は客観的な理由もなく絶対にあなたを嫌っています(初日は愛国者の帽子をかぶっていました)。彼はあなたに対して良い意見を持つことは決してないだろう。割り当てられたタスクを完了し、問題を効率的かつエレガントに解決し、技術スキルを向上させることに集中する場合、あなたは自分自身を改善します-そして、最終的にはあなたが上司の考えに関係なく勝者になります。
アシュトンの仕事は失敗の秘wasでした。彼のコードが使用されなかったからではなく、この仕事が彼にマズローの階層上の安全性以外の実用的な利益をもたらさなかったからです。彼は新しいスキルを学んだのですか?いいえ。彼の作品は彼に創造性を与えましたか?いいえ。それは彼に尊敬を集めましたか?番号。
これが最初の位置であるため、デフォルトでこれらのプロパティのほとんどを提供します。プロフェッショナルなプログラミングの最初の経験があり、技術的および非技術的の両方の新しい課題が与えられます。しかし、あなたがポジションを超えたり、成長したりする時が来るでしょう。そして、あなたが不意を突かれないように、継続的に自分自身を改善する必要があります。
もう1つ、アシュトンが自分のコードを使用している人の数だけで彼の自己価値を測定する場合は、マイレージクラブに参加することをお勧めします。人生の唯一の永続的な幸福は、私たちが自分自身のために作成するものです。私たちに対する他の人々の意見に従って厳密に生活することは、悲劇的で不正な人間を生み出します。