私は塾で仕事をしていましたが、いろいろ紆余曲折ありましていまではWEBエンジニアとして仕事をしております。エンジニアとしてのキャリアは3年ぐらいなので正直あまりないのですが、開発者と平行してプログラミングの講師をやっておりました。講師の仕事は当然「生徒がプログラミングができるようになること」ですので、そこでの経験などをちょっとお話させていただきます。私が教えていたのはPHPですが、言語は関係ないと思います。知識はきかなければわからないコードの写経だけでなく、成果物を作って覚えよういきなり1つ目の結論なんですが、プログラミングができるようになるためには必ず成果物を作りながら覚えましょう。成果物というのはお問い合わせフォームや掲示板などの実際に動くものです。初心者向けの書籍やドッ○インストールなどを眺めたり、そこに書いてあるサンプルコードをただ写してもできるようにはなりません。(この作業は無駄にはなりませんが)実際に何か作りたい作品だったり、成果物を作りながら覚えるのが一番です。成果物がなければ成果物を考えるのがまず最初のステップです。難しい概念は使っていく中で覚えていくしかない写経は当然無駄にはなりません。プログラミングの概念だったり、エラーのつぶし方だったりっていうのは実際に成果物を作りながらじゃないと学べない部分がどうしてもでてきます。しないとプログラミングの考え方やコツというのが身につかないんですね。オブジェクト指向なんかがそうですが、これをコードを書かずに理解するのはほぼ不可能です。わかりやすい例なんかがたくさんあるんですが、実際に手を動かさないと使い方に関してはわかりません。これは私だけの体験ではなく、実際に生徒をみていてもポイントだけ少し、教えて実際に作品を作らせたほうがはるかに吸収がよかったです。マスターするためには自分で掲示板でもお問い合わせフォームでもいいので動くものを作りましょう。繰り返し書いたり、人のを見ているうちにどういうものかがわかってきます。語学なんかと近いとおもいますが、「プログラミングは理解が半分、慣れが半分」ですね。通り一遍の説明をうけることは無駄ではありませんが、必ず成果物を作りながら覚えないと生きた知識になりません。最初から作れない・・という人はサンプルコードにいろいろなカスタマイズやアレンジなどを加えていくのが一番力がつきます。わかりやすい説明を受けることも大切ですが、自分で学習しないとできるようにはなりません。成果物を作らずにプログラミングをマスターするのは「バッティングの本だけ読んでバッティングをマスターする」ぐらい無謀だと思います。次に必要なのはわからないことがあって詰まったときに教えてくれる人の存在です。作品を作れといいましたが、ある程度形になるものを初心者が完全に独学で作るというのはほぼ無理だと思います。プログラミングってやっていくとわかりますけど、わからないことやエラーの連続です。都度、検索していくことが必要になってくるんですが、難しい概念だったり、マニアックなことに関して独学ではどうしても破れない壁が出てきます。1箇所わからないだけでもうジ・エンドです。概念などとは別に単純に知識の有無だけでおわるようなものもたくさんあります。現実的には独学はほぼ挫折する大学生で時間がありあまっているのなら別ですが、多くの人にとってはなるべく短期間でプログラミングを習得したいとの思いがあるはずです。完全に独学でプログラミングを勉強する場合、ほぼ無理か達成できたとしてもとてつもない時間がかかります。ほとんどの人にとって人生で最も大事なものの1つは時間だと思います。プログラミングを学習していく上でかけるべき時間は当然ありますが、かけてはいけない時間も当然あります。私が講師だったときはまず授業で使うプログラムを生徒に家で写してきてもらい、次の時間にそのソースを動かし、解説するというスタイルでした。授業をするときになるとほとんどの生徒のソースは動いていません。写しはしたものの、どこかでエラーがあり、自力でエラーがつぶせないからです。中には徹夜してしらべてきたなんて生徒もいますが、それでも自力で解決できない生徒がほとんどです。私が解決をしますが、大体10分前後で終了します。知識はきかなければわからない当たり前ですが「知らないこと」というのは人に教えてもらわなければ解決しません。プログラミングの場合、わからないことはネットで調べることになりますが、ネットの情報は断片的に書かれていることがほとんどなので、前後の知識がないとわからないことがほとんどです。そこで時間を浪費してもあまり得るものはありません。ある程度、調べるのは大切ですが、時間は有限なのでわからない場合、人に聞くべきです。就職してプログラミングやっていれば当然上司や先輩がいると思いますので、わからなければききましょう。生徒にもよく言ってましたが、15分以上考えないほうがいいです。考えても解決せずに時間だけが流れることがほとんどなので。(業務でも1時間とか調べてると怒られるケースが多いです。)情報科の学生なら先生にききましょう。社会人でプログラマではないけど、プログラミングをやりたい方は講習会などに行って直接ききましょう。何も考えずにきいたら当然怒られるんで「~だと思って・・のように調べましたがわからない」のように現状の状況、どのように調査したかと自分なりの仮説を述べましょう。(何も考えずにききまくっても力はつきません。)基本的には誰か聞ける人がいて、作品を作りながらやっていくのが(特に初心者のうちは)最速だと思います。コメントをキャンセルメールアドレスが公開されることはありません。その2リーダブルコードネタ第3段。...気をつけたいトリガー系の処理など実務でひやっとすることがあり、自分への戒めも込めてメモします。その2前回のエントリーのように、データとロジックを一体で考えるのは、処理状の有効性のみならず、よりユーザー側に近い処理をかくということにもつながります。...命名規則についてリーダブルコードシリーズ第2段、名称について。コードにおいては名称がとても大切で、正しい命名づけなどはなかなか難しいです。以下に大事で重要だと思ったポイントを。...短いコードを書く私が普段コードを書くときに考えていることは常にいかに短くかけるか、ということといかにバグを生み出さないかということです。基本的にはできるだけ、短くシンプルに書くようにしています。