プログラミングのメンターを見つける方法 [閉まっている]


46

プログラミングを学ぶことにしました。私は数日間SOを読んでおり、いくつかの記事を読んでいるので、C ++から始めると思います。ループ、配列、プログラムロジック、オブジェクトについては少し知っているので、最初のプロジェクトを行うときに得られる小さな質問で私を見て助けてくれる人が必要です。

だからここに質問があります-私はそのような人をどこで見つけますか?プログラミングをしている友人は誰もいません。

編集:2年後、私はまだメンターを探しています。私は積極的にコードを作成しませんでした。Cocos2dを使用して、Objective-CおよびiOSプログラミングとゲームプログラミングに取り組んでいます。あなたが私のメンターになりたいなら、私をドロップするかコメントしてください。


1
また、選択した言語の優れた「初心者向け」の本を購入します
デミアンカシエ

2
これらのユーザーとたむろするだけです。ビールを1杯または2杯提供します。彼らの投稿を読んでください。質問してください。
WernerCD

1
:ここではソフトウェア職人宣言に署名した名前(およびマップ)の一覧ですmanifesto.softwarecraftsmanship.org
スポング

1
私の答えは少しばかげたものでしたが、より厳密に型付けされた言語を学ぶときはJavaScriptまたはPythonを学ぶことをお勧めします。両方のパラダイムには利点がありますが、「怠け者」言語ではコンソールで直接試してみることができ、JSの場合はWebページのレイアウトとUIの動作をすぐに調整できますクロムの開発者ツールの。また、paramsで渡すことができる関数。うんちする人、知らない、知らない人(ありがとう、ジーバス、私は彼らと仕事をしたことがあるので); わいせつに強力です。
エリックReppen

1
2年後、必要なのはディスクリピンだけです。準備はいい?
ott--

回答:


31

オープンソースプロジェクトへの参加は、確かに開始する1つの方法です。しかし、私は何年もの間オープンソースソフトウェアを使用してきましたが、率直に言って、そのようなプロジェクトのほぼすべての品質はトイレにあります。プログラミングと設計のスキルを完全に習得した場合、おそらく非常に貧弱なものを良いものと一緒に選択することになり、それらの違いを伝える方法はありません。

何のためにプログラミングを学びたいですか?それに対する答えは、あなたが何を探すべきか、そしてどこを決定するでしょう。ここではいくつかの一般的な回答をしており、(それがあることに注意してくださいそれらを追求する方法についての私の専門家の意見正確なIMHO、けれども、ただの意見):

あなたはそれを行う方法を知っていると言うだけです。

そうすれば、あなたは本当にメンターを必要とせず、C ++は始めるのに貧弱な場所です。私はC ++が大好きです。これは一般的なプログラミングの最初の選択肢ですが、代わりに別の言語で遊んでください。Pythonをお勧めします。C ++よりもはるかに穏やかな学習曲線を持ち、一部の言語(名前が言及されていないため、今日はアスベストの下着を着用していません)とは異なり、後でさらに学習したい場合に役立ついくつかの有用なスキルを学習します。多くの概念は、そのルートを続けることに決めた場合、C ++に直接変換できます。

試してみて、気に入ったかどうかを確認してください。

それにはオープンソースプロジェクトで十分かもしれません。好きなプログラムを選んでください。ただし、問題やいらいらが見つかった場合は、それを実行している人に助けを提供してください。ほとんどのオープンソースプロジェクトは貢献に対してオープンであり、それが一般にそもそもオープンソースである理由です。

ただし、その場合、最初のプログラミング言語としてC ++を試さないでください。基本を習得するのは難しくありませんが、C ++は十分に低レベルであるため、プログラムで深刻で見つけにくいバグを取得できます。プログラミングが好きなことを既に知っている場合、またはことわざのように頑固である場合、または正しい方向に向けることができるメンターを既に見つけている場合を除き、それはあなたがこの分野で持っているかもしれない新進の関心を殺します。Pythonに関する上記の回答を参照してください。Pythonの方が適しています。

あなたが書きたい特定のプログラムのアイデアを持っているからです。

(OPはこのカテゴリに属しているとは思わない。後の読者のために挿入している。)

プログラムの設計と実装をマスターするのに必要な時間について、何か考えはありますか?ヒントとして、数年で測定されます。あなたが賢くて非常に幸運であれば、わずか数ヶ月の勉強で半分のまともなデザインを思い付くことができるかもしれませんが、それに取り組む必要のある経験の少ない人(あなたを含めて)は誰でもあなたが生まれていないことを願っています-私は経験から話しています。:-)アイデアが非常に秘密であり、それが完了するまで他の誰もそれを知ることができない場合を除き、気にしないでください。経験豊富なプログラマを雇ってあなたのためにそれをするか、あなたがそれを買う余裕はないが、それでもプログラムをひどく欲しがるなら、あなたとビジネスパートナーを申し出てください-あなたはビジネス側を処理し、彼にプログラミングの部分を処理させます。ほとんどの優秀な開発者はプログラミングを好むので、そのようなオファーは彼らにとって価値があります。

あなたはすでにあなたがプログラミングに魅了されており、さらに学びたいことを知っているからです。

その後、あなたは正確に正しい軌道に乗っています。:-)それが趣味であるか、後でキャリアに変わる可能性があるかどうか、無限に魅力的な性格を持っているなら、あなたができる最善のことはそれに没頭することです。その場合、C ++は他の言語と同様に優れた言語であり、メンターが間違いなく役立ちます(そして、スキルを磨くだけでなく、情熱を共有する友人がいなくても孤独になります)。


4
問題は、メンターを探す方法であり、メンターを探すべきかどうかではありません。
マルクタニ

4
もともとは、C ++に本当に興味を持っている人を指導するという申し出が含まれていました。本当に興味があると主張したが、会話を続けることに悩むことができなかった8人の人々を獲得した後、私はその申し出を取り除いた。
Head Geek

23

メンターを見つけるには、メンターを探しないでください。特定の方法で自分自身を改善してみてください。もっと良くなるように一生懸命働くなら、あなたは志を同じくする人々と接触することに気付くでしょう、そしてあなたはそれらの人々と何か共通点があることに気づきます。

ユーザーグループはメンターを見つける可能性が高い場所ですが、「メンターを探しています」と考えている誰かを支援したい人はいません。しかし、「JavaScriptの優れた単体テストの作成を手伝ってくれる人がいれば」、「誰かとペアを組んでClojureでカタを試乗したい」などと考えている場合は、遅かれ早かれあなたはあなたの興味を共有し、少し遠くにいる誰かを見つけるでしょう。


14

本当に良いメンターを作るタイプの人々は、通常、1ダースかそこらの後輩が与えられた瞬間に彼らの時間を待ち構えています。したがって、適切なメンターを「見つける」ことはほんの始まりに過ぎません。また、他の誰かをメンターするよりも、あなたをより魅力的/報酬的にする必要があります。

そのため、最初のステップは、良いメンターと出会う可能性のあるコミュニティに参加することです。

ステップ2は、価値のあるメンティーになることです。私が個人的にメンティーに求めるものは次のとおりです。

  • 私自身のものに近い、等しい、またはそれ以上の知能。
  • 教えることを提供し、楽しみたいものに興味があります。
  • 性格の互換性(つまり、私たちはうまくやって、お互いに話を楽しんでいます)。
  • 私が彼/彼女を指導しているプロジェクト/コミュニティにとって価値のある意欲:

    • コードを書く
    • ドキュメントを書く
    • 発行キューのトリアージ、コメントのクリーンアップなどのスカット作業を行う
    • 経験の浅い貢献者を支援する
  • 私の通常のワークフローとの互換性。
  • 教えるための能力の事を。誰かよりも経験豊富であることは、彼らから学ぶことを妨げるものではありません。最高のメンティーには、正しい質問をするコツ、新鮮な視点、または学べる知識の範囲外からの経験があります。

12

オープンソースプロジェクトに参加してください。必ずしもそれらのプログラムを作成する必要はありません。ほとんどのプロジェクトでは、誰かがドキュメントを手伝ってくれることを望んでいます。コードを見て質問をすることができます。安心したら、それらのコードを書き始めることができます。


1
オーケー、私は愚かに聞こえるかもしれませんが、どのようにオープンソースプロジェクトに参加しますか?訪問するのに最適なウェブサイトは何ですか?
ミスターアント

1
gnu.org/helpまたはいくつかのオープンソースコードリポジトリ(Googleコード、github ...)。ドキュメントを投稿してメールを送信する人がいない興味深いプロジェクトを探してください。
cbrandolino

2
私は愚かな質問はないと固く信じています。多くのオープンソースプロジェクトのWebサイトがありますが、sourceForgeは依然として最も人気のあるWebサイトの1つです。
ジムC

1
@Ant:作業に最適なオープンソースプロジェクトは、一般的に使用するか、使用する予定のプログラムです。
ラリーコールマン

7
-1:OSプロジェクトに参加するのは良い答えですが、学習のこの段階(つまり1日目)では間違いなくそうです。濡れる前に、それは深い終わりに飛び込んでいます。本やクラスを介した構造化された学習は、はるかに優れたアイデアです。
スティーブンエバーズ

6

メンターに何を期待していますか?オープンソースプロジェクトまたはローカルユーザーグループの提案は、ネットワーキングとあなたがなりたいものに沿ってさらに数歩進んでいる誰かを見つけることを目的としており、ある方法であなたを導くのに役立ちます。ジェイミーオリバーやゴードンラムゼイから料理を学ぼうとしていると考えてください。1日の終わりにはとても面白くて役に立つかもしれません。

あなたの期待に応じて、メンターを見つけるのは簡単かもしれませんし、驚くほど難しいかもしれません。あなたが心を読み、1年以内に素晴らしいことへのステップバイステップの秘密を与えることができる誰かを期待しているなら、それは現実的ではないかもしれません。同時に、あなたがあなたよりも良いことをできる人を見つけたいなら、これはおそらく難しいことではないかもしれません。最初に、あなたの期待を理解してください。

第二に、あなたがあなたが望むものを知ったので、あなたはそれを見つけなければなりません。これはかなり難しいかもしれません。カナダやアメリカに芸術があるように、彼らのスキルを使って開発者を紹介する場所がたくさんあるわけではないからです。 MentorNet私は試していないが機能する可能性のあるプログラムの例になります。しばらく前に調査しましたが、自分や自分が望むものだとは思いませんでした。ここで別の考えは、あなたの友人や家族があなたがここに何を望むかをどれだけよく知っているかということです。彼らはあなたが尋ねた場合にあなたを助けるかもしれない誰かまたはいくつかの場所を知っているかもしれません。これは包括的な答えではありませんが、あなたが尋ねるのは曖昧なものですので、これにさらに追加できることを願っています。あなたが望むものとあなたがそれとしてどのように望むかについての詳細を提供したらフォローアップしますバーガーキングではありませんが、そのように機能させることができます。


C ++サーバー側コンポーネントの専門家を見つけるのはかなり難しいかもしれません。近くに高等教育機関はありますか?考えられるアイデアとして他の何かにシフトしている可能性のあるスキルを持つ人がいる場合があります。そのメンターを見つけて頑張ってください。


私の側から+1。誰かと仕事をすることが前進の方法のようです。
Fanatic23

4

オープンソースプロジェクトは、追加した特定のコードや物事を行う可能性のある新しい方法に関するフィードバックを得るのに優れていますが、あなたが理解したように、それはおそらくメンター関係にはなりません。

あなたが既に言及したことを提案します、それはユーザーグループです。ユーザーグループは通常かなり頻繁に集まるため、潜在的なメンターと実際に顔を合わせることができます。このフェイスタイムにより、より迅速で簡単なコミュニケーションの流れが可能になります。全員が同じドメインにいることを保証しますか?いいえ、しかしどこかから始めなければなりません。豊富な経験を持っている人を見つけたとしても、その人が経験した他の経験に基づいて、あなたのドメインであなたを助けることができるかもしれません。


3

ローカルLinuxユーザーグループ(ここにリストがあります)をチェックしてください。通常、参加者のほとんどはプログラマー、または少なくともperlハッカーです。さらに、あなたがプログラミングのメンターを見つけるためにそこにいると伝えた場合、彼らはあなたを愛します。

クレイグリストへの投稿は試してみる価値があるかもしれませんが、私はそれには賭けません。

また、ドイツを拠点にしている場合、特に提案できる場所がいくつかあります。


カリフォルニアのベイエリアはどうですか?
グレートウルフ

@Victor、私は本当に知りませんが、いくつかありそうです:google.de/…–
cbrandolino

3

Stack Exchangeにサインアップすると、すでに多くの非公式のメンターが利用できます。簡単に質問したり、支援する意欲のある多くの人にコードをレビューしてもらうことができます。

よりローカルで、対面のメンタリングまたは指導を希望する場合、次のような優れたオプションがあります。

  • ユーザーグループ-長所:無料または安価で、すべてのユーザーに開放されています。短所:体系的ではなく、まれにしかコミュニティで利用できない場合があります。
  • 協同組合-長所:オープン、無料/安い。短所:あまり一般的ではなく、アドホックで、C ++よりもWebの可能性が高い。
  • 大学/大学の学位-長所:体系的で質の高い、尊敬され、扉を開き、一般的に少なくとも一部の質の高い教員へのアクセスを提供します。短所:競争力のある入場料、主要なコミットメント、高価で高いウォッシュアウト率のため、ソフトウェアを職業にするかどうかを調べるには費用のかかる方法です難しいと思う。
  • コミュニティカレッジのクラスまたは学位プログラム。長所:安価で、良い価値があり、インストラクターからの個人的な注意がより多く、認められやすい。短所:大学ほど名声はありませんが、良い生徒はどこへ行っても良い生徒です。
  • 専門組織-長所:優れたネットワーキングと継続教育になります。短所:メンバーシップの資格を得るには、フィールドで学位または仕事が必要になる場合があります。毎月の会議は、キャリアを実現するトピックを体系的に取り上げるのではなく、イノベーションに関するアドホックなトピックになる場合があります。
  • 同僚、シニアスタッフ、またはマネージャーの仕事-長所:頻繁に、ターゲットを絞った、感謝/熱意/フォロースルーは、他に類を見ないほどあなたのキャリアを構築します。短所:仕事のメンターがジャッジメントモードになって、すべてのハングアウトを許可している場合、この種のメンターは、グローバルな競争のために学位を取得した後を意味する可能性がある仕事をするまで利用できない場合があります。
  • コワーキング-長所:優れたリソース、優れた人材、一般的にはコミューンと将来のCEOの多くが交わる場所です。短所:あなたが住んでいる場所では利用できない場合があり、共有スペースで家賃を支払うための現金のコミットメントを含むことができます。スペースの多くは自営業するため、時間を尊重し、相互に利益をもたらす創造的な方法を見つける必要があります。

2

フォーラムは、この問題について専門知識を持つ人を見つけるための最良の方法だと思います。そこから始めるべきだと思います。

グーグルのC ++サイトや親友のstackoverflowをチェックしてください。あなたの質問に答えるC ++忍者がたくさんいます!


1

プログラムを学ぶことは野心的であり(このサイトの全員が同意すると思います)高貴な原因です。しかし、指導者であっても、ゼロから始めて学習するのは難しいものです。少なくともいくつかの入門クラスを受講してベースを提供することが最善の方法になると思うと思います。

メンターは素晴らしいアイデアであり、15年以上後、私の最初の「本当の」仕事で私の質問に耐える人がいなければ、コーダーとしてここにいることはないでしょうが、実際には、一人ではできない成功するプログラマーになるために必要な時間とガイダンスを提供します。彼または彼女はおそらくフルタイムの仕事(またはコースの負荷)を自分で持っているでしょう。それはあなたがメンター(またはメンター)を見つけてはいけないということではなく、何か他のものも必要だというだけです。

このようなサイト、オンラインチュートリアル、書籍、その他すべてがパズルのピースです。教育は国境を構成します。

これはあなたを落胆させることを意図したものではありません。それどころか、現実的な期待を設定することで、成功のチャンスが増えると思います。


1

会社の環境で働いているなら、そこでメンターを探すことができます。

オープンソースプロジェクトに関しては、あなたが作成したプロジェクトのメンターを見つけることはできませんが、彼らが作成したプロジェクトでメンターを見つけるかもしれません。

メンターがこのアレンジメントから何かを得る必要があることも忘れないでください。彼らはあなたを助ける貴重な時間を費やしています。引き換えに彼らのためにいくつかの仕事をする準備をしてください。


0

「プログラミングの天才を見つけるにはどうすればいいですか。それだけです。世界を支配する巨大なロボット軍隊を作りたいだけです。私は賢く、AIを書きました。お金、影響力、嫌な.NETやJVMの愚かさに対処することはできません...うーん...どうやって...どうやって!?くそったれ! "

通常、これについては説明しませんが、Stackを使用しています。文字通りそれが好きな人もいます。役に立つことで、あなたは1つ(メンター)を見つけます。あなたは、経験のある子供たち(または-多分-脳-または(へ)お金)が解決したくない問題を解決することにより、役に立つことができます。

バッタの問題を解決してください。

またはしないでください。情報化時代です。友達のDIY。Stackのようなコミュニティに目を向けて、コードに関連する何かや、私たちがすべてあなたをひっくり返すような投資家の陰謀のように簡単に得られない何かについて、あなたが愚かであるか賢明なときを教えてくれます。

そして、あなたが知っていることを共有してください。グルーヴを見つけたら、集団に少し参加してください。これは1700年代の鍛冶屋ではありません。あなたの両親は誰かを知る必要はありませんでした(確かに、あなたが自分でクラフトの知識を独り占めしてギルドと共有しなければ、誰もが感謝します)。

興味があると決めて、あなたは行き​​ます。それは沈み込んだときにかなりおかしくなります。しばらく時間がかかります(私は知っています)が、私を信じてください(この1つだけがばかげているように思えます-はい、私がおかしいプログラマーだったことに気付くまでに10年以上かかりました)本当に重要なのは、あなたが基本レベルの才能を持っていること、そしてあなたが実際に興味を持っていることです。そうでない場合は、親切に!@#$をオフにして、興味のあるものを見つけてください。

それ以外の場合、プログラミング/スクリプト/コーディングは恐ろしい選択だからです。しかし、私はそれを否定的で厄介な点に残したくありません。あなたが興味を持っている場合、あなたがどれだけ良いかを心配しないでください。質問をする。要求に答えます。私のような総長巻きのガス/潅水袋に我慢してください。必要に応じてそこに着きます。

パズルが好きですか?ランダムな任意の問題を解決するのが好きですか?グラディエーター映画は好きですか?最初の2つの点について明確に、そうですか?メンターを探してはいけません。1つの言語を非常に上手に学習し、初級レベルにあまり似ていない他の1つまたは2つの他の言語を初心者レベルのレベルまで学習し、本を読んで意見を述べます。あなたが完全に間違っていなかったかどうかを確認するだけでも、それらに挑戦して楽しんでください。あなたの本能が実際にそれほど悪くなかった頻度に驚くかもしれません。人々に出てきて、間違った質問をするために顔を平手打ちするように頼むと、あなたはその機会に立ち上がるほとんどの人よりあなたがよく知っていることに気付くかもしれません。しかし、主に、それは解決する問題です。それを解決します。


ああ、もちろん解決策を共有してください。そうすれば、私たちはすべて、私たちが好きではない部分をうんちすることができます。
エリックReppen

-2

メンターについては、freenode(irc)にアクセスしてください。私は誓う、あなたはその場所からCSの学位のほとんどを得ることができ、どんなスキルレベルでも役に立つ。それは私が多くを学んだ場所です。その人がそのチャンネルに1回いるのか24時間365日であるのかは問題ではありません。それはリアルタイムであり、それが重要です。

そして、他のほとんどの人が言ったように、C ++をしないでください。代わりに、静的に型指定されたガベージコレクション言語から始めて、ガベージコレクタを実際に倒すのに十分なことがわかるまで、手動のメモリ管理に移行しないでください。試してみると、かなり速いHaskellやOCamlを書くことができます。

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