プログラミングが自分に合っているかどうかはどうすればわかりますか?[閉まっている]


22

私にはITのバックグラウンドがあり、仕事でプログラミング(C#)に参加する機会が生まれるまではかなり自信がありました。これまでプログラミングしたことがなく、プログラミングしているソフトウェアは、これまで使用したことがないプログラム(3Dモデリングソフトウェア)です。

それから6ヶ月が経ちましたが、あきらめたい気がします。あまりトレーニングを受けていませんでした...過去6か月で約3週間のトレーニングが広がりました。

私はプログラミングが得意だと思いますが、この経験から判断を再考しています。それが私だけなのか、このフラストレーションが正常なのかはわかりません。

プログラミングが自分に合っているかどうかはどうすればわかりますか?


11
あなたはどこでも学生ですか?MSにはDreamSparkと呼ばれるサイトがあり、Visual Studio、SQL、およびほとんどのサーバーを自宅のコンピューターで利用できるため、好奇心が強いだけです。これにより、自分用のソフトウェアを作成し、自分で試してみることができます。また、MSにはチャンネル9と呼ばれるかなりきちんとしたトレーニングサイトがあり、そこにはいくつかのきちんとしたプロジェクトがあります。あなたがプログラミングを楽しむなら、これらのいくつかは実際には楽しくなくて、仕事ではないからです。
-iMortalitySX

5
この機会が訪れたとき、それを選んだ理由は何ですか?
AakashM

1
@iMortalitySX:DreamSparkで利用できるツールは、VS Express Editionとは異なりますか?
FrustratedWithFormsDesigner

4
@ User66414あなたの質問には2、3の賛成票が集まったので、あなたが尋ねていると思われる主な質問に焦点を合わせるために少し編集しました。あなたの質問を誤解した場合は、編集をロールバックしてください:)
レイチェル

2
@レイチェル:たぶん、CloseExchange All-The-Questions群衆からStackExchangeサイトを救うために請願を開始する必要があります。:-)
ウォーレンP

回答:


87

プログラミングに入る際に注意すべきことがいくつかあります。

まず、プログラミングに関するすべてを知ることはありません。あなたはおそらく、すべてのほんの一部を知ることに近付くことさえないでしょう。そして、何かを知っていると思うようになったら、新しいものが出てきて、知っていることは時代遅れになります。

ですから、常に新しいことを学び、何をする必要があるかを自分自身で教えることに問題はありません。たくさんの時間を費やして多くの学習を行い、研究を行い、「教育された試行錯誤」を通して物事を理解しても問題ない場合は、プログラミングに入らないでください。

第二に、構文ではなく、重要なロジックです。言語、フレームワーク、またはテクノロジーを学ぶだけでは、必ずしも優れたプログラマーになるとは限りません。コードの背後にあるロジック-ピースがどのように組み合わされるか、どのようなロジックが使用されるか、コンピューターがコードをどのように解釈するか-を理解できるような心が本当に必要です。

単一のソフトウェアと言語で作業しているように聞こえますが、他にも多くの言語とテクノロジが存在することに留意してください。それらのいずれかであなたの経験によってそれらをすべて判断しないでください。構文があなたを苛立たせている場合、他のオプションが常にあることに留意してください。しかし、コードの背後にあるロジックを把握するのに問題がある場合は、おそらくプログラミングがあなたのためではないかもしれません。

そして最後に、嫌いな仕事を選ばないでください。確かにプログラミングはイライラすることがありますが、非常にやりがいのあることもあります。少しのコードで頭を壁にぶつけたり、コンピューターからすべてをフラストレーションで削除したり、それでもコーディングを楽しんだりしたいときを処理できるなら、あなたは良いです:)


11
私は自分の答えを投稿したでしょうが、私はこれが好きです。プログラミングはすべて、機能する何かを作成することで実現することだと付け加えました。ソフトウェアの作成とサーバーの保守(パッチの適用)を比較することができれば、答えが得られます。さらに、「実践的な」学習者である新しい人には、SCRUMチームに参加することを強くお勧めします。したがって、他の開発者と緊密に連携し、迅速に学習することができます(しかし、あなたは追いつく必要があります)。
iMortalitySX

1
また、プログラミングが上手になればなるほど、料金を支払うだけのコードではなく、自分にとって楽しいジョブを選択する力が大きくなることを忘れないでください。
Zoot

7
... programming can be frustrating, but it can also be very rewarding.これは、私がプログラミング専門職の「ジェットコースター」効果と呼ぶものです。安値は非常に低く、非常に速く来る可能性があり、登るのが難しい場合があります。しかし、高値は息をのむようであり、スリルは中毒性があります。
ライアンキナル

1
美しい記​​事。とても本当です。悲しいことに、HRスタッフでさえこれを理解していないようです。真のソフトウェア開業医は、多くのフレームワークで緊密にパフォーマンスを発揮できる人であり、単なる構文の領域をコア、ロジック(OOP、デザインパターン、など)彼らの技術に関しては。
-Glstunna

2
@RyanKinalプログラマーは強迫的なギャンブラーのいくつかの特徴を共有していると確信しています。低くなると、背中が高くなるまでそこから抜け出すのが非常に難しくなります。そして、あなたが高いポイントに到達するとき、通常、あなたが心に留めているのは、別の高いポイントに到達することです
。.– Earlz

24

私の友人は長年フリークエントフライヤーでしたが、常に航空会社のパイロットになりたかったのです。ある日、彼はボーイング747を操縦する機会を得ました。約6か月後、彼はあきらめたくなりました。彼は飛行機を操縦するのが得意だと思っていましたが、この6か月の経験が彼の決断を再考させました。

もちろん冗談です。そのような友人はいません。それは正当な理由です:セスナで数年を過ごす前に誰かが747の操縦を引き継ぐことを夢中にさせる航空会社は誰もがいるでしょう。 、それに続いて747の数か月にわたる広範なトレーニングが行われました。

私が作り上げたストーリーのポイントは、最も単純な3Dモデリングパッケージでさえ、747を飛行させるのと同等のソフトウェア開発者になるということです。フラストレーションを感じるのは驚くことではありません。現在のスキルレベルで間違ったタスクを引き受けました。

あなたは何をするべきか?最初に、3Dモデリングショップを辞め、プログラミングのオンラインコースまたは実際のコースを受講し、空き時間に作業できるペットプロジェクトを取得します。コースを終了したら、ビジネスアプリケーション、モバイルアプリ、または洗練されたWebサイトを作成するショップでエントリーレベルのポジションを獲得してください。職場でできる限り学び、自宅で練習してスキルをさらに向上させます。数年後には、3Dモデリング会社に戻って、少しでもイライラすることなくそこで働くことができるようになります。


9
これは良いことですが、必ずしもやめるとは限りません。あなたの仕事が難しいが、上司があなたがスピードに慣れるのに時間を必要とすることで大丈夫なら、それは素晴らしい機会であるかもしれません。また、ビジネスアプリケーションは3Dモデリングではあまり役に立たない場合があります。私は主にビジネスアプリケーションを行ってきましたが、3Dモデリングプログラムを作成しようとすると、完全に失われます。
モニカを復活

22

プログラミングを学ぶための最良の道を選択していないかもしれません:)

真剣に、3Dモデリングは経験豊富なプログラマーにとっても非常に複雑な領域であるため、最初のプロジェクトとしてそれを行うのは難しいでしょう。良い本をいくつか手に入れ、自分で簡単なプロジェクトに取り組むことをお勧めします。それらの作業を楽しんでいる場合は、プラグを抜いておくとそこに到達します。あなたがそれを楽しんでいないなら、それはあなたの損失を削減する時であるかもしれません。

私は最高のプログラミングの本について議論を始めるつもりはありませんが、プログラミングのリファレンスについてSEに関する多くの質問を見つけると思います。

FWIW、私は2.x以来MS Windowsでプログラミングを行ってきましたが、既存の3Dモデリングプロジェクトに飛び込んだら、しばらくイライラするでしょう:)


同意する。3Dプログラミングは、公園を散歩するだけではありません。金融、医療、またはテクノロジー分野のビジネスアプリケーションは、C#のキャリアを始めるのに適した場所です。
-ROFLwTIME

3Dモデリングを指摘するための+1は、良い出発点ではありません。それは、多くの数学とIMOです。これがここでの主なことだと思います。いつも簡単なことから始めてください。速すぎて走ろうとすると、時間がかかります(奇妙ではないですか?)
fiftyeight

8

かなり初心者のソフトウェア開発者として(2年間のパートタイムの仕事)、私が進むのは長期的な視点です。

私が始めたすべての新しいプロジェクトは、それをスムーズに処理する方法をよく理解しています。新しい言語はそれぞれ難しくなりません。私のソリューションはより完全に感じ始めます。

プログラマとして継続するために必要なもののリストを以下に示します。

  • あなたは自分で学び、好きで、できるようなるべきです。(すなわち、本、フォーラム、ドキュメントを扱う...)
  • 思考を整理しておく必要があります。プログラミングは思考プロセスを紙に(コンピューターに)もたらす方法です。
  • 一見無限に思える微小な問題のリストを絶えず処理する場合、解決する前に最初に特定する必要がある十分な回復力が必要です。

それ以外にも、プログラミングが好きな理由はたくさんあると思います。そして、それをやればやるほど、そのような創造的で繰り返しのない分野で働く喜びを経験するでしょう。

編集:何か問題がある場合は、問題が何であるかを正確に特定し、Stack-Exchangeサイトの1つに持って行ってください。質問にまだ回答していない場合は、良い返事。長期的には、プログラミングパラダイム、ソフトウェアエンジニアリング、アルゴリズムに関する構造化された本を読むことも良いでしょう。しかし、ほとんどのインポート、コードの記述を続けます-そして、ここでのほとんどの答えが示唆するように、たとえあなたが自宅で仕事をするためにあなた自身のプロジェクトを作り上げることを意味するとしても、あなたが既にやっていることとは関係のないプログラムに取り組む時間を見つけてください。


4

それは簡単です:あなたはそれを楽しんでいますか?あなたはそれをするために支払われていなかったなら、あなたは楽しみのためにあなたの自由な時間にそれをしますか?答えが「いいえ」の場合、プログラミングはおそらく適切ではありません。

それはあなたがそれを行うために有益に雇われるほど十分にそれを行うことを学ぶことができなかったということではありません。しかし、あなたがそれを愛していないなら、あなたはそれを決して上手くはしないでしょう。そして、もしあなたがそれを楽しんでいないなら、何がポイントですか?

私は12歳のときにプログラミングを始めました。私は、おそらくそれが生計を立てることができると気づく前に、20歳でした(そして大学の途中)。私はそれが好きだったので、私がやったことでした。

何か(何でも)が得意な人のほとんどは、生まれつきのスキルを持っているからではなく、そのことに不健康な執着を持っているからだと思います。


1
なぜ誰かがこれを否定したのかはわかりません。私はこれ以上同意できませんでした。
エンディ

たとえば、3D数学について本当に素晴らしいことを学べば、OPの仕事を楽しむことができ、3Dシステムとそれに関連する数学を学ぶのが好きです。ああ、OpenGLまたはDirectX、およびビデオカードの詳細。
ウォーレンP

2

あなたへの私のアドバイスは、C#とプログラミング全般で自分自身で時間を過ごすことです。

小さなゲームを作ります。写真を整理する簡単なツールを作成します。本当に何かを作ります。

あなた自身の個人的な時間を過ごすなら、あなたはプログラミングを楽しむことに気付くかもしれません。そうでない場合、プログラミングはあなたのキャリアではありません。いずれにしても、それで働き続けてください。

いくつかの概念を学習するのに役立つリソース:

http://msdn.microsoft.com/en-us/library/618ayhy6.aspx(C#リファレンス)


2

この前にプログラムしたことがない場合、あなたの背景はどこでしたか?ほとんどのITの役割には、パズルの一部を自動化するマクロまたはスクリプトだけがあれば、何かをプログラムする機会があります。

あなたには感情に対する権利があります。しかし、より良い質問は、このフラストレーションについて何をしているのですか?あなたは物事を考え出し、前進していますか?現在行っている作業について、どのようなフィードバックを得ていますか?それが素晴らしいというフィードバックを受け取っているなら、あなたは自分自身に非現実的な期待を抱いているかもしれません。一方、フィードバックがほとんどまたはまったく得られない場合は、いくつかの恐れがあることを理解できます。


2

Commodore VIC20でアセンブラーから始めたことを覚えています。最初は、ゲームセットの雑誌に掲載されたハッキン​​グの指示に従って、Jet Set Willyで無限の命を与えました。私は好奇心と憧れを持っていたので、自分のハックを作成し、それらがどのように、そしてなぜ働いたのかを理解したいと思いました。これが私の最初のプログラムを書くことにつながった。

重要なのは、私はかなり長い間混​​乱していたということです(6か月ほどではありませんが、おそらく3Dモデリングを開始する機能であることに同意します)が、その後、ペニーは突然低下しました。私が書いたコードがCPU命令とメモリ参照にどのように変換されるかを理解し始め、すぐに、非常に有能なアセンブラーを書くことができました。もちろん、あなたは現在CPUの20レベル上で作業していますが、適切な能力があれば、その電球の瞬間が起こると確信しています。

本当に相乗効果のあるものを作成する際に、好奇心、学び、熱狂する点を繰り返していると思います。

1つのアドバイスを提供できる場合は、「オブジェクト指向プログラミングの基本を根気よく学びます」。がんばろう。


2

あなたは基本的にトレーニングを受けておらず、難しいプロジェクトに投げ込まれました。通常、人々は、自明ではないプロジェクトを開始する前に、少なくとも3年間、物事を学習します。恥ずかしいことはありません。また、難しいと感じたらプログラミングがあなたのためではないという意味でもありません。

プログラミングの4週目でも苦労しました:P


バグの少ない自明でないプログラムを作成できるようになるまでに数年かかりました。転換点に達すると、より良くなる速度が爆発し、これは数回起こりました。最初に突破し始めたときのことを思い出すことができ、以前はできなかった方法でアイデアを概念化できました。そこからすべて下り坂でした。
ジェット

2

あなたの欲求不満は完全に正常です。3週間のトレーニングでは非常に不十分である可能性があります。あなたは、あなたの給料がかかっている難しいプログラミングプロジェクトに真っ先に投げ込まれて、プログラミングがあなたにとって正しいかどうかを知ることができません。

プログラミングが「あなたにぴったり」かどうかを本当に知りたい場合は、暇なときに新しいプログラミング言語を学び、趣味のプログラミングプロジェクトを行います。この経験(締め切りや作業のプレッシャーが頭に浮かぶことのないプログラミング経験)を楽しんでいるなら、プログラミングはあなたにぴったりです。

今... 特定のプログラミングの仕事があなたに合っているかどうか...私は個人的にはノーに傾くでしょう。あなたの不満について上司に相談し、現在のスキルセットにより適した仕事、またはより良いトレーニングプログラムを約束する仕事に就くことを検討してください。私はあなたの特定の状況の詳細を知ることはできませんが、十分な訓練時間を与えずにあなたをそのポジションに雇うことはあなたと会社の両方にとって不幸だったようです。彼らがより良いトレーニングを提供することを計画していなかったなら、彼らはあなたを雇うべきではありませんでした。それでも、ハードノックの学校は他の学校と同じくらい良い学校です。繰り返しになりますが、ここでの最善の行動は、マネージャーと話をして、マネージャーが現在のパフォーマンスをどのように評価し、フラストレーションに反応するかを確認することです。


2

それは私ですか、それともイライラするのは正しいですか?

本当に自問する必要がある質問は次のとおりです。

a)プログラミングは好きですか?b)アプリケーションが機能したら、世界で一番幸せな人を感じますか?- 答えがYESの場合、心配するのを止めて、プログラミングのスキルを学び、改善してください。

一般的に言えば、3Dモデリングは、ゲームプログラミングのようなプログラミングの世界ではまったく異なる分野です。それはあなたを怖がらせるか、あなたの興味を駆り立てないかもしれません。怖がらないで、知らないことを学ぶことでやる気を維持してください。キャッチアップして学習するために必要なものに短期的および長期的な目標を設定します。

編集:「3Dモデリングソフトウェア」は、メインストリームのプログラミング領域ではありません。したがって、他の領域(CRM、経理、ヘルスケアなど)には適用さない非常に具体的な知識/技術を学習することに気付くかもしれません。それがあなたの興味を駆り立てます。


2

3Dグラフィックプログラミングは、ほとんどの定評のあるソフトウェア開発者でさえも入らないニッチです。私はOpenGLで多くの仕事をしており、これを直接知っています。願わくば、あなたの仕事はすべて、より高いレベルでシーングラフを操作することですが、あなたが自分のようにその根底にいるのであれば。新しいプログラマーにとって、それは赤ちゃんが走っているようなものです... 100mのスプリントで... Usain Boltのようなもので...実際に赤ちゃんがレースに勝つという現実的な期待をしている人々のプレッシャーが加わりました。

しかし、奇跡が起こり、すべての希望が失われるわけではありません。

すでにこれを行っていると確信していますが、プログラミングのチュートリアルを行う必要があるだけでなく(これは非常に小さな課題です)、3Dの基礎と座標系に関することを読む必要があります。ポリゴンの描画、変換、回転(Quarterionの場合は神が助けてくれます)、マトリックスなどに関係する数学を理解します。

しかし、真剣に、あなたはこれを進めてよろしいですか?あなたにとってより重要なことは何ですか?この仕事または髪の毛一式?


1

私は最近C#に関する本を捨てました-それは私にとって価値がないからです。

しかし、私は確認できますが、フラストレーションとバグは「正常」と見なされます。

それはあなたの首の後ろに座っている締め切りではありませんが、心配しないでください。

一方、それが魅力のように機能すると、それは確かに楽しいものになります。

並外れた結果を提供するとき-彼らはあなたを「サー」と呼ぶかもしれません:)

それがあなたにふさわしい仕事かどうか、あなたの質問について-これはあなたが毎日新しいことを学びたいかどうかに依存します-どうか。また、問題に取り組む忍耐と実力があれば。

私は絶えずTDD方法論を適用していますが、学習するには数年かかります。3週間のクイックスターターコースを受講しても何も得られない可能性があります。それは、間違いを犯してそこから学ぶことです。

誰もがバグや誤動作を嫌っていますが、それとともに成長することができます。私が言いたいのは、エラーを起こす(または誘発する)ことは必ずしも悪いことではないということです。

おそらく私があなたに与えることができる最高のヒントは、物事をより小さなマイルストーンに分解することです。

設定した目標が完全に手の届かないところにある場合-これがフラストレーションの原因です。

私は任天堂のSNESでデバッグを学びました-私はhoeのように不正行為をしていて、彼らに新鮮な詐欺を提供するためにコンソール雑誌からお金を得ました。その後、Atari STを取得し、Omikron Basicをコーディングすることを学びました...そして私はまだここにいて、現在はJSウィザードとして自営業しています:)

説明したように、あなたの状況はむしろ「難しい方法で学ぶ」ということです...それよりも基本的なアプリケーションで学習することもお勧めします。適切な言語リファレンスはすべて1つのニーズであり、おそらく良い例です。


1

プログラミングには、たくさんのドライブと、自分がしていることを理解し、自分のしていることを行うのに並外れた能力を発揮するための献身が必要です。

あなたが本当に成功するためには、プログラミングは生き方にならなければなりません。希望する職業ではなく。それは抵抗器から始まり、インターネットを構成するネットワーク全体にまで及ぶ強迫観念に成長する必要があります。

個人的に、私も個人的に苦労したので、それを固執することをお勧めします。コンピューターサイエンスのフルタイム(多くの場合、1日12時間以上)を勉強し始めてから約1年と数か月後まで、私は本当にプログラマーのように考え始めることができませんでした。

私は、コンピューターに関連するインターネットで理解できるすべてのことを勉強するだけでした。プログラミングの複雑さを利用して、圧倒されるたびに頑固でやる気を起こさせました。私は他の人のコードを読んで、自分でそれを手入力するだけで多くの時間を費やしました。わからないことを見つけたら、それを調べました。毎日、私の強制的な魅力と強迫観念に深く入り込みます。(バイナリーを介してプログラムと通信するプログラミングの夢を見始めました。深すぎる!Lmao)

いつも簡単ではありませんでした。私は間違いなくいつもそれを断ち切られていないように感じていましたが、ある日、ジャッキインして、夢中になってコーディングを始めることができました。私が想像したすべての行で、それは私にとってますます意味を持ち始めました。すべてが一緒になって、数時間後にコードをより最適かつ効率的に書き直せるようになりました。

その後、プログラマになれるかどうかは疑いませんでした。本当に必要です。コンピュータ科学者に進化するために必要な暴風を克服するために必要な献身を持っている多くの人々はありません。

しかし、あなたの創造性と創意工夫から生まれた複雑なソフトウェアシステムを実際に構築できるようになったとき、あなたが感じる達成の報酬は、成功に到達するために必要な苦労をはるかに超えています。


1

自分自身に問うべき最も明確なことは、「学びたいですか」ということです。

この簡単な質問により、プログラミングが適切な確率で適切かどうかがわかります。学習が嫌いなら、いや、プログラミングは好きではないでしょう。プログラミングは、コードの記述については5%、コードの動作方法の設計については10%、より良いコードを記述してより良い設計を行う方法の学習については85%です。(そして、それは変わりません!私は8年以上プログラミングを続けていますが、それでも常に学習しています!)

もちろん、プログラミングが好きではなく、学習が好きな方もいらっしゃるかもしれませんが、学習が好きなので、いくつかのプログラムを作ってみてください!ただし、特に今では非常に多くの簡単な言語では、最初の学習曲線をあきらめることはできません。だからそこに出て、いくつかのコードを書いてください!


0

プログラミングは最初に問題を解決することです。言語は二次的です。最初のプログラムの作成を任されたらすぐに(ちなみに、最初は自分でコードを書くことはありません-すべてが書かれているため)、パズルを理解する...接続を確立します。プログラマになりたいなら、その場で。

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