「プログラミングを確実に習得する」ためのオンライン・マンツーマンレッスンCodeCampでは、エンジニア講師がどのようにプログラミング初心者を指導しているのか?
この特集では『CodeCamp人気講師インタビュー』として特にレッスンの評価が高い講師を「人気講師」としてご紹介していきます。今回はフロントエンド(HTML/CSS/JavaScript)コースやPHP,Rubyコースでレッスンを担当しているフリーランスエンジニアの石川先生に、プログラミングを習得することのメリットや学習方法などについてお話を伺いました。
【受講生からの声】
・進め方、わかりやすさがすごく良いです。
不明点に対して柔軟に対応いただき、非常に丁寧で分かりやすい講義でした!
・とてもサクサク教えて頂き、楽しく授業ができました!
わからないテクニックのリンクを教えて頂いたり。とても話しやすい講師で楽しかったです。
※CodeCampでは毎日、受講生のみなさんから
レッスンの満足度や感想をフィードバックしていただいています。
未知への挑戦が自分を成長させてくれた
-まずは簡単に、エンジニアとして働くまでの経緯やご経歴について教えてください。
私はもともと大学の専攻が情報系で、その頃からIT企業でエンジニアとして働くことを意識していました。
新卒でWeb系のシステム開発会社に入社してからは、PHPやRuby、Javaを使って開発を経験しました。主に、サーバーサイドの開発を担当することが多かったですね。
1社目では、新しい技術にチャレンジする機会を多く経験させていただきました。 社内ではまだ誰も経験したことがない技術的な挑戦を自分の実績として積んでいけたことが嬉しかったですし、その時の経験が自分のキャリアの糧になっていると感じています。
その後は、知り合いの会社に転職してエンジニアとして勤務したのち、今は独立してフリーランスエンジニアとして働いています。
-学生時代からプログラミングをされていたそうですが、始めたきっかけについて教えてください。
私が最初にプログラミングを始めたのは小学生の頃でした。インターネット上に「自分のホームページを持ちたい!」と思って、HTML/CSSを使ってサイトをつくり始めたのがはじまりです。小学6年生の頃には、自分でつくったサイトを公開していました。
中学生になってからは、小説や漫画が得意な友人のためにオリジナルサイトをつくってあげて、作品を公開するお手伝いなどをしていました。
その当時は表示される画面を見ただけではたどり着けない「隠しページ」というものが流行っていて、サイトのソースコードを読んで隠れたページを探したり楽しんでいました(笑)
今になってから振り返ると、昔苦労していたことが技術の発展によって今は簡単に実装できるようになっていたりして、当時は大変だったなという思い出がある反面、技術の進化に感動しています。
社会人になってからは、研修や実務を通じて技術について学んだり、日本語で文献がないものについては英語の情報を調べて学習したりという形で学習をしてきました。
あとは個人的に「効率化」することが大好きなので、メールのフィルタリングやキーボードのショートカット、Google Apps Script(Googleのサービスと接続して処理を自動化することができるスクリプト環境)を使って自動化することに喜びを感じたりしていますね(笑)
プログラミングでユーザーの課題を解決する
-エンジニアという職業のやりがいや面白さについてお教えください
私にとってエンジニアは「誰かの夢を実現できる仕事」だと思っています。
私自身、「何かしたい」「解決したい」など、自分からはあまり思わない性格なのですが、他の人の「不便なんだよね〜」という声には敏感に反応します。
エンジニアとして働くようになって、ユーザーの課題を聞いて解決するということを楽しめるようになりました。自分がつくったものを通じて「楽になった」「使いやすい」という声をがもらえるとすごく嬉しいですね。
あとは、プログラミングを勉強すると「世の中の構造」を今までよりも意識できるようになると思います。モノづくりの思考プロセスや、設計の苦労を垣間見ることができるようになるという感じでしょうか。
日常的に使っている便利なサービスに対して「よく練ってつくられているな〜」と感じることができたり、その逆に「結局、道具を使うのは人間なんだなぁ」と本質的な課題について思い悩んだりするようになりました。
「技術の進化」を目の当たりにして、どんなにすごいエンジニアがつくったプロダクトでもいずれは使われなくなっていくものだと思っています。
自分がこれまでにつくってきたモノもいつかリプレイスされる運命なんだろうなぁと。せめて、後からでてきたものに気持ちよく引き継げるようなコードを書きたいと思いながら日々仕事をしています。
相手が「何を目指しているか?」を大切に
-講師としてどのようなことを心がけて受講生の方を指導されていますか?
とにかくプログラミングに苦手意識を持たず好きになってもらえる、好きでいてもらえるようになることを心がけています。
もし、学習してみて自分がコードを書くことに向いていないと感じたとしても、プログラミングを理解していることでエンジニアと仲良くなれたり、プログラミングの話題で人と繋がれたりするので、まずはプログラミングというものを好きになってもらえたらいいなと思っています。
Webやプログラミングを通じてやりたいことがある人は、エンジニアと共通言語を持つことができるようになると仲間を増やしたり、人を巻き込んだりすることができるようになるので、ぜひ学習してもらいたいですね。
あとは受講生の方の学習目的に応じて、レッスンで伝える内容を変えるようにしています。
エンジニアを目指しているのか?自分で何かつくりたいものがあるのか?今の仕事や今後のキャリアに活かしたいのか?など、学習している方の気持ちを理解して目標を達成するためのコミュニケーションを心がけるようにしています。
プログラミングはエラーが出てからがはじまり
-プログラミングの初心者が躓きがちなポイントとその対策について教えてください
プログラミング初心者の方でありがちなのは、「エラーが出ることを怖がってしまう」ということで、これが一番もったいないと思います。
初心者の方で最初から完璧を目指して長いコードを書いてしまい、いざ実行してみるとエラーが出て先に進めなくなるということはよく起こりがちです。
自分がプログラミングしたコードでエラーが出ても、何か大変なことが起きるわけではないので、とにかく書いて実行、書いて実行を繰り返して細かく修正できる人の方が学習スピードが早いのではないでしょうか。
教える側としても、突き進まれてあたって砕けるというスタンスで学習している方のほうが教えがいがあります(笑)
あとは、エラーメッセージが出てもその読み方が分からないというのも、よくある躓きポイントです。システムやフレームワークによって出るエラーメッセージが違うので、慣れて読み解けるようになると学習スピードが早くなると思います。
レッスンではエラーメッセージが出た時に、どういったワードで検索すれば解決策が書いてあるページにたどり着けるのか、どう調べればいいかなど最低限の知識を身に着けられるように教えています。
とにかく、プログラミングにおいて「エラーメッセージは出してなんぼ」「むしろエラー出てからが始まり」というマインドで取り組んでもらいたいですね(笑)
プログラミングを通じて夢を実現してほしい
-最後に、これからプログラミングを学習する方への応援メッセージをお願いします
これからプログラミングを学習しようという方は、きっとプログラミングを通じて実現したいことや、なりたい姿があると思うので、その夢を原動力に頑張ってもらいたいと思っています。
プログラミングを学ぶことで、実現できることは無限に広がります。
自分がエンジニアとして開発するかどうかは別にして、世の中のエンジニアと仲良くなれるようになることでやりたいことを実現するための可能性を広げることができます。
今までプログラミングを経験してこなかった人こそ、自分の視野を広げるためにぜひプログラミングにチャレンジしてもらえたら嬉しいです。