Qiitaに初めて投稿致します。
はじめましてnew-masaです。
この夏、新たな人生を切り拓こうと、15年以上勤めた会社を退職し、
プログラミングを学び始めました。(名前のnewは、そんな意義を込めて!)
この記事では、プログラミングと機械学習の未経験者が、3ヶ月まとまった時間で、社会人の学び直しを進めた結果を記したいと思います。
Qiitaでは、経験豊富な皆さんがより専門的なことを書かれていると思いますので、その様な皆さん向けではなく、「プログラミングに興味はあるけれど、自分にできるのか」という様な、不安や葛藤の中で一歩踏み出せずにいるような方に読んで頂けると幸いです。
目次
前編/経緯編
プログラミングスクールに通うことになった経緯
プログラミングを使って何を実現したいのか
3ヶ月という短期間でなにができたのか
それって学び直し失敗
成果物いぬねこをみわけるアプリ
後編/技術編
プログラミングスクールに通うことになった経緯
まず最初に、なぜ38歳という年齢で、プログラミングスクールに通うことになったのか。
というのも、企業に勤めておられる多くの方々だとおわかりいただけると思いますが、DX化の波は、企業の中にすごい勢いで広がろうとしています。おそらく正しくは、企業の経営者を中心に、「DX化を一生懸命、社内に広げようとしている」と。
ただ、私も文系出身で、ITに対する知見も乏しく、これまでは業務上、必要最小限の範囲(Excel、PowerPoint程度)でしかスキルを磨いてこなかった為、いざ「DXを進めよ!」と号令がかかっても、業務改善に毛が生えた程度のことしかイメージできず、正直困惑していました。きっと、そういう方は少なくないと思います。
そういった背景もあってか、DXサービスを提供する企業も増えており、最近はテレビCMも含め、広告でDX関連のものを見かけない日はないと感じていました。ただ、確かにそれらサービスは便利だし、あれば今よりは良くなるように思えるのですが、なぜか導入しても、使いこなされない…。
なぜだろうと思っていましたが、私の中でなんとなく理由が見えてきました。
それは、それらサービスの導入が、全体最適ではなく「部分最適」に陥っているからだと。やり易いところから、導入しやすいところから、と最初から部分最適を出発点にしてしまうと、思わぬところで、DX導入が、余計な混乱や二重作業のムダに繋がってしまったりし、結果、使いこなされない事態に繋がってしまうのだと思い至りました。
これはDX化をリードする人間に、その視点が足りない、欠けていることから生まれる問題
ではないかと考えてきました。では、自分はどうか。
これからは、企業のどの部署にいたとしても、IT・DXと無縁でいられる人は少ないと思っています。
「自分は文系だし…」「あまり詳しくないから…」と抵抗を持ったままだと、時代に置いていかれる。そんな想いを抱きながら、「そうは言っても」とずるずる過ごした数年を断ち切るべく一念発起。
プログラミングを使って何を実現したいのか
さぁどうやって学ぼうかと考えている時に出会ったのが「Aidemy」というプログラミングスクールでした。
一番魅力的に感じたのは、”Python”をメインに学習出来る事と、プログラミングにプラス、機械学習(AI)についても学べるというところでした。
プログラミング初心者の私が、プログラミングだけでなく機械学習までというのは欲張り過ぎかなとも考え、プログラミングだけに集中的に取り組むスクールも考えましたが、プログラミングはあくまでも何かを実現するための手段であり、プログラミング自体が目的ではないはずで、では自分が何がしたかったのかと考えた際に、これまで長年携わっていた仕事で解決できなかった事を、デジタルの力で解決できるようになりたい、というのが出発点であったと、シンプルな答えに辿り着きました。
最後は「自分がどうなりたいか」「何のために学ぶのか」に立ち返り、一番興味のある範囲を学べるAidemyというプログラミングスクールにしたわけです。
ずるずると集中して学べないまま、時間が過ぎてしまった過去を断ち切るべく、まとまった時間を確保して学ぶため、また前職の会社では望むような形でスキルアップしていくことが難しいと判断し、会社を去ることにし、永らく踏ん切りが付かなかった未来への一歩を踏み出しました。
3ヶ月という短期間でなにができたのか
そうして始まったプログラミングスクールでの社会人の学び直し。
最初のPythonプログラミング の基礎的な部分は理解しやすく、プログラムがどのように記述され動いているのか、その仕組みを知ることで新たな扉が開いたような感動を覚え、いよいよ新しい自分のスタートだと興奮したのを思い出します。
ただ、次第に機械学習に学ぶ内容がシフトしていくと、途端に学習内容に付いていけなくなる…。
正直、この3ヶ月の期間中、何度も何度も挫折しました。
学んでわかったつもりになっていても、いざ自分の手を動かしてプログラムを記述、
実行したらエラーになる、そんなことの繰り返し。
しかもエラーの内容が解明できない…。
「あぁ、やっぱり私が38歳で、プログラミングの門をくぐるのは間違いだったかな」と思うことも度々ありました。
それでもなんとか最後まで辿り着けたのは、プログラミングスクールに通うことのメリットでもある、「自身で問題解決できない場面に遭遇」した際に、スクールの講師の方々がサポートして、時には一緒に問題を解決してくださったからでした。
もちろんこれには一長一短あって、理解が追い付かない中でも前に進まなきゃならない、進むことを要求されることもありますので、日々、「本当にこんなんでいいのか」「3ヶ月後に自分の力になっているのか」不安な日々でもありました。
キレイごとでまとめたくないので本音で書かせていただきますが、3ヶ月でできることはたかがしれています。それは受講前からわかっていました。学生なら何年もかけて専門的に学んできているわけですし、私が教えていただき助けていただいた講師の方も、10年前後プログラミングやPythonに携わってはじめてその様な立ち位置におられるわけで、3ヶ月でそこの域には当然追い付けないわけです。
ですから、学び終えた現在においても、まだまだ満足に応用を利かせることもままならず、プログラムにエラーが発生しても、それを一人で解決できる自信は、正直ありません。(おそらく私は受講生の中でも出来が悪い方だと思いますので、もっと高みに至られる方もおられること前提)
それって学び直し失敗
では、この3ヶ月の私の学び直しは失敗だったのかというと、まったくそんな風には思っていません。
なぜなら、3ヶ月前の私より、確実に出来ることが増えています!!
大人になって新しくできることが増えたことを実感する機会はなかなかなくなり、日々の多忙さに押し流され、そんなことを意識もしなくなってくると思いますが、今回は久々に自分が成長していることを強く味わうことができました。
そして、このプログラミングスクールでの最終目標である「AIアプリの開発」に取り組むことになります。
この3ヶ月でのなによりの自分の成果が「これ」なんです!
成果物いぬねこをみわけるアプリ
最終成果物のAIアプリをどんな題材で作るかは自由の為、ここで自分らしさや今後に繋がるものにしたい。
当初は、前職に在籍していた際に「こんなものあったらいいな」と思っていた、「これはどこで売っている?」「これはいくら(何円)くらいする?」という問いに返すことができるような「チャットボット」のAIアプリなんて面白い、とイメージしましたが、限られた期間で学ぶ内容で、メインで学ぶのが画像認識の機械学習であり、いわゆる言葉(自然言語)を扱う内容は学べておらず、また初心者には難易度も高いそうということで、まずは「自分自身で1つのAIアプリを期間内に作り上げる」ことこそが、この学び直しの目的であると考え直し、学んだ内容の延長線上で考えてみることに。
私の甥っ子が現在大好きな「恐竜」をみわけるようなAIアプリなんて出来たら面白いな!と思い、挑戦し始めたものの、そもそも恐竜は現代には化石でしか存在しないもので、世の中に画像もそれほど沢山あるわけでもなく、また、そのアプリを使ってもらうシーンを考えても、皆さんのパソコン・スマホに、恐竜の画像が保存されている方はそう多くはないだろうという事で、面白そうだけでは使い勝手の悪い、使ってもらえないアプリになってしまうなと考え直すことに。
ちなみに、格好よく書きましたが、実際は、いざ機械学習を行うための前準備として、恐竜の画像を沢山集めようとしましたが、適当な画像を欲しい数量分準備するのに非常に苦労しまして、実質的にあきらめざるを得なかった、という状態でした。
ただ、これはこれで、データも十分にないのに、作りたいAIアプリは作れない、という失敗の経験にもなり、データを集めることができるのかどうかの重要性を認識する事にもなりました。
最終的に、自分の実力も勘案し、画像が世の中に沢山存在しているという事で、
「いぬとねこをみわけるAI」の作成に目標を切替え、いざスタート!
後半では、「技術編」として、今回作成したAIアプリの制作経過を含め、
初心者の私が苦労したこと、得られたもの、そして今後どのようなことを考えているのか
記させていただきます。
前半、最後までお読みいただきありがとうございました。
後半もぜひご覧いただけますと嬉しいです。
2022.9 new-masa