• ベストアンサー

プログラム初心者に質問

 カテ違いはわざとです。ご容赦ください。  プロのプログラマーをやっております。  IT業界の社会人1年生、あるいは独学でプログラムを始めたばかりの人に質問です。  10月頃から一緒に仕事をしている、新人君ついてなのですが、当初彼は、プログラマーの募集に対して応募してきた人でした。  現在手がけている仕事がそう難しいものではないため、まぁよかろうと思って採用ということになったのですが……。  蓋を開けてみると……(笑) ・「変数」という言葉の意味が分からない。 ・「イフで分岐して」と言っても意味が直感的に理解できない。 ・ループ構造が書けない。 ・あげく出てくる質問は「デフォルトってなんですか?」(笑)  彼がなぜ「プログラマー募集」に応募しようと思ったのかはともかく(将来的にそうなりたいという希望だったのかもしれません)、プロとして仕事ができる状況ではなかったのです。  その中で彼がもっとも手こずったのが、「カウンター処理」です。  ループ処理の中でカウンター変数を+1していき、配列の中の値を1つずつ使っていく、という処理手法ですね。  彼は、これが2ヶ月たった今でも理解できないみたいなのです。  昔の自分がどうだったかを考えてみても、そう手こずった覚えもありません。  奥さん(プロではないが、腐女子向けゲーム作りのスクリプターをやっている)に教えたときも、言葉で言ってすぐ理解してくれました。  そう難しい問題ではないと思うのですが、一部の初心者にとって、これは難しいことなのでしょうか? という質問です。  イエスかノーで答えていただければけっこうです。  何か思うところがおありの方は、お話をお聞かせいただければと思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • miu_chan
  • ベストアンサー率51% (438/853)
回答No.1

独学で、会社でExcel VBAのプログラミングしてます。 1~2年やってますが、他の仕事で忙しいので、 正味1~2ヶ月くらい?です。 ・「変数」という言葉の意味が分からない。 →本を読みながら何とか理解できるけど、 プログラムを動かして不具合が出てから「あ!変数宣言してねぇや!」って感じ。 ・「イフで分岐して」と言っても意味が直感的に理解できない。 →If文を自分で書いたら、わかりました。 分岐、って表現ではなくて「if でそれぞれの条件を設定して」 とか言った方が、慣れてない人にはわかると思う。 ・ループ構造が書けない。 →まだやったことないけど本で見た事がある。 ・あげく出てくる質問は「デフォルトってなんですか?」(笑) →さすがに。。。デフォルトはプログラミング以外でも使ってます私。 「○○さんはデフォルトでテンションが高い人だから」とか(笑)。 プログラマ募集に「未経験者可」となっていたら、 その新人さんレベルの人が集まってきてしまうのは仕方ないと思います。 (そうじゃないなら採用した会社側の問題なので、 ここでぐだぐだ言われてもどうしようもない所です。。。) プログラマはイメージ的に「なんかかっこいい」と思ってる人も多いから。 最近はPCが身近になっているので、 自分でネット検索やメーラーの設定が出来る程度の人でも 「自分はコンピュータは得意だから!」って思いこんでるのでは? プログラミングの用語は、日頃目にしない言葉だし、 自分で書いて体感しないとわからない感覚もあるので、 超初心者向けの本をまずは1冊渡してみてはいかがでしょう?

noname#25358
質問者

お礼

 ありがとうございます。  ちなみに、その新人君はプロの人材営業マンを通して入ってきたプロパーさんで、うちの会社に新卒で入ったとか、そういうことではないのです。  おっしゃるような状況だったら、育てるのもこちらの仕事のうちってことになるんですが、あらかじめ「この人はプロです」と言われて入ってきた人だけに、「初心者の標準値」としてはどんなもんなのかなと思った次第です。

すると、全ての回答が全文表示されます。

その他の回答 (4)

回答No.5

初心者プログラマでは無いですが >・「変数」という言葉の意味が分からない。 入れる箱と考えて覚えましたね。 (ポインタ変数はちょっと癖がありますが) >・「イフで分岐して」と言っても意味が直感的に理解できない。 英語のそのままの意味で「もしも~だったら」という意味で そのまま理解できるはずですし自分も理解しました。 中学生レベルの英語力さえあればわかるはずです。 >・ループ構造が書けない。 >その中で彼がもっとも手こずったのが、「カウンター処理」です。 個人的には 1+2+3+・・・・+nまでの和をループで作らせて感覚を培ったりさせれば いいと思いますよ。 (応用としてa~bまでの数値の合計とか) >・あげく出てくる質問は「デフォルトってなんですか?」(笑) 英語を勉強させましょう。笑いというか涙もののひどさだと思いますよ。 プログラムを勉強する以前のことから始めないときついかも そもそも未経験として雇ったならしょうがないといえばしょうがないですが その新人君の努力不足に思えますね。

noname#25358
質問者

お礼

 ありがとうございます。  ちなみにデフォルトの件は、ばっちりブログのネタにさせていただきました(笑)  雇用形態としてはいわゆる「未経験者OK」ではなかったはずなのですが、どこをどう間違ったか紛れ込んでしまった、というのが実状のようです。  でも、他の方々の回答も総合して、基礎がないから時間をかけても理解できないものはできないと分かりました(^_^;

すると、全ての回答が全文表示されます。
回答No.4

一般的には、難しいと思いますよ。Excel等でIF関数等を使っていれば別ですが。 私は元工場勤務でNC旋盤というプログラムで動かす機械を使っていました。通常は簡単な命令を使ってプログラムするのですが、複雑なことはマクロを使います。 このときに、変数やIFを使いました。 しかし、私は趣味でプログラムを少しだけ勉強していましたから簡単でしたが、他の方は説明しても、「へー、難しいことやってるな」って感じでした。 ちなみに、分厚い説明書を全部読めといった上司がその発言だったので、「貴方が読めといったところに書いてあった」と言っておきました。 話はそれましたが、それぐらい一般の人には難しいのだと思いますよ。 やはり。採用時にもっとちゃんと判断すべきだったと思います。

noname#25358
質問者

お礼

 ありがとうございます。 >採用時にもっとちゃんと判断すべきだったと思います。  つまり俺の隣の隣にいるK氏のせいということですね?(笑)  K氏は、彼を採用したとき、#1#2の方々のお礼欄に書いたような理由で、この新人君はプロとしての経験がそこそこあるものだと思い込んでいたようです。  そうでなければ、採用はされなかったと思います。

すると、全ての回答が全文表示されます。
  • bari_saku
  • ベストアンサー率17% (1828/10269)
回答No.3

元プログラマです。 ・「イフで分岐して」と言っても意味が直感的に理解できない。 最近は、専門学校でフローチャートを書かせない所もあるそうです。 フローチャートをちょっとでも見たことがあれば、一発なのですがね。

noname#25358
質問者

お礼

 ありがとうございます。  たしかに、これについてはそうかもしれませんね。  昔のスパゲッティソースならともかく、「分岐」という言い方は適切ではなかったかもしれません。

すると、全ての回答が全文表示されます。
回答No.2

プログラマー募集に応募してきたなら、何かのプログラムに関わっている事が前提というのは先入観だと思います。 さらに、プログラムに関しての基本的な知識があると言うのも先入観です。 学校によりますが、構文の詳しい説明をやるとこは少なく、こうやればこうなるということしか教えないので、質問者さんが考えている内容は難しい事かもしれません。 憧れでプログラマー募集に応募したけど、プログラムを作るのは初めてという人もいます。 【学校で習ったプログラム意識=会社で使用するプログラム意識】 ではないので、各企業でそれぞれの教育が必要だと思います。 一昨年、新人としてIT企業に入った自分が思った事は、「学校で習った事が全く役に立っていない。」ってことでした。 最初は丁寧に教えてしっかり吸収させた方が、今後伸びる可能性が高いです。

noname#25358
質問者

お礼

 ありがとうございます。  はい。おっしゃるとおり、単に憧れだけでプログラマー名乗ってるのかな、という感じはしています。  ただ、今回に限っていえば、専門の営業マンを通してプロとして紹介された人なので、そういうレベルの人ではないはずだったのです。

すると、全ての回答が全文表示されます。

関連するQ&A