- 締切済み
新入社員プログラマーですが周りについていけません
文系出身新入社員プログラマーの22歳の女です。 今月入社致しました。プログラミング経験はないです。 今は研修期間で、C言語を学んでいるのですが、周りに全くついていけていない状態です。 同期も文系卒のプログラミング初心者が何人かいますが、その同期は自分でプログラムを組めるのに私だけが組めません。何をすればいいのか、どういう風に書けばいいのか考えればいいのかわからないのです。 研修中に質問したりもしますが、何度聞いても何を言っているのか、どうしてそのコードを書くのか理解できません。 もちろん帰宅後や休日も参考書などを使って遅くまで勉強はしていますが、それでもどうすればいいのかわからないのです。勉強の仕方が間違っているのかもしれません。参考書を読んで載っているコードを書いて、あとは章末の問題を解いて…(わからないときはページを読み直したり)を繰り返しているのですが、それでもできません。まず専門用語なども中々理解できなくて辛いです。 C言語を学び始めてから食事も中々喉を通りませんし、精神的にとても苦しく、情けないのですが行き帰りの電車の中で泣いてしまっています。 1ヶ月しか経っておらず、まだ仕事の内容もわかっていないのにこの状況です。 向いていないのではと思い、転職も考えましたが、転職するにもこの早さで辞めても流石に先があるとは思えないので出来ればしたくないです。頑張りたいです。 同じような悩みをお持ちだった方や業界の方、いらっしゃいましたら勉強方法、仕事の仕方のアドバイスなど宜しくお願いいたします。
- みんなの回答 (59)
- 専門家の回答
みんなの回答
- aunnnn
- ベストアンサー率0% (0/0)
”これはあなたの人生です。 自分の好きなことをやりなさい。 そして、どんどんやりなさい。 何か気に入らないことがあれば、それを変えなさい。 今の仕事が気に入らなければ、やめなさい。 時間が足りないのなら、テレビを見るのをやめなさい。 人生をかけて愛する人を探してるなら、それもやめなさい。 その人は、あなたが好きなことを始めたときにあらわれます。 考えすぎるのをやめなさい、人生はシンプルです。 すべての感情は美しい。食事を、ひと口ひと口味わいなさい。 新しいことや人々との出会いに、心を、腕を、 そしてハートを開きなさい。 私たちは、それぞれの違いで結びついているのです。 自分のまわりの人々に、何に情熱を傾けているのか聞きなさい、 そして、その人たちにあなた自身の夢も語りなさい。 たくさん旅をしなさい 道に迷うことで、新しい自分を発見するでしょう。 ときにチャンスは一度しか訪れません。しっかりつかみなさい。 人生とは、あなたが出会う人々であり、 その人たちとあなたが作るもの。 だから、待っていないで作りはじめなさい。 人生は短い。 情熱を見にまとい、自分の夢を生きよう。” NYのとある会社のマニフェストです。 専門的な部分は他の方に任せるとして。 最初はだれでも似たようなものです。 あまり肩肘張りすぎず、頑張ってくださいね。
- qcte
- ベストアンサー率0% (0/0)
それはお辛いですね…。 そこまで辛いとなると、教える方にも良くない点があるのかもしれないですね。 あまりご自分を責めすぎないように。 プログラミングは、学び始めが一番難しいと思います。 ある程度勉強が進み、慣れてくると結構スムーズに勉強が進んだりするものです(あくまで私の場合ですが)。 ですから始めは周りのことは気にせず、ゆっくりと自分のペースで勉強されてみてはどうでしょうか。 C言語というのは結構難しい言語だと思うので、かえってRubyなんかを触ってみて、プログラミングというものに慣れてしまうというのも一つの手かもしれません。 要は勉強の仕方というのはいろいろあるので、自分に合ったものが見つけられるといいですね。 どこでつまづいているのかは、やはり対面に近い状況でないと見抜きづらいと思うので、親切で教え方の上手い人を見つけて、しばらくはその人に頼る、というのが一番いいとは思うのですが。 とにかくわからないところはすべて人に聞いてしまうのがベストだと思います。 会社内に限らず、だれかそういう人が身近に入るといいのですが。
- tanakanono
- ベストアンサー率24% (134/553)
研修が一番つらいと思います。職種によりますが、配属されてしまえば0から書くことは少ないと思いますし、研修のようなストレスも少ないと思います。 ベンチャーに近いとほぼ0から書くというのがほとんどだと思うので、最初はつらいかも。 とりあえず研修は乗り切って、配属後にどんな雰囲気の職場なのかで判断されたほうが良いと思いますよ。
- mahiru_sg
- ベストアンサー率0% (0/0)
C言語がわからないということですが、プログラム言語全般がわからないのだと思います。 プログラム言語の最初に詰まることといえば、おそらく以下のいずれかではないかと推測しました。 (1)printfとか#includeとかが何かわからない (2)x=x+2などの式とか変数がわからない (3)ifとかforとかの制御構造がわからない (4)関数の呼び出しとかローカル変数とか返り値がわからない (5)そういうのは分かってるけどどう組み立てていいかがわからない そのあたりは分かってるよというのであれば以下は読み飛ばしてください。そのレベルであれば他の回答にもあるような参考となる本を読んでプログラム組んでいればいずれ組めるようになります。 (1)printfとか#includeとかがわからない場合 これは少なくとも当面は暗記するものだと思ってください。 意味はあるのですが、その意味を理解するまでにかかるのははるか先にしておいた方が効率的です。 (2)x=x+2などの式とか変数がわからない 「なんでx?そもそもxに2足したものがxってそんな数値なんて存在するはずないし。そもそもどうして値をいれたものが中身が変わるの?」 もしここで詰まっている場合、考え方が中学生の頃の方程式で止まっているか、グラフ構造をなんとなくで逃げてきてしまっているので、本音をいうと中学校数学を勉強しなおすことをお勧めします。 そんな時間がないのであれば、「x=1とはりんごが1つ、x=2はりんごが2つ、x=x+2は今あるりんごが2個増えたらいくつ?」と具体的に考えてみてはどうでしょうか? (正直この説明で分かるかどうか自信がありません) (3)ifとかforとかの制御構造が分からない 「if (x==1 or x==2) { x=x+2; }とか言われてもxが1かxが2以外の時とかが気になる、またはx=x+2のことを考えているうちにxがなんだったか忘れてしまう」 変数を扱うキャパシティが未成熟なケースですね。めんどくさいとは思いますが、当該コードを印刷して「今はx=1、x=x+2;実行後にx=3」とコメントを書きながら、変数の変遷を追えるようにしてみてはどうでしょうか? 本当の意味でifとかforの意味がわからない場合は(1)にあるように覚えるしかないです。 (4)関数の呼び出しとかローカル変数とか返り値がわからない 「main()関数でx=2といってるのに、sub()関数でx=3とか入れてる意味がわからない。どうしてsub()関数の中での処理結果がmain()に伝わらないかもわからない」 これはそういうものとしかいいようがないのですが、変数を扱うキャパシティが未成熟だと混乱しやすいのはたしかです。 もし自分でソースコードを書き直すことができる環境であれば、main()関数内の変数はmain_x、sub()関数内の変数はsub_xのように関数名つきで書き換えると処理を追いかける際の混乱は避けられるかもしれません。 (5)そういうのは分かってるけどどう組み立てていいかがわからない 一つ一つの(C言語の)文の意味は分かるけど、「じゃ、1から10までの数字の合計を表示するプログラムを作ってみて」と言われると、何から手をつけたらいいのかわからないような場合 2つ方法があります。 1つ目。あまりお勧めはしませんが、全部暗記する方法。門前の小僧習わぬ経を読む作戦。論理的な思考なんて後回し、全ては記憶力でカバーという、ある意味若いうちなら通用する方法です。 簡単に書きましたが、ここでいう覚えるとは「暗記する」です。暗記の方法にまでは踏み込みませんが、少なくともお題を言われたら何も見ずに全部書き出せるようにしてください。 2つ目。日本語を読み解く作戦。実はプログラムを仕様通り作るという仕事の大半はあまり理系の能力を必要としません。すごい高速化とかすごい効率化とかするなら話は変わりますが。 先の例でいえば「1から10まで」で「変わる変数が必要」「forで回す(whileでもいいですけど)」、「合計」で「加算、つまり+」、「表示」で「printf」と読み解きます。 あとはこれの組み合わせですね(変数の宣言とかは除きます)。 sum=0; for (x=1;x<=10;x++) { sum=sum+x; /* sum+=x;でもよい */ } printf("sum=%d\n",sum) 要するにある目的を達成するのに対して、何をしていけばできそうかというのを日本語で書き起こしていくことができれば、それが最終的にプログラムになります。 私はフローチャートを書くことに対しては否定的ですが(記憶領域の無駄だと思う)、どうしても書いた方がわかりやすいというのであれば書いてもいいかと思います。 ただ、行き帰りに泣きたくなるのも、食事も喉が通らないのも、たいていの仕事ではよくあることなので、適度なストレス発散方法は身につけることをお勧めします。
- taclow2001
- ベストアンサー率0% (0/0)
プログラム言語はとても不自由な言語です。言葉はせいぜい50ぐらいしかありません。 その言葉を組み合わせて、なんとか機械に人間のしてもらいたい動作をやってもらうのが、プログラム言語です。 サンプルの答えを自分なりに日本語にしてみて下さい。幾つか日本語に訳してみるとパターンが分かって来るはずです。 日本語で、機械にやってもらいたい作業を分解出来れば、あとはそれをプログラム言語に訳すだけです。 慣れるまでは、プログラム言語で考えるのは無理です。慣れるとどのパターンを組み合わせればいいのか自然と出て来るようになります。 焦らず、日本語でじっくり考えるようにして下さい。
- mahutianshi
- ベストアンサー率0% (0/0)
まず、深呼吸しましょう。 次に自分が理解できない一番簡単なプログラミングの例題を選んで、どこがわからないのか書き出してみましょう。『全部が」ではダメです。1つでも複数個でもいいから、わからない事を書く。 終わったら一番話のしやすい先輩に例題と書き出した「わからない点」のメモを持って会話してみましょう。質問が明確なら忙しい先輩の手間ヒマが軽減されます。 会話しているうちに、きっとあなた自身が一番最初に解決すべき事に気づくと思いますよ。 プログラミングの適性の有無なんて、本人にしかわかりません。文系出身で20年やってる私のようなのもいるんだから大丈夫。
- koichiroo
- ベストアンサー率0% (0/0)
こんにちは。29歳からプログラムを始めてもうすぐ3年が経つ者です。 私も最初はC言語から初めて苦労した記憶があります。 まずはじめに、「C言語は難しい」です。これははっきり断言できます。 そもそもプログラムを書いて動かす環境の準備が初心者向きではないからです。 また、プログラムに必要なほぼ全てが詰まっているので難しいです。 初心者がいきなり手を出していいものではありません。 初心者はPythonというプログラム言語が一番だと思います。 正直、あなたの会社は教育が古すぎると感じます。 組み込み系の職種なのでしょうか? 前置きはさておき、まず1ヶ月で出来ないのは当たり前です。心配しないでください。 同期の初心者の方が出来ると書かれてますが、本当は初心者ではないのでしょう。 どこかで少し本を読んだことがあるとか、興味があってアプリの作り方を調べてみたことがあるのかもしれません。 勉強方法ですが、英語は読めますか?読めると世界が広がるので、時間があれば勉強をおすすめします。 参考書はなんでもいいのですが、「プログラミング言語C 第2版 ANSI規格準拠」が一番良いです。 これを読めるレベルが「C言語を最低限出来る」ということです。 私も苦しかったですが、頑張って読みました。問題は解いても解かなくてもいいと思います。 これを繰り返し何度も読んでください。わからない言葉はネットで検索しましょう。 また、プログラムの書き方ですが、英語と同じで文法という決まりがあります。 書き方に疑問を持つのは無駄です。そう書くものだと諦めてください。 仕事の仕方ですが、「わからないところをわかる」のが大事です。 質問をするときも、何がどうわからないかを説明できるのが理想です。 投稿者さんは真面目な方だと思うのですが、もう少し気楽にいきましょう。 新卒のうちはなんでも聞いて良いのが強みです。じゃんじゃん聞いちゃいましょう!! 大変だと思いますが、頑張ってください。
- Nekonos5
- ベストアンサー率0% (0/0)
私はC言語の初めの一歩を理解するのに3年ほどかかりました。 それまではBASICという言語でガンガンにプログラムを書いて、雑誌に投稿するくらいだったのですが、C言語を習得しようとし始めて、BASICとC言語の考え方の違いにとまどい、克服するのに3年ほど必要だったのです。 いったんわかってしまえば、あとはノリノリで書いていけるようになったのですが、その最初のきっかけをつかむまでが大変でした。 当時もやはり「プログラミング言語Cを読め」だの「K&Rを読め」だのアドバイスをもらいましたが、私には何の役にも立ちませんでした。 自分の場合の考えかたの転換点は、以下のようなものです。 C言語は、main()を起点(頂点)として、そこから条件に応じて分岐していく巨大なツリーです。関数 xxx()というのは、その巨大なツリーを構成するパーツにすぎません。 (業務として作成するプログラムは、その関数を作っていく作業です) 質問者さん、 main()で、Hello World. を画面表示するところまで行きましたか? 概念的な説明だと、いつまでたっても堂々巡りするだけで時間の無駄です。 具体的に、どんな内容でつまづいているのか、書いてしまったほうがアドバイスが着きやすいですよ。
- petronius1
- ベストアンサー率0% (0/0)
あまりに気の毒に思いましたので、会員登録をして回答します。 まず「プログラミングという困難な課題に果敢に立ち向かう姿勢」が素晴らしいと思います。 現在では私が社会人になった十数年前よりも様々な技術が進んでいますし、コンピュータの普及が進んだことで新卒学生のプログラミングスキルも平均としては向上しています。そうするとあなたのように、学生時代に経験のなかった方が、遅れをとってしまうのがかつてよりもずっと目立ってしまうと思います。 さて、2つ大事な質問があります。あなたはプログラミングを好きになれそうですか? もうひとつはあなたの会社の規模です。 好きになれそうも無いのならば、まずは研修は「勉強」と割りきったほうがいいと思います。プログラミングを通して、社会勉強をすると思うのはどうでしょうか。 他の人には簡単なものがあなたには難しいとしてもそれでいいのです。別段、それはあなたの知性が劣っているからではありません。 しかし、プログラミングには社会で役立つ様々な知恵やスキルが潜んでいます。 複雑な問題を、バラバラに分解して一つ一つ確実に解決してやり遂げる。 一つの手順の次に別の手順を積み重ねてゴールに到達する。 状況に応じて、実施する手順を状況に応じて切り替えることを予め織り込んで計画を立てる。 ある条件が成り立つまで繰り返す。 この4つが学べれば十分だと思います。 回りのことは気にせず、プログラムが動いたときの達成感をえながら勉強してください。 さて、お勤めの会社はどのくらいの規模でしょうか? 従業員が数百人から数千人規模の会社であれば、研修の後に配属を決めるためのプロセスがあると思います。 その過程で、どのような職種につきたいのか希望を聞かれるはずです。 好きになれない職種につきたいなどとは絶対に言ってはいけません。 まともな会社ならば、適正がないことを本人が自覚している職種には付けないはずですし、すくなくとも付けないように努力するはずです。そんなことをしてもあなたにも会社のためにもなりませんから。どのような職種につきたいか、きちんとした考えを早めに固めたほうがいいと思います。 小さな会社だとそこまでの余裕がないこともありえますが、その時は転職も考える必要が生じるかもしれません。 配属が決まった後にもう一度ご質問なさってみるといいと思います。
- MUGI1208
- ベストアンサー率0% (0/0)
同業者です。むぎ@SEと申します。 他の方が既に詳しい回答をされているので、私は簡潔に伝えますね。 情報技術や理数系の勉強は、みんな順を追っていかないと読み解けないものが多いです。勉強のコツは、まず基本的な考え方を理解すること。順を追っていくことです。 イメージが出来てない状態でどんどん先に行っても習得に時間がかかってしまいます。 冒頭が読みやすい、わかりやすい自分のレベルにあった参考を探して1ページ1ページ理解していくこと。あとは行き詰まったらすぐ人に聞くことです。(先輩に沢山質問できるのは、新人の特権です。) 文系出身で活躍しているSEも沢山います。苦手意識を持たずに楽しんで下さいね。