人々は「あなたが得意なことをしている仕事を見つける」ように私に助言しますが、私は単にコードを書くこと以外には何も得意ではないと私は信じています。プログラムを設計したり構造化したりできるとは思いません。
私を誤解しないでください、私はfizzバズプログラムを書くことができない種類のプログラマーではありません。私は仕事を成し遂げる以外に多くのことができないようなプログラマーのようなものです。私が「最低限のことをする」という態度をとっているわけではありません。プログラマーとしての自分の限界を痛感しているのです。
たとえば、クイックソートアルゴリズムの実装は、暗記に頼るだけでできることです(つまり、アルゴリズム全体をメモリにコミットするだけでなく、1日のかなりの部分をメモリに費やすという動機を見つけた場合「うーん、なるほど、それは理にかなっている、私は論理を見ることができる...」のように)。
アプリケーションの構造化と設計に関しては、私も無力だと感じています。最初は正しい答えがわからないので、10回のうち9回、後で後悔するような判断を下すだけです。
私は今でも同僚から仕事の昇進と賞賛を得ることができるので、他の人が私の意見を必ずしも共有しません。しかし客観的に言えば、私は単に「平均をわずかに上回る」プログラマー以上のものを現実的に志向するための学習能力も純粋な脳力も持っていません。
自分に適した別の役割を見つけられないだろうとかなり確信しているとしても、自分にはもっと才能のある人々のための余地を作り、自分自身を別の種類の仕事に見つける倫理的義務があるのだろうかと思います。それから私の質問は、「平均的なプログラマーはチーム内に場所を持っていますか?」です。
それどころか、プログラマー能力マトリックス(または同様の尺度)で高得点をとる人々は、エリート主義の俗物ではないという倫理的義務を負っていると私は思います。
Ted Newardが 素晴らしいブログ記事 を最近書きました。これが私のお気に入りの引用です。
コードを書く私たち全員がアーティストである必要はありません。率直に言って、絵画の世界では、何時間も何日も何ヶ月も費やし、小さなブラシを手に入れ、顔料の瓶を互いに1ルーメンだけ異なるようにして、細部にまでこだわり、1つの作品だけを作成します...そして次に、地元のロウズで見つけた大量生産された「クリームベージュ」の缶から、ペイントスプレーで家をペイントする人がいます。そして、あなたは何を知っていますか?両方が必要です。
それだけの価値があるのは、これら2人のキャラクターのうち前者だけが、あなたが持っている方法で彼ら自身の能力に悩まされることです。
もっと才能のある人のためのスペースを作り、別の種類の仕事を見つける倫理的な義務があるのかしら。
いいえ、あなたはしません。どちらかといえば、あなたには自分自身とあなたの扶養家族を世話する倫理的義務があります。才能のある開発者の仕事が不足することはありませんし、あなたがおそらくあなたさえ知らない人々の利益をあなた自身のものより先に置くべきである理由はありません。
実際、このサイトには、資格のある開発者を見つける方法に関する雇用主からの質問がたくさんあります。あなたの雇用主は合法的にあなたを迎えることを幸運に感じるかもしれません。
あなたはあなたの仕事でExcelに倫理的な義務を負っていません。あなたがそうすることで報酬を得ていると思っていることをするだけです。あなたはコンピュータに関連する何か他のことをしたほうがいいかもしれませんか? SDETとしての輝きを示す最善の方法は、他の人のコードに欠陥がある理由を示すことであるからです。これは、あなたが本当にどれほど優れているかについての洞察を与えてくれますし、また、「私は十分だ」という負担を肩から取り除くでしょう。
これを読んでいるとき、私は私がはっきりしていることを確認したかったのです:ほとんどのプログラマーはひどいです。あなたはあまりにも自分に負担をかけすぎており、SDETとして働くことによって、あなたが思っているよりもあなたの仕事をするのにどれほどの資格があるかもしれないかと直面するでしょう。私を信じて、それは私の人生を変えました。 ;)
あなたの投稿を読んで、私はこの人にはそれが何であるかを考え続けました本当には優れたプログラマーになるために必要です。
あなたは自分の限界を痛感していると言います。
人がその分野に有能であるほど、彼らが通常持っている自分の限界に謙虚で気づきます。工芸品を習得する大部分は、実際にほとんど知らないことを認め、それを使って作業します。また、改善のために空腹で停滞しないようにします。これを使って。
あなたは間違って始めて、10回のうち9回それを後悔します。
それは問題空間を知ることと呼ばれています。これは何年にもわたってマスタリングにかかるものです(そして、正直に言うと、マスタリングする必要があるかどうかわかりません。最初から「正しい」コールをした場合、どのようにして正しいものを知っていますか?)。適切なソリューションを導入するには、通常、いくつかの失敗した試みが必要です。拳を間違えることで私たちが最もよく学ぶ方法についての現在の多くの研究があります。安全で許可された環境でそれを行う必要があるだけです。あなたがそのような環境にいることを確認し、あなたが繁栄するでしょう。
あなたは物事を成し遂げる。
これは純粋な金であり、チームメンバーからの配達を待っているチームマネージャーとマネージャーの両方からのものです。あなたはどんなソフトウェアプロジェクトでも最も重要なポイントを覚えています-あなたが提供しなければ、誰も支払われません。
これはその頭をオンにするのは難しいかもしれません-しかし、あなたがリストしたすべてのポイントは、私がすでに非常に遠くに進んだことの印として見ています。
番号。
悪い大工は大工をやめません。彼らは純粋な繰り返しによってかなりうまくいくようになった平凡な日常の椅子を従順に打ち抜く間、これまでに住んだ最も偉大な大工ではないと認めるだけです。お尻がたくさんあるので、プリマドンナは安い椅子を作るのに飽きて、テーブルなどのより印象的な構造で才能を披露したいので、私たちは実際に平凡な大工を必要としています。
それは倫理の問題ではありませんが、あなたの最高に上昇し、あなたができる最高であることに満足しています。
私は本当にこれに関係することができます。私は生涯平凡なプログラマーのように感じてきました。私はいつも自分よりも優れた人たちを見てきました。正直なところ、多くのプログラマーは私よりも優れています。しかし、それでも、あなたのように、私は私の仕事を称賛し、あなたのように私はクライアントと上司を幸せにします、そして私は上級ソフトウェアエンジニアに昇進しました。私は仕事で成功していますが、問題を抽象化し、それらの問題をよりエレガントで抽象的な方法で処理するコードを書くのが得意な才能のあるジュニアプログラマさえいることを私はまだ知っています。私たちができることに焦点を当て、そのことを称賛することは非常に重要です。そして、私たちが達成したものの見方を変えることは、残りの人生で「良い」プログラマー(または建築家、友人、アイススケーターなど)になるよりもはるかに重要です。
私たちの手の届かないところにあるものがあります。賞賛されている同僚のMarkのように、1日に膨大な数の新しいテクノロジーと膨大な数の複雑で美しいプログラミングパターンを使用して、非常に複雑なプロジェクトを立ち上げることを夢見ていました。しかし、私はできません。そして、私は自分のできることに焦点を合わせ、自分の能力を最大限に発揮し、それを尊重します。そして、あなたは同じことをしようとするべきだと思います。プログラマーであり、賞賛され、仕事に対して支払われることは、最初からかなりの成果であると自分に言い聞かせることから始めることができます。