web-dev-qa-db-ja.com

私は私の会社の.1xプログラマーです。どうすれば最も貢献できますか?

私は、5人の新しくできたスタートアップで働いています。機械学習の博士号、RSpecコアチームの元メンバー、OS X用のGitバイナリをコンパイルする人がいます。それは単なる従業員です。創設者は博士号を取得しており、数十億ドル規模の企業のCTOを務めた後、出発して(成功した)スタートアップを開始しました。また、数学の博士号を取得できるかもしれません。

あぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ私はかなり頭が良く、ノンストップで読んでいると思いますが、私と同僚の間の経験、スキル、知識の差は、息をのむほどです。

だから、自分の立場に立ってください。あなたは、学ぶことがたくさんあるが少なくともエネルギッシュな明るい若いインターンを持っています。何が煩わしいでしょうか?ここから今、彼をどのように使いたいと思いますか?それが起こったとしたら何が嬉しい驚きでしょうか?

62
invaliduser

最も重要なこと:

タイトルに感心しないでください。すぐに、あなたのPh.Dの同僚も人間であることに気付くでしょう。そして、Ph。Dを持つ一部の人々は、実際に役立つものを実際に作成したことがありません。常にそれを忘れないでください。

私はあなたに何を期待しますか?良いコードを書いて物事を成し遂げるため。たぶん、あなたは自分をエネルギッシュだと表現しているので、あなたは本当に働いている人です。学位を取得していて、細部に重点を置いていたために永遠に単純なタスクを達成する人がたくさんいるのを見てきました。それを上手に活用して、妥当な時間内に優れたコードを提供すれば、すぐに誰もがあなたを尊敬するでしょう。

しかし、他人を軽視しないでください。それらはおそらく古いものであり、おそらくそれらから貴重なものを学ぶことができます。しかし、無頓着に何も引き継がないでください。常に自分自身を理解し、考えてみてください。それらから実際に機能する動作と知識をコピーすることを期待します。

59
Falcon

謙虚さは長い道のりを行く

あなたの謙虚な態度で、私はあなたが迷惑になることを真剣に疑います。謙虚さは長い道のりです。 (これは、インターンと同様にホットショットにも当てはまります。)

あなたの役割が明示的に他の人をサポートすることである場合、あなたは単に尋ねることによって確実に役立つことができます。 「あなたの皿をはずすことができるどんな厄介な仕事ですか?」

あなたが見つけるもう一つは、ほとんどの人が感謝を感じるのが大好きだということです。チームメンバーを本当に尊敬している場合は、チームメンバーに多くの質問をし、彼らから多くのことを学ぶことで逃げることができます。彼らはお世辞を感じるでしょうが、それは本物になります。また、学習し、より役立つものになります。

最後に、彼らよりも少ないことを知ること自体が役立つかもしれません。たとえば、APIのドキュメントを書く方が得意だと思います。部外者が尋ねる質問をするからです。

そして、誰が知っていますか?あなたはしもべ志であることによって、あなたがリーダーになることに気付くかもしれません。

41
Nathan Long

あなたはすでに多くの良い答えを得ました。私の経験を同じような立場で共有することで貢献できると思います。

背景:私の主な職業はCSを勉強している数年前から、かなり大きな会社の研究開発部門でパートタイムで働いています。私がほとんどの場合一緒に仕事をしている人々は、EE、CS、数学、物理学の博士号または修士号を持っています。私は完全な初心者として始めましたが、ここ数年で多くを学びました。

迷惑なものは何ですか?

  1. Googleを使用して簡単に自分に答えることができる質問をする
  2. 質問をすることであまりにも頻繁に他の人に割り込む。ブロッカーではない質問がある場合は、質問する人を邪魔することなく質問できるまで、他の作業を行ってください。いくつかの質問を収集してから、他の人の時間を尋ねるか、その人があなたの進捗状況について尋ねるまで、または彼と話し合うのに良い時間を待つことができます。休憩の終わりに、彼がすでに電話で割り込まれていたとき、それから彼に「私はこれとそれをやったが、現在私はあちこちで行き詰まっている」と言います。
  3. (Googleやその他のリソースを使い果たした後)行き詰まった場合は、必ず助けを求めてください。 5分間で解決できた可能性のある問題に2日間行き詰まっているのを見つけるよりも悪いことはありません(Neil White著、コメント内)
  4. 他の誰よりも賢くしようとしないでください。

ここから今、彼からどのような使い方をしたいと思いますか?

  1. チームを実際に助けるような方法で、他の人が簡単で煩わしいと感じることを行います。これですべてです。

それが起こった場合、何が嬉しい驚きでしょうか?

  1. ほとんどの作業を満足のいく方法で行い、チームの作業にますます関与すること。

さらにいくつかのヒント:

  1. 謙虚になりなさい。
  2. 他人の仕事に興味を示す。
  3. 彼らがあなたに何かを説明する場合、あなたが理解していることを確認してください。そうでない場合は、少なくとも基本的なアイデアがわかるような方法で説明するように依頼してください。
  4. 信頼できること。できるだけ良い仕事をしてみてください。
17
mort

これまで他の人からの良いアドバイス。特定の質問に答えるには:

  • 何が煩わしいでしょうか?

最初に宿題をせずに質問をすると、迷惑になります。最初に問題を解決するためにできることを行った後、助けを求めるのは問題ありません。しかし、もし誰かが簡単なグーグル検索またはマニュアルを熟読することによって答えを見つけることができるなら、それは迷惑です。

  • ここから今、彼をどのように使いたいと思いますか?

私はあなたがすでに何らかのプロジェクト/割り当てを持っていると思います。最小限の監督でこれを完了できることを願っています。

  • それが起こったとしたら何が嬉しい驚きでしょうか?

嬉しい驚きの1つは、仕事を早く終えた場合でしょう。次に、信頼性を証明するより複雑なプロジェクトに取り組むことができます。もう1つの驚きは、チームのニーズを予測して、チームのニーズに応えることができるかどうかです。チームには、自動ビルド環境、自動テストフレームワーク、テスト用の特定のコンピューター/ネットワーク構成などが必要ですか?これらは周辺のものかもしれません

9
RonE

短い回答:チームに何が必要か、そしておそらくあなたが一番好きなものを見つけて、それを提供するために努力します。

より長い答え:スタートアップの初期段階では、ほとんどの場合、すべての作業は「準備ができています」。実行する必要のあるタスクや、ユーザーが実行したいタスクはすべての受験者が利用できます。あなたの好みは文字通り会社が進む方向を形作ることができます。

人事に興味がありますか?採用タスクを引き継ぎます。または多分給与計算を行います。プログラミングに興味がありますか?チームが使用したい言語を調べます。一部のコードの単体テストを記述してみてください。レポートを書くのが嫌いですか?その後、しないでください。そのタスクを他の誰かに委任して、建設的なソリューションに向けて取り組むことができるかどうかを確認してください。少し時間をかけて、何をしたいかを考えて、それを試してください。

非常に小さな初期のスタートアップに関しては、プログラミング以外にもすべきことはたくさんあることを覚えておいてください。あなたがコーディングしたいなら、素晴らしい!あなたが何か他のことをしたいなら、それも良いです!早く学び、たくさんの質問をして、自分自身に挑戦してください。

4
joshin4colours

私の答えがどれほど役立つかわかりませんが、あなたは今までずっとそうでした。私に感じ/知っている人々に囲まれて、私がこれまで以上に貢献することがたくさんありました。この立場で行動する方法は?苦しむよりも楽しんでください。あなたがどれだけ知らないかを考えるのではなく、あなたがこれらの人々と一緒に学び、経験するために立っているものについて考えてください。それらをリソースとして使用し、敬意を払い、あらゆる情報と経験をそれらから取り除こうとします-スポンジになります...

だからといって、やろうとするのをやめなければならないというわけではありませんが、そうするときは、彼らに肩越しに見てもらい、作業を見直してください。作品を完成させて、彼らがそれについて言わなければならないことを聞いてください-彼らがあなたに与えたコメントを書き留めて、より良いコードを作成するためにそれらを実装してみてください。恐れずに質問してください。敬意を払い、良い質問をしてください。質問する前に、データを吸収し、直接の質問を検討してください。おそらく、回答はすでに提供されています...教えるのが大好きな最高の人々、そして私は彼らが人生の知識や哲学をあなたと共有してくれたら嬉しいでしょう。

私の状況でそれを試みました、そしてそれが私のために働いたときはいつでも、私は最も幸せでした、彼らが私を続けた理由がわかりませんでしたが、私は最高の時間を過ごしましたこの経験の結果として。

これは、あなた自身を過小評価すべきだと言っているわけではありません-おそらくあなたは自分を信用するよりはるかに優れていますが、人々がここに書いたように、タイトルと学位は実際の生活状況ではそれほど印象的でなく、謙虚さが長い道のりです。ですから、すべての人を尊重し、耳を傾け、吸収してください。ただし、経験から自分のレッスンを受講してください。時には、何をすべきかnotを学ぶ方が得策です。

幸運を。

1
Moshe Eshel

ここにはすでにたくさんのものが提示されているので、私は言われたことを繰り返すことはしません。

一見したところ、あなたには管理スキル/アイデアを持つ専門家とリーダーがいるようです。それは良いですが、不完全です

あなたは実用的なものです。

カバーできる領域は少なくとも2つあります。

  • スタートアップが選んだ言語の技術的な詳細を深く掘り下げる
  • コードの品質を向上させ、コードを操作する際の荒い部分を滑らかにする

テクニカル

それらの人は彼らの分野の専門家であり、これは良いことですが、紙袋から自分の道をコーディングする方法を知っているという意味ではありません。正直なところ、私は非常に聡明な人々が恐ろしいメンテナンス不可能なコードを書くのを見てきました。

あなたはここでテクニカルリードになる機会があります。あなたがそのすべての機微を知るまで、言語の内外を学んでください。コミュニティが使用するイディオムを学びます。そこにある便利なライブラリを調べてください。


品質

恩知らずで便利なタスクがあります:

  • 誰がコードソースリポジトリを管理していますか?
  • テストを書いたり保守したりするのは誰ですか?
  • テストスイートの合格を監視するのは誰ですか。と有罪のコミットを識別しますか?犯罪者に容赦なくpingしますか?

非常に正式なものであろうとなかろうと、役立ついくつかのステップがあります。

  • コミットをどのように確認しますか? (コードの一部の領域に関連する所有権はありますか?)
  • どのように作業/タスクを計画しますか?

アイデアを持ち、コードを書くことに関連する多くの周辺活動があります。

ここには、質の高いリードになる機会があります。業界のベストプラクティス(「アジャイル」のビット、スクラムのビット、TDDのビットなど)を学び、会社に適したプロセスを構成します。ビルドシステム(make、cmake、ninjaなど)を学び、ビルド/デプロイを容易にするスクリプトを記述します。 Jenkins(またはその他)を確認して、継続的インテグレーションサーバーを構築します。


彼らはそれぞれのドメインで印象的であり、それは素晴らしいことです。現時点では専門分野ではないので、弱点を特定し(意見を求めることもできます)、a(the) gap(s)!)

1
Matthieu M.