メンターなしで改善する[非公開]


23

私自身はあまり経験がないと思いますが、私は何とかしてリーダーとして仕事に就き続けています(現在の私は会社の技術部長で、以前の私は研究開発責任者でした)。

私はこれがなぜ起こるのか理解しています(特定のスキルセットがあり、いくつかの珍しいプログラミング言語を使用しています)、私の問題は:メンターが見つかりません...

私は学ぶべきことがあるに違いないことを知っており、私が長年働いていると、徐々に多くのことを学んでいることに気づきますが、コーディングよりもはるかに速く改善する方法があると信じています...

だから、会社に他に教えてくれる人がいないとき、または彼らのコードを読むとき、私はどのように改善しますか?(またはコードを修正する...)

私は本を​​超えていると思いますが、「マスター」レベルをはるかに下回っているので、どこでもっと学ぶべきかわかりません。


メンターとの仕事をあきらめないでください。大きな違いを生み、多くの扉を開くことができます。
DeveloperDon

1
あなたの仕事に関連して、あなたを怖がらせたり、緊張させたりするアクティビティがある場合、それはあなたがそれから学ぶことができる良い兆候です。国際会議でプレゼンテーションをしましたか?独自のオープンソースプロジェクトを開始しましたか?自分の会社を始めましたか?さらに多くの
マルコ

私は自分の会社を設立しました(実際には複数回)。いくつかの国際会議で講演するよう招待されました(ただし、それらはすべて自国で行われました)。:)そして、はい、私が避けるものがいくつかあります...しかし、私は常に避けるもの、他のもの、私は時間内に学習します:)
スピーダー

このサイトとその姉妹サイトは、仕事をするために一人の人間を見つけることができない場合、合理的な助言者になることができます
LRE

回答:



26

いくつかのヒント:

  • 他の言語を学ぶ。次に、それらを既に知っている言語と比較し、他の言語から学んだことを使用して、それらの言語のコーディングスキルを向上させる方法を検討してください。それらの新しい言語を学ぶ前に「あなたの心を解放しなさい」、そして単に1つの概念を別のものにクローンしようしないでください

  • コードを読む。仕事で正確に使用している珍しい言語はわかりませんが、非常に熟練した開発者がこれらの言語で書かれた高品質のオープンソースコードを見つけることができると確信しています。

  • コミュニティに滞在します。職場で自分の言語を使用する同僚がいない場合、ごくまれな言語でも質問と回答があるStack OverflowなどのWebサイトで知識を共有しないのは言い訳にはなりません。タグでそれらの質問を検索し、すべての答えを理解しているかどうかを確認してください。質問に回答がない場合は、回答してください。

  • 教える。同僚に教えます。ブログを書く。何でも。他の人に何かを説明することにより、あなたはそれをよりよく学ぶでしょう。


2
+1:教えます。はい。時々、小さなデモセッションを準備しているときに、聴衆がするであろう質問をしていることに常に気づきます。答えを準備するために、私は調査し、たいていは非常に貴重なことを学びます。
Apoorv Khurasia

8

過去2年間の私の主な解決策は次のとおりです。

  • ソーシャルネットワーキング:私は、meetup.comがお住まいの地域のプログラミンググループを見つけるのに最適な方法であることを特に発見しました。Twitterもこれに最適です。好きな人や尊敬する人を見つけたら、フォローしてください。

  • 使用http://www.stackoverflow.com 私は当初、時折質問のためにそれを使用。今、それはアドバイスを与えることと受け取ることの両方のための私の毎日の仲間です。/codereview//のような姉妹サイトも使用します

  • 働く:おそらくあなたには当てはまらないが(しかし他の人には良い一般的なアドバイス)あなたが望む分野である種の仕事を得るのに十分であれば、年配の人を探し、彼らに優しくして、彼らにあなたを指導してもらう。

  • 本。O'Reilly、Pragmatic Programmerなどにはまだ良い本があり、紙またはデジタル版を選択できます。ここでは本当に偉大なリストは、次のとおりです。/programming/1711/what-is-the-single-most-influential-book-every-programmer-should-read最高の「古典」の一部とそこにまだ読んでいない場合に備えて。きれいなコードと完全なコードをお勧めします。

  • チュートリアル。など、ネット上のいくつかの素晴らしいサイト今あり
    http://www.codeschool.com
    http://www.codeacademy.com
    http://code.google.com/edu/は


P:私は珍しいが、これらのサイトのいずれそれを言及していないときに私が使用するものである方法を実現
スピーダー

5

私はあなたの質問にかなりの階層を読んでいるからです:

あなたの下の人々から学ぶ。ソフトウェア開発は、多くの場合、コードの媒体を介した、人間間のコミュニケーションに関するものです。良好なコミュニケーションは双方向に進むべきであるため、プログラムの相手から学びます。(私の仮定は、あなたが1人の会社にいないということです)


+1。現在、CSを勉強しており、開発者としてパートタイムで働いています。私のチームリーダーは彼と一緒に座って確認するために私を求めている彼のコードを。私は多くのことを学び、彼が私に自信を持っていると感じていますが、何かを返すこともできると思います。私の経験は最高ではありませんが、私の知識は更新されており、「これを行うための新しいより良い方法は
・・・

2

私はあなたがあなたが導くものを教えることによって多くを学ぶと信じています。簡単なものがなぜ/どのように機能するのかを考えることを余儀なくされるので、あなたが彼らに教えることをよりしっかりと理解するでしょう(おそらくそれを単に機能させたかったので、最初はそれを避けたでしょう)


2

メンタリングは機能横断的であり得る

メンターは、あなたが何に焦点を当てているかについて常に専門家である必要はありません。珍しいプログラミング言語を使用していると、ソフトウェア開発に約99の非言語トピックが残ってしまいます。最近のメンターの一部は、主にビジネス開発、ハードウェア、またはシステムエンジニアリングに携わっています。ソフトウェアに関わる。

多くの種類の人々があなたのメンターになることができます

探すのが良いことは、5年後にあなたが居たい場所にいる人です。このようなメンターは常に利用できるとは限らないため、他の選択肢には、経験はあるが正式なリーダーシップの役割を果たさない可能性のあるセージ、経験が浅い(または天国で禁じられている、若い)リバースメンターが含まれます有益なツールやテクニックについて。

メンターもスポンサーですか?

メンターに加えて、スポンサーを持つことが重要な場合があります。組織内で上に移動しようとしている場合、優れたアドバイスを提供するが、自分の指揮系統に影響を与えないメンターがいる場合、リーダーとして彼らを後援するメンターを持つ人に比べて不利になる可能性があります。プロジェクトオーナー、またはより影響力のある役割またはプロモーションを獲得するプロジェクトのマネージャー。

クロスカンパニーメンターとネットワーキング

あなたがすでにテックディレクターである場合、あなたのメンターのためにあなたの会社の外を見る必要があるかもしれません。数には強みがあるため、多くの人々と浅い方法でネットワークを構築することは驚くほど価値があります。他の専門家との関わりは、価値のあるものであるために、一緒に働くこと、または大規模な、頻繁な、または長い付き合いから生じる深さを持つ必要があると一般的に考えています。

あなたの池の大きさは?

R&Dの責任者であり、テクノロジーディレクターでもあるとおっしゃいましたが、そのような経験があるとは思わないでしょう。告白は、評判ではないにしても、魂に良いことです。私は同様の告白をしています。

ある時点で、私は自分のキャリアが2つの部分に分かれていると考えました。最初は、私が唯一のソフトウェア開発者であるか、ほとんどの大学を持つ開発者である多くのチームで働きました。2つ目は、私がFortune 100の会社に入社し、明らかに高いグレードの開発者と仕事をしたときに始まりました。対照的に、本質的には小さな池で大きな魚であるように、大きな池で小さな魚であるようなものでした。

トレーディングアップ

小規模な独立企業から変更を加えたことで、組織の地位がはるかに低くなりました。しかし、まだいくつかのステータスがありました。開発者は依然として、より高い賃金と仕事に対するかなり高い管理性の両方で評価されていました。仲間のチームメンバーに影響を与えることもできます(ただし、トップからではありません)。多くのロールモデルがありました。たくさんの競争があったので、技術的に強化し、自分がやったことが組織やチームにどのように価値を提供したかを理解することを余儀なくされました。

私は以前、役割とメンターについての本能的な直感を無視し、代価を払ってきました。直観は、経験の統合から生じる感覚です。私の投票は、それが間違っていると感じた場合、おそらく間違っており、注意深い調査に値するということです。自分の経験とメンターの不足を心配しているようで、選択肢を探ります。

より大きく、より攻撃的な会社に移行することで、成長、満足、およびその他の利点を見つけられるでしょうか?大きいほうが常に良いというわけではありませんが、多様な人とのつながりがあり、さまざまな仕事上の関係やプロジェクトの経験が得られることがあります。シリコンバレーの著名人の多くは、その結果、より迅速かつ効率的に成功への道を図表できる人々の指導者を務めてきました。卒業生のクラスメートの一人がLinked Inに参加するよう呼びかけた後、その文化を体験し、はるかに高いレベルのゲームをプレイしています。

メンターのメリット

メンターは教授のようになりますが、作業成果物を頻繁に見たり、マスター/実習生関係のマスターのように働く人がいなければ、スキルトレーニングと専門教育は二次的なものだと思います。メンターが共有する最大のことは、成長に関するアドバイス、良い意思決定の役割モデリング、職場の価値のバランス、危機の際の安定した客観的で健全な判断などだと思います。

祖父から何度も言われたアドバイスは、人々は謙虚なときだけ教えられるということでした。「私は本をはるかに超えています」などの発言に注意し、すべての人から学びましょう。メンターとの関係を構築するには、敬意と受容力を持ち、感謝を示すことを確認してください。また、彼らが非常に忍耐強くない限り、彼らは一般的に行動に移される時間を費やすので、彼らのアドバイスに従うことが重要です。


1

私の親愛なる友人

ある人が他の人にプログラミングのニュアンスを教えていることはほとんどありません。プログラミングは自分で学ばなければならないものです。単一のトピックに集中して試してみて、そのトピックをサポートするさまざまなフォーラムに参加すると、遅かれ早かれ、そのトピックのマスターになります。あなた自身があなたがどのくらい良くなったかを知るのに最も良い人であることを心から覚えてください。ある種の産業と世界では、私たちは自分自身のメンターにならなければなりません。


皆のためではありません。私自身と他の何人かは、メンターから最高の学習を受けています。私は90年代に8年間使用していましたが、現在は新しいテクノロジー用に使用していますが、それは素晴らしいことです。加えて、ミートアップなどで他の人に教えることで好意を取り戻しています。まだ素晴らしいメンタリングを経験していない人は、多くの人が不可欠だと考えるものを見逃しています。それは学ぶための良い方法だと、それはあなたがプログラミングの工芸品情熱を注いでいた場合、あなたはおそらく練習することがあります方法ですので、今日は自分自身をコーディングすることは、ますます、(gitのようなDVCSシステムを通じて)ペアプログラミング、口コミや共有コードを介して行われている
マイケルをデュラント

しかし何であるのも事実は、あなたが求めたり、新規または潜在的な位置にそれを求めることでこれを見つける可能性が低いことがあります。これは通常、新しい仕事のために前もって人格について可能な限り最高の感触を得ることを試みることによってこれを見つけます。それほどプレッシャーのない仕事を探し、他の分野で手当てをする準備をします。
マイケルデュラント

0

社内に他に教えてくれる人がいないとき、またはコードを読むときに私が改善する方法は?

非常に「特定のツールまたは一般的ではないプログラミング言語/フレームワーク」を使用している場合、特別な関心グループを探します。もちろん、現在使用されているほとんどのテクノロジー/フレームワークにはオンラインコミュニティがあります。したがって、私はオンライン通信のあらゆる手段を使用して、以下の最新の投稿と連絡を取り続けます。

  • LinkedInグループ
  • ツイーター-プロの人々をフォロー
  • フォーラム-問題が議論された場所
  • ブログ-コミュニティWikiページとお知らせ
  • 特別な関心を持つユーザーグループ-GmailやYahooグループなど

「一般的ではないプログラミング言語」の優れた実践を学ぶ最良の方法の1つは、開発者のブログ(4〜5が望ましい)を見つけて購読することです。


0

私の問題は、メンターが見つからないことです...私は本を超えていると思いますが、「マスター」レベルをはるかに下回っているので、どこでもっと学ぶべきかわかりません。

どのエリアに?プログラミングスキル、ソフトウェアエンジニアリングスキル、プロジェクト管理スキルなどを向上させたいですか?質問で指定しませんでした。

ソフトウェアプロジェクトのプログラミング/エンジニアリング/プロジェクトを自分で管理することを学んだのであれば、あなたは本を超えていません。あなたも学校に戻るだけではありません。高度な学位のために学校に戻る、または少なくともいくつかの大学院レベルのクラスを取ることは、あなたが除外すべきではない1つのオプションです。どのエリアですか?それはあなたが改善したいもの、あなたがあなたのキャリアを見る場所に依存します。たとえば、MBAを取得するために多くのことが言われています。技術的およびビジネス的な意味の両方に精通している人々は多くの価値があります。たくさんの。私の元同僚の何人かはMBAを取得しました。彼らが働いていないとき、彼らは熱帯の楽園に行くので、私は彼らを頻繁に見ません。またはサファリ。または週末のアルプスへの旅行。または、南アメリカへの夏のスキー旅行。

別のオプションは、専門知識はあるが改善したい分野で技術社会に参加することです。さらに別の方法は、雇用主にあなたが何かを学び、ネットワークを作ることができるブードゥーグル会議に送るようにすることです。

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