トピック

50代リスキリング挑戦記(2) 大苦戦したが夢は広がる 学習の“成功”と“捨てた”もの

50代で唐突にスタートした「リスキリング」。20年近く「プログラミングできたらいいなあ」と思い続けながらも諦めてきたが、一念発起し「Yahoo!テックアカデミー」でプログラミング学習に挑戦した(編集部)。今回は、実際の学習で苦労したポイントやYahoo!テックアカデミーのプログラムで良かった点、学習のために“捨てた”ものなどについて紹介します。前回記事はこちら。

プログラミング学習は想像以上に苦戦

Slackを使ったチャットサポート

50代で始めたプログラミング学習は、想像どおり、いやそれ以上のハードさだった。10行読み進んでも内容がまったく頭に入ってこず、冒頭まで戻ってもう一度読むの繰り返し。実際にパソコン上に開発環境を作り、手を動かしながら学習を進めていくのだが、ただ指示通りにコマンドを入力しているだけになっていることも多く、各章の終わりの演習課題に取り掛かる段階で初めて、実は全く理解できていなかったことに気付くことも。

ただ幸い、質問すれば「メンター」がすぐ答えてくれるチャットサポートがある。

学習上のコミュニケーションで使われたのは、業務で利用する企業も増えている「Slack」というツール。

週末も含む毎日15時から23時の間は、ここで質問をすると現役エンジニアでもあるメンターの方々がチャットでサポートしてくれる。待ち時間もほとんどなく、質問回数の制限もないので、答えてもらってもうまくいかなければ追加で質問もできる。長い時では30分から1時間近く、チャットでサポートしてもらった。

チャットで質問しにくい場合はビデオ通話での個別相談が利用できる(Yahoo!提供)

チャットだけでは難しいこともある。例えば「自分の作業のどこに間違いがあるかもわからない」時などだ。

そんな時には「個別相談」が使える。19時から23時の間にSlackで個別相談を申し込むと、Google Meetのビデオ通話で対面しながら最大15分間のサポートが受けられる。画面共有もしながら見てもらえるので、自分の間違いポイントがわかるだけでなく、エラー原因の突き止め方も理解できた。個別相談も特に利用回数制限はなく、空いていることも多かったので必要になればいつでも割とすぐ使うことができた。熱心な受講生は毎日のように申込んでいたようだ。

行き詰った時はカリキュラムを中断 別の勉強方法を模索

最も苦労したのは、「オブジェクト指向プログラミング」のところだった。

全体カリキュラムの中でも重要な部分なので、半端な理解で進んでしまうよりはと、一度Yahoo!テックアカデミーでの学習自体を中断し、別の道を探った。

受講生専用画面の目次一部

Amazonで人気の入門書を一冊購入し、そちらでもう一度勉強することにしたのだ。不思議なもので、以前入門書を買った時にはちんぷんかんぷんだったが、今度はそうはならなかった。そして切り口が異なる解説を読んだことで、Yahoo!テックアカデミーのカリキュラムの内容も理解できるようになった。またネット上には数多くの、初学者向けのプログラミング講座コンテンツがある。それらも検索して片っ端から読んでみた。

独学だと、何をどう調べればいいのかもわからず戸惑うことが多いが、今回はボリュームたっぷりのカリキュラムに沿って学習しているのでそこで悩むことはなく、どんなキーワードで探せばいいかもテキストやメンターとのやりとりの中で見つけられた。

細かくチャプターに分かれていて進捗管理もしやすい専用画面

正直、「Yahoo!テックアカデミーのカリキュラムは、もう少し詳しくてもいいんじゃないか」と不満を抱いたこともある。広範囲の学習内容をわずか4カ月間弱で学び終えなくてはいけないという事情もあるのだろうが、いざ演習課題をやろうとすると、学んだ内容だけでは不十分で、ネットで検索して答えを探し回らないといけないことも多いのだ。

HTML/CSSで同様の経験を積んできた自分ですら四苦八苦しながら検索しまくったので、そうでない人にとってはさらに難易度が高かったんじゃないかと思う。

ただ全カリキュラムを終えた今ならわかる。この4カ月間で習得したことの中でもっとも重要だったのは、「わからないことがあったら、インターネット上で検索し自力で答えを見つけだすスキル」なのだと。

教科書の内容を1から100まですべて理解し記憶したからといって、それでできるプログラミングなんて限られている。プログラミング言語だって進化しているし、途中で必要な言語が変わることもある。必要な情報を自力で探しだすスキルが不可欠だ。

最後の演習課題は「日報管理システム」の作成

目安として提示されていたスケジュールより一週間ほど早く、全35レッスンの34までを終えた。最終レッスンは個人開発演習で、「日報管理システム」を作るというもの。

ログインすると、トップページには自分の日報一覧が並び、編集もできる。他の人の日報も閲覧できるけど編集はできない。ユーザ情報を登録・編集・削除ができるのは管理者権限を持つユーザのみ。右上にログインしている人の名前とログアウトするためのリンクをだし、必須項目の入力漏れがあったらエラーメッセージも表示する───といったシステムの要件や画面構成の詳細が提示されていた。

よくあるシステムだが、いざ作ろうと思ったらもう大変。

ログインユーザ情報をどう取得すればいいのか、それに基づいてその人の分の日報情報だけ絞り込むには何が必要なのか。テキストを読み直しても答えは見つからず、必死に調べまくることに。

Spring Tool Suite 4(STS)を利用してプログラミング

どうしても突破できない壁にぶつかり、夜中の3時過ぎまでエラーと格闘し続けたことも何度もあった。プログラミング作業にはどこか中毒性のようなものがある。睡眠時間を削ってでも途中で中断したくなくなるのだ。あともうちょっとエラー解消できる気がして、トイレに行く時間すら惜しくなった。

メンターサポートも活用しまくり、最後の演習課題に取り組んでいる間は連日のように質問し続けた。毎回本当に丁重に説明してもらえ、そして必ず一言「難しいのによく自力でここまでこれましたね」「この調子です!」など褒めたり励ましたりしてくれる心遣いもありがたかった。

「期限内の完成はもはや無理なんじゃないか」と何度もあきらめかけたが、最後のエラーも無事解消して、要件定義のとおりに日報管理システムが稼働した時には、泣きたいほど感動した。

全カリキュラムが終了して歓喜

週2回のメンタリングにヤフーのエンジニアとの「1on1」が月2回

Slackでのメンタリングとは別に、各受講生に1人ずつ専属メンターがついて、週2回ビデオ通話での25分間メンタリングも行なわれる。

活用法は受講生によってそれぞれかなと思う。転職を視野に入れている人であれば、キャリア相談タイムに使うこともできるし、日々の学習の中でわからないことを質問することもできる。個別相談と違って同じ人が継続してフォローしてくれるので、その人ごとの学習目的やニーズにあわせたアドバイスなどももらえる。私は学習方法についてのアドバイスをもらうことが多かった。

個人的に非常に大きな価値を感じたのが、ヤフーのエンジニアとの「1on1」だった。「1on1」とは、一般的に上司と部下が1対1で面談を行ない、抱えている悩みを引き出したりサポートをしたりするもの。

Yahoo!テックアカデミーでは、月2回・各45分間の「1on1」が組まれ、月ごとに相手が変わるため全部で4人のエンジニアの方とビデオ通話でコミュニケーションをさせてもらった。

現役エンジニアといっても、実際には管理職としてチームを率いている立場の人なので、直近はプログラミングよりマネジメント業務がメインの方々。キャリアも長く、決済システムからECまわり、検索やグルメコンテンツの構築など様々な分野の開発を手掛けてきた方もいて、全員が複数のプログラム言語を業務で使ってきていた。

チームメンバーの育成にも携わっている人達なので、プログラマーとして適正があるのはどんな人か、自力でスキルアップしていくにはどういった方法があるのかといった質問にも、非常に納得できる回答を返してくれた。また自分が今後作ってみたいWebアプリの話をすると、何を参考にしたらいいかなど非常に具体的なアドバイスももらえた。後半では、カリキュラムとは別にPHPの学習を始め、個人的なWebアプリ作成にも着手していたので、「次の1on1までに作り込んで、動いているところをお見せしますね!」などと宣言し、それを励みにプログラミングを進めたりもしていた。

「やはりYahoo!の人はすごいな」

が率直な感想だ。今回4人の方と計8回の1on1をさせてもらったが、そのすべての回に満足している。プログラミングの醍醐味についても語ってもらえ、またChatGPTや昨今のAI・機械学習に関する見解などの話もとても興味深かった。

正直、自分に必要だったのは55万円もする転職用総合カリキュラムではなく、テックアカデミーの「PHP/Laravelコース(174,900円~)」で十分だったんじゃないかと後から気付いた次第だが、Yahoo!テックアカデミーでなければ、Yahoo!エンジニアとの1on1の機会はなかった。なので後悔はしていな…い…、いやでもやっぱり専門コースにすべきだったかな……ちょっと微妙。

覚えたばかりのPHP/Laravelで店舗情報管理システムを作る

Yahoo!テックアカデミーの全カリキュラムが終了してから、ちょうど一カ月が経過した。その間もプログラミング三昧の日々だった。

カリキュラム終了前から、Udemyの動画講座も活用してPHP/Laravelの勉強を始めた。運営している「東京ビアガーデン情報館」というサイトに、店舗情報管理システムを作るためだ。JavaではなくPHPにしたのは、そのほうがレンタルサーバに組み込むのが楽だからだ。

1on1でもPHPが現実的だろうとお墨付きをもらっていた。

PHP/Laravelでのプログラミング画面

約一カ月の試行錯誤の結果、サイトに掲載しているビアガーデンの情報をすべてMySQL上に作ったデータベースに移し替え、PHPを使って画面表示する方法に切り替えることができた。

そして店舗関係者にユーザ登録をしてもらい、管理画面からビアガーデンの開催期間や営業時間、メニューなどを入力してもらえれば、瞬時にその更新がサイトに反映させられるシステムが完成した。

これは17年間このサイトを運営する中でずっと欲しかったシステムだ。

今までは毎年、店舗関係者からもらった情報を、私が毎日コピペ作業を繰り返して更新していたからだ。今後は店舗関係者が写真の更新もできるよう作り込みをしていく予定だ。

ひよこプログラマーの夢は広がる

今回作った店舗情報管理システムの基本構造は、Yahoo!テックアカデミーのカリキュラムで作った「日報管理システム」とほぼ同じ。JavaとPHP、Spring BootとLaravelという違いはあれど、日報管理システムで習得した方法を転用して作ることができた。ひとつの言語を学べば他もいけるというのは本当だった。おそらく今ならPythonもそれほど苦労せずに覚えられそうだ。

初歩的なプログラミング知識があれば誰でも作れるごくベーシックなものだが、長年欲しかったシステムを数週間で完成させられたことで、自信もついた。

作りたいもののアイディアも次々生まれている。

ひとつは、認知症の人をサポートする、声だけで動かせるアプリだ。

高齢の母をサポートしてくれるスマートディスプレイ

認知症の初期症状が現れた母のスケジュール管理と生活サポート用にAmazonのスマートディスプレイ「Echo Show」を購入したところ、自分が思っていた以上に重宝して使ってくれ、音声操作だけでいろいろな情報を引き出せるようになっていた。Echoシリーズ製品上で動かせる「Alexaスキル」(スマホアプリのようなもの)は、一般の人が作ってリリースすることができるので、高齢の親のサポート体験を活かし、何か試しに考案し作ってみたいと思う。

今まで「あったら便利なのに」と思いながら探すだけで終わっていたものが、今は「自分でも作れるんじゃないか」という気持ちに変わっている。実際に作れるかどうかは今後のスキルアップ次第だが、プログラミングを学習したことで可能性はぐっと広がった気がする。

リスキリング成功に必要な「時間」をどう捻出する?

最後まで挫折せずに学習できた要因は何かと聞かれたら、最初の答えがこれだ。

「支払った金額」

そう、55万円は自分にとっては大金だった。それだけ一括払いしておきながら2カ月3カ月で「やっぱり無理でした」と泣く泣く諦めるなんてありえないし、カリキュラム終わったけど何の役にも立たずなんていうわけにもいかない。

何が何でも元はとらねば。

記憶力も気力も十分にある若い人なら、ネット上の無料コンテンツをフル活用して気合でプログラミング学習する方法もありだが、残念ながらそうではない我々中高年は、やはりサポート体制もしっかり整った有料オンラインスクールを賢く活用するという方法がいいのかなと思う。

Yahoo!テックアカデミーに限らずオンラインプログラミングスクールは今たくさんあるし、それ以外にもUdemyなどの動画教材が役立つ。

あと、時間の捻出方法も重要だ。

今回のYahoo!テックアカデミーは、1日2~3時間の学習時間でトータル320時間が学習の目安とされた。自分の学習時間も300時間は余裕で越えていると思う。

これだけの時間を確保するのは、「頑張ろう」だけでは無理。日々の生活の中から何かを削ったり、生活ルールを変える必要がある。

プログラミング学習のため飲酒をやめる

私は「飲酒」をやめた。完全断酒ではなく、時折外で友人と飲むことは許容しているが、実際に飲酒したのは1月から5月までの間でわずか5回。それまでは夜、自宅での夕食時に缶ビールを1本プシュっと開けることも多かったが、ノンアル飲料か炭酸に切り替えた。すると食後にまたパソコンに向かってプログラミングの学習ができる。21時から24時までで3時間。

飲み会も基本的にはソフトドリンクで通したので、帰途の電車内でスマホを使っての学習ができた。お酒が入っていれば集中力は続かず、すぐSNSなど見始めてしまっただろう。脱アルコールは、翌日のパフォーマンスアップにもつながる。集中力も続くのでいつもより仕事を早めに切り上げることもでき、それも学習時間の確保につながった。

プログラミング学習を終えた後に作りたいものを最初に決めておいたのもよかったかなと思う。

専属メンターとのメンタリングや1on1の時にも具体的な質問をすることができたし、同時並行で着手することで、「次の1on1までに完成させて見てもらおう」などモチベーションを維持して作業を進めることができた。

最終目標が転職という人も、レンタルサーバを契約して何かひとつWebアプリを組み込んだサイトを作ってみるというのはありだと思う。例えば投稿型の近隣エリア飲食店データベースなど。データベース設計やユーザ認証機能の実装も必要になるし、地図APIを活用したり、スマホでもパソコンでも見やすいインターフェース作りに挑戦すれば、学習内容の定着にもなる。さらに転職活動では、「これを一人で作りました」と提示して、工夫した点や苦労したけど克服したポイントなどをアピールできるんじゃないだろうか。

気になるYahoo!テックアカデミー第2期の募集は?

ここまで読んで、「Yahoo!テックアカデミー」に興味を持ったという方もいるかもしれない。6月21日時点で、まだ公式サイトに次の募集情報はあがっておらず、広報に問い合わせたが「次期募集時期は未定」とのことだった。

おそらく今は第1期の卒業生の転職サポートを行なっている最中だと思うので、そうしたフィードバックも盛り込んでカリキュラムをブラッシュアップしてから、第2期の募集を開始するんじゃないかなと勝手に推測している。

Yahoo!テックアカデミー担当者にお話を伺えることになったので、次回は第1期に参加したのはどういった人達だったのか、就職サポートやプログラミング学習を成功させるコツなどご紹介したい。

和田 亜希子