免責事項:表明された意見は私個人のものであり、雇用主の見解や意見を表明するものではありません。
私は小さな会社で働いています。開発者はほとんどいませんが、QA /テストを担当する人もいれば、1人はマネージャーです。 1。5年前に入社しました。 3人の上級開発者は8年以上の経験があります。
これらは、私がチームリードについて行った観察です。 (私をすべての面でそれらに比べて経験が少ない新鮮な人と見なします)
DRY: Don't Repeat yourself
。彼らの回答は、「それは魅力的な記事ですが、実際には機能しません」でした。 100%DRYにしなければ、少なくともインターフェースは使用できると彼らに話しましたが、それも考慮されていませんでした。 *(リファクタリングの準備ができていない場合は、以前のコードベースに影響を与えずに、新しい機能のインターフェイスを追加できます)私の質問は:
更新:
DRYは非現実的であると感じる理由:彼らはOOPの概念に関与したくないためです。タスクを繰り返すことに満足しています。
私が提案している新しいテクノロジー:
私が提案している変更についてあまりにも積極的ですか?
詳細(提案している新しい技術、拒否している理由、DRYは非現実的である理由など)がない場合、メリットの量を評価するのは困難です。提案とそれはあなたの積極性にとって重要です。あなたがそれが新しくてクールだと思うので彼らに新しいフレームワークを使わせたいなら、軽く以上のものを押すのはあまりにも積極的です。 (つまり、彼らはがらくたを書いている)それから私はもっと攻撃性が正当化されると思います。
しかし、これはあなたと彼らの間の対人関係にも依存します。私のアドバイスは、「自分の提案が会社に利益をもたらすことを証明できますか」と自問することです。答えが「はい」の場合は、プッシュを実行するためのライセンスがいくつかあると思います。
8歳以上のシニア開発リーダーに何を期待すべきですか?
これで色域が実行されます。あなたは時々、オフィスの政治ナビゲーションと技術的な考慮の両方の面で多くから学ぶことができる本当に鋭い人々を得るでしょう。残念ながら、たくさんの this も得られます。あなたは8年以上の経験が基本的に解雇されないために最低限のことをすることに等しい人々の不足を見つけるでしょう。あなたが本当に鋭いメンターまたは誰かを見つけた場合、それは本来あるべきものより一般的ではないので、できるだけ多くそれを握ってください。
会社から良い学習を期待するのは間違っていますか?
学ぶべき人々はそこにいて、彼らはいくつかの会社にいます。あなたは共通のジレンマに直面しているようで、.NET Rocksの人を言い換えると、これは検討する価値があります:「会社を変更する...または会社を変更する」。
つまり、特定のコアアプローチと原則を信じており、それらを常に販売することができず、やりたいことや学びたいことを実行して学ぶ自由を得ることができている場合は、より良い企業を探すことを検討する価値があります。あなたに合う。
ジュニア開発者と頻繁に連携するシニア開発者(またはここに好きな他のファンシーなタイトルを挿入)として私の視点からこれを書きます。
これはおそらく、あなたの前線とシニア開発者の前線の両方での不足です。
ジュニア開発者の多くが理解していないことの1つは、(ジュニアとして)あなたが新しいテクノロジーを使用することを推し進めている間、物事を行うための新しい方法、彼らがしているチームにそれを伝えることです間違っているなど-チームのシニアはdeliveryで経営陣に報告しており、経営陣によってプッシュされていますできるだけ早く新しいものを提供して、会社にできるだけ多くのお金を稼ぐ(またはクライアント/顧客に最良の結果を提供する)。
時には、実証済みの実績のある配信方法が実装のリスクを上回る[クールなテクノロジーをここに挿入]。締め切りが厳しく、作業量が多すぎ、起動のプレッシャーが非常に大きいということは、8年以上に渡って行ってきた方法が今回も行っている方法であることを意味しています。
あなたが提案していることが実際には彼らにとってそして長期的には会社にとっていくらかの利益をもたらすことをチームにdemonstrateできるようにする必要があります。さもなければ、あなたは同僚から賛同を得ることはなく、彼らはそれを実行するための承認を得るために管理チームにそれを販売することができません。
私が提案している変更についてあまりにも積極的ですか?
完全な状況を知らなければ、あなたはそうかもしれません。人に伝えるだけ[〜#〜] a [〜#〜]は[〜#〜] b [〜#〜]より優れているので、使用する必要があります[〜#〜] a [〜#〜]はあまり根拠がありません。あなたは行って、それがより良い理由を示すために何かをする必要があります。提案された方法で十分であることを示す小さなコンポーネントやアプリケーションであっても、それは大きい必要はありません。次に、それを提示し、チームからの批判に対抗する準備ができている必要があります。
シニアデベロッパーとしても、新しい方法のほうが良いことを同僚に納得させる前に、これを行わなければなりません。
8年以上の経験を持つシニア開発リーダーには何を期待すべきですか?
他の人が言ったように、8年以上の経験は必ずしもあなたが素晴らしいとは限りません。しかし、一般的には、トラップをしばらく使用している人から多くを学ぶことができるはずです。あなたも彼らに何かを教えることができるかもしれません。
人々は人々であり、誰もがエゴ(あるものは他のものよりも大きい)を持っており、新しい人がやって来て、過去8年間以上あなたの仕事を間違っていると言っていることより悪いことはありません。同時に、上級開発者(優れた開発者)は建設的な批判を受け入れ、彼らの決定の理由を明確に示すことができるはずです。
会社から学び、経験を積むことを期待するのは間違っていますか?
最新かつ最高のテクノロジーと機能を使用していなくても、社内で学習したり経験を積んだりしていないわけではありません。経験は経験であり、何かをする古い方法を知っていると、新しい方法のほうが良い理由を高く評価できる場合があります。これはまた、理由を示すのに役立ちます両方を理解し、それを販売しようとするときに、より説得力のある議論を明確に示すことができるためです。個人的には、現在働いている最新の最高のものを使用していませんが、それでも毎日新しいことを学び、履歴書でも見栄えがします。
そうは言っても、会社が本当にうまくいかず、他のすべてが失敗した場合、新しい職場を探すことをお勧めします。
これを巨大の機会と考えてください。
多くの場合、昇進はあなたが会社に入社してから何年も経っていないからです(そうしてはいけません)。本当に良いアイデアだと思うものがあり、上司や同僚は聞きたくない。
ここに戦略があります:
そして、私がprofit
を漠然とした「私が勝つ」ステップにすることを意味するのではありません。ステップ4では、次のいずれか、またはすべてを取得します。
あなたの会社と、またはあなたの才能とあなたが履歴書で得た驚くべき測定基準を評価できる新しい会社のどちらかです。
私はそれを「すごい」と呼びます-そしてそれは機能します。
逸話:私は一貫して素晴らしいわけではありませんが、私はそうしようとし、5つの異なる時間を与えられた手順を実行しました(2つの昇進、3つの新しい仕事、すべて大幅な昇給)。
それを念頭に置いて、私はおそらくあなたの質問に直接答えるべきです:
私が提案している変更についてあまりにも積極的ですか?
メトリックと例を使用して、それがどれほどすばらしいかについて、まだ何かすばらしいことをしたことがありますか?古いことわざがあります。
Ideas are like assholes; everyone's got one, and they all stink
何かしてください。
8年以上の経験を持つシニア開発リーダーには何を期待すべきですか?
マジ?あなたは期待する何もすべきではありません。しかし、彼らが知っているすべてを学ぶようにしてください。質問をしたり、個人的に作業をレビューしたり、話を聞いたり、自分の発言について批判的に考えたりします。彼らは箱での経験です...えーと...体。それらを開いて学びましょう。私の親友は優秀な開発者であり、私は常に彼からできるだけ多くのことを学ぼうとしていることを積極的に伝えています。
会社から学び、経験を積むことを期待するのは間違っていますか?
絶対違う。これは、何をすべきかできないことを学習できないという意味ではありません。人々は間違いを犯し、あなたの会社だけでなくあなたの会社の間違いから学びます。
クリエイティブになる必要があると思います。先輩が先延ばしにしていたいくつかのサイドプロジェクトリクエストについて質問してください。独立して何かに取り組むことで(または、より良いのは、その上に別のジュニア開発者を入れて)、最初から多くの新しいものを適用することができます。すべてが良いとは限らないことがわかっても驚かないでください。
もう1つのアプローチは、独自のコードブランチを作成し、リファクタリングプロセスを実行することです。私はあなたが言ったことに基づいて本番に進むことは決してないかもしれませんが、少なくともあなたはあなたのスキルセットを向上させることができます。
誰もが知っている、彼らはあなたがみんなの仕事をより簡単にすることができる方法を見るかもしれません、そして彼らはプログラミングにおける「怠惰」の真の使用を受け入れるでしょう。
他のすべてが失敗した場合は、新しいスキルセットをCVに配置し、別の仕事を探し始めます。
+8年間プログラマーとして働いていても、彼が優れたプログラマーであるとは限りません。私の意見では、優れたプログラマーがシリアスなプログラマーである理由は何ですか?経験を共有するだけでなく、新しい考え、技術、技術などを学ぶことです。それは、常に良くなって改善することです。いわゆる「上級」プログラマーの多くは、長い間使われていない言語からの関数型プログラミングの古いパターンに積み重ねられています。彼らはそれを必要としないので、新しい概念やアイデアのようなものは彼らのためではありません。彼らは「経験」を得た。
改善して学ぶ意志は、長年の経験よりもはるかに重要です。学びたいジュニア開発者は、すでにすべてを「知っている」古い「上級」開発者よりも、どの企業にとってもはるかに優れています。
私の会社で働いていますか?
いいえ、まじめな話ですが、これは多くの大企業ではかなり一般的なスレッドのようです。変化は難しく、費用もかかります。時々、あなたはそれが途中でどれだけ戻るのが遅すぎるのかを本当に知らない。
たとえば、私の会社はまだcobolベースのメインフレーム画面からJavaに移行しています。 SpringやJSFで10年前の標準を使ってテクノロジーを最新にしようとしている人を販売することは困難です。だから、私はいくつかの限られた成功を収めた私がやったことをお話しします(私もjr開発者です)。例になります。最先端を知るには十分ではありません。それを証明する必要があります。他の人がだまされているときは、本を持ち込んで、ダウンタイムがあるかどうかを確認してください。そして、これらの技術の1つについて実装に興味を持ってください。彼らがYouTubeを見ている間にあなたがそれを読んでいるのを見た場合(正直にあなたのオペレーションユニットがそれをキャッチせず、人々は解雇されます)、彼らはあなたがあなたが話していることを知っていると信じるだけでなく、あなたにあなたに何を尋ねるかもしれません読書。
例として、私の上級建築家との私の経験についてお話します。賢い人ですが、一般的に新しい技術には興味がありません。私はCVS(バージョンコントロール)で何かを行う方法について彼に尋ね、「ああ、Subversionを使用するのに慣れています。彼らはこのようにしています。あなたの助けに感謝します。」これは、CVSとAnt対SVNとMavenについてのいくつかの会話につながり、彼が私のライブラリからいくつかの本を借りてそれを確認した。最終結果:今年中に新しいシステムに移行する予定です。重要なのは、彼らが間違っていることを伝えずに、オープンで役立つことです。結局のところ、それを行うにはより良い方法がたくさんあるかもしれませんが、それが正しく機能しているなら、彼らは間違った方法でそれをしていません。ほとんどの場合、どのような種類の失礼でもお湯に浸かってしまいますので注意してください。
彼らが単に受容的でないならば、あなたが高い需要にある素晴らしい分野にいることを心にとめておいてください。好奇心旺盛で素早い学習者が別の仕事を見つけたら、おそらくもっと1つの仕事を楽しむことができます。それは私にとってお金と同じくらい重要です。インタビューで必ず言及してください。「皆さん、xxxテクノロジーを使用していますか?それは素晴らしいことです。私は常にそれを使用したいと思っていて、私の古い会社で試しました。」人々は、彼らがしていることに熱意を持っているときに愛します。
私はあなたの攻撃性は正しいと思います。これは、情熱的な人々と協力することの大きな喜びであり、精神的に死んだ者と協力することに対する大きな罰です。 8年の経験は何も意味しません。もちろん、あなたは正しくなかったかもしれません。多くの場合、新しいテクノロジーはマーケティングと密接に結びついており、常に優れているとは限りません。しかし、あなたが正しくない場合、先輩はどこが間違っているかを説明する必要があります。そうでなければ、あなたの仕事から何の利点も得られません。たぶん、あなたは若くて暑いです。もしそうなら、これはあなたの利点です。成長できない仕事に時間を費やさないでください。解決策について話し合い、他の人からフィードバックを得ることができる新しい仕事を見つけることに関心があります。