エンジニア歴10年の凄腕プログラマが語るプログラミング学習成功の秘訣とは!?

こんにちは。松崎 新です。

プログラミングの勉強、始めている人もまだ始められていない人も、

どんな風に学べばいいんだろう…
スクールを使うにしたって、どんな人が教えてくれるんだろう…

なんて疑問をお持ちではありませんか?

今回、そんな疑問にお答えいただくべく、侍エンジニアインストラクターの山本慶一郎さんにインタビューをさせていただきました。

山本さんはエンジニア歴10年。
エンジニアになったきっかけから、その豊富な経験談、どのような思いでインストラクターとして教えているのかなど、幅広くお答えいただきました!

スクリーンショット 2017-11-28 16.00.53
山本慶一郎やまもとけいいちろう
神奈川県出身の36歳。学生時代にLinuxのインストールやサーバー構築、Webプログラミングを独学。インド系外資、Web系ベンチャー等の企業へ勤務し、自ら何でもこなすフルスタックなエンジニアになる。現在は機械学習、深層学習にチャレンジ中。エンジニア歴10年、指導歴1年。
【得意言語】Java, JavaScript
目次

ソフトウェアを作るプログラミングの可能性に気づく

mia-baker-322586-unsplash

ーープログラミングを勉強しはじめたきっかけを教えてください。

学生の時にPCスクールでバイトしていました。そこで手がけていた地域ポータルサイトのメンテナンスを任されたことがきっかけです。

そのサイトは地域のお店のホームページのリンク集で、かつてのYahoo!のようなディレクトリサイトでした。リンクの数は1万を軽く越えていましたが、すべて静的なHTMLファイルにベタ書きされていました。

以前からLinux※1に関心があり、その延長でPerl※2の入門書に取り組み始めていました。Unix※3の哲学や考え方に惹かれていたので、少し背伸びした気持ちでオライリー社の通称「リャマ本※4」を購入し、勉強しはじめました。これがプログラミングの世界に入った第一歩です。

丁度サイト管理を任せてもらえていたタイミングでしたので、それならPerlで「大量のリンクを抽出するプログラムを書いてみよう」と思い立ったわけです。

※1Linux:Mac OSやWindowsなどと同じOS(Operations System)の一つ。
※2Perl:プログラミング言語の一つ。
※3Unix:Mac OSやWindowsなどと同じOS(Operations System)の一つ。
※4リャマ本:Perl入門書の決定版と言われるオライリー社の人気テキスト本。

ーー山本さんが思う、プログラミングの魅力はどこにあると感じますか?

特に私は、オープンソースのソフトウェアに関心を持ちました。なぜかというと、ソフトウェアって形のない、無形のもので、しかもコピーが可能ですよね。

コピーができれば、無限に資産として世の中にためることができて、更に企業とかが活用すれば、豊かな循環を作るリソースが増やせる

そのソフトウェアを作るプログラミングって、とても可能性があると思いますし、極めてみたいと思うようになりました。

ーー独学からの始まりだったんですね。プログラミングを習得されるまで、大変だったことなどありましたか?

特に独学では、やはり最初の言語に慣れるまでが大変でした。試行錯誤しながら学習をはじめましたが、基本さえも未知の世界です。新しい世界に飛び込む時って、面白いけど気持ち的には大変だと思います。

私の場合は、大学時代にLinuxを扱い始めた時がそうでした。無料で使えると聞いてはいたものの、最初はどこでソフトを入手できるか分からなかったり、ミラーサイトでダウンロードしてもCD-Rへ焼く際に失敗しちゃったり。インストールもたくさんの失敗を繰り返しながら、100回以上はやってるかも…

このときに学んだ貴重な教えは「よく分からなくても検索したり試したりを繰り返せば何とかなる」ってことですかね(笑)

ーーなんでも慣れるまでが、大変だったりしますよね。外資系やベンチャーで働いていたとお聞きしましたが、どんなことをされていたんですか?

大学卒業後は、インド系外資の日本法人へ入社しました。仕事は出向する形態が多くて、保険会社で営業支援システム保守のテスターをしたり、投資信託会社のホームページディレクションを補佐したり。地味なことが多かったですね(笑)

次に入社した会社は地図を活用したWebシステム構築を手掛けるベンチャーです。Google Mapsがリリースされた後の時期で、Ajax※5やCSS※6主体のデザイン等が主流になりつつありました。

そこでPHPやJavaScript、Java等でお仕事のコードを書ける基礎を身に付けさせていただきました。

会社の先輩がとても優しく、PHPを触ったことがない自分に対し熱心に教育してくれたおかげで基礎を身につけられました。

※5Ajax:Asynchronous Javascript and XMLの略で、ウェブ開発において使用されるいくつかの技術の総称。
※6CSS:ウェブページのデザインやレイアウトなどの見栄えを変えていくためのコンピュータ言語

ーー働きながら基礎を身につけていかれたんですね!現在は何のお仕事をされていますか?

自動車メーカーの関連部品の会社で働いています、そちらでは社内SEとして、工場の生産管理システムの保守開発をしています。平日の夜や土日に、侍エンジニアでインストラクターを兼任しています。

生徒さんの応援役になりたい。1人にフィットするオリジナルレッスン

christopher-gower-291246-unsplash

ーーなぜ侍エンジニアでインストラクターをしようと思いましたか?

もともと教えることが好きだったので、空いた時間を活かして何かできないかと考えていた時に、クラウドワークスでインストラクター募集の侍さんの記事を見つけました。

面接から侍エンジニアさんの自由そうな雰囲気が伝わりました。

よく聞いてみると、インストラクターが指導する内容に関してもオーダーメードで、生徒さんのやりたいことに合わせる柔軟性があると思いましたし、しかも最新の教育に携われるというようなところが魅力的だと思いました。

ーーありがとうございます♪生徒さんによって違った内容のレッスンになり面白そうですね。レッスン中、工夫されている点を教えてください。

生徒さんの「要望は何なのか」をいつも考えています。

人柄や性格も1人1人違うので、レッスンのすすめ方なども、フィットするペースや内容はどのようにするか、考えます。

生徒さんに喜ばれるレッスンや、教材の種類が違うので、決めていくのがとても楽しいですね。私自身、侍エンジニアで働きながら楽しませてもらっています。

ーー教材もそれぞれ違うんですね!レッスンを進めていく中で、大変だったことなどありますか?

新しい技術の内容だと、キャッチアップするのに時間がかかったりします。
というのは、英語の文献のみしかなかったり、情報量自体少なかったりするんです。

今までやってきた部分は良いですが、新しいノウハウをためることになるので、追いつくのに少し大変だったりしますね。Google翻訳をつかいながら情報を集めていったりするので。

ーーインストラクターさんも、やはり努力されているんですね。侍エンジニアならではの働き方の魅力を押してください。

そうですね。場所にとらわれず、やりがいのある仕事ができることですね!

何より、生徒さんの人生を好転させることに直接関わるので、そういったことに対して大きな喜びがあります。

生徒さんと一緒に成長していけますし、レッスンを通して背中を押す応援役になれることも面白いです。

また、エンジニア不足の日本に少しでも貢献できるといったところにも魅力を感じています。

プログラミングを学びながら「創造できる人」になって欲しい

markus-spiske-207946-unsplash

ーー背中を押す応援役がいてくれたら、心強いですね。山本さんが思う、プログラミングを学ぶ上で最も重要なことは何だと思いますか?

難しいと言う先入観をとることで、そのあとは「楽しめるかどうか」だと思います!

僕の場合は、まず初めにソフトウェアを使うことに慣れることからはじまって、だんだんと使うってことが楽しいと思い始め、今に至ると言う感じですね(笑)

ーーインストラクターをやっててよかったと思うこととかありますか?

生徒さんが一つずつ難題を乗り越えたり、この人だったらこれだ、と提案して喜ばれたりする時ですね。

初めてインストラクターとして関わった時、最初の生徒さんが作った内容に対してこれはどうですか?と提案したことがあったんです。それがヒットしたと聞いて思わずニヤけてしまいましたね(笑)

一ープログラミング学習をすると、ー緒に身につくスキルは何だと思いますか?

論理的思考力です。これは、少しずつトライ&エラーを繰り返して身につきます。
その他だと、目標達成能力や、リサーチ能力ですね。検索して自力で解決する能力。何といってもググり力です!

独学の方も含め、勉強されている方は皆さんそんな感じだと思います。

余談として、これからプログラミング学習をされる方におすすめの方法が、Twitterでテックに詳しい人のコメントを見るなどすると良いですよ。

有名なエンジニアさんがいて、技術の使い方や、設計に関してはこうだ、とかつぶやいていてとても参考になるんですよ。

具体的には、その方が使っているソフトウェア名とか、Java情報などです。見てみてくださいね。

また、今後もし私の受け持つ生徒さんがスタートアップ的なことをしたいといった場合に、スタートアップを育てるようなマインドなど、フリーランスとしてのビジネススキルなんかも教えられるようにして行こうと思っています。

ーー最後に、侍エンジニアブログを見ている皆様へメッセージをお願いします!

検索であらゆる知識が入手可能な時代です。インストラクターの役割とは「走りながら学び、情報技術に適応した生き方を提示する」ことだと考えています。

侍エンジニアで、コードを書く技術、活かす技術を身につけて、共に未来を感じ、創造できる人へ進化していきましょう!

ーー山本さん、ありがとうございました!

お急ぎの方はこちらからお問い合わせください。

読み込みに失敗しました。
大変お手数ですが、本ページを再度読み込んでください。

再度読み込んでも、読み込み失敗が起こる場合は
こちらからお問い合わせください。

カウンセリングはオンラインにて実施しております。

※予約完了後に、カウンセリングのためのURLやIDなどをメールにてご案内します

1.ご希望の日時を選択してください

空きあり 満席
前週
次週

2.必須事項を入力してください

必須選択された日時

日時を選択してください

開催場所 オンライン

日時を選択する

必須お名前

必須電話番号

必須メールアドレス

    ご予約により、個人情報の取り扱いおよび利用規約に同意するものとします。

    この記事を書いた人

    【プロフィール】
    DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
    累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
    【専門分野】
    IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

    目次