【振り返り】37歳でプログラミングを始めたノンエンジニアが思うこと

## 自己紹介
30代後半でプログラミングを始めた動画プロデューサー・クエリイターのShunです！いまはプログラミングコーチングJISOUでお世話になりながらReactの学習をしています。コーチングを受ける様になったのは、約1年前から独学で学び始めたPythonがきっかけです。1年間1人で学習してきたのですが、そろそろフロントエンドも学びたいなと思ったときに、モチベーションを上げたり維持するのに、人の力を借りたいなと思い、プログラミングコーチング？面白そうだなと思って門を叩きました。
Reactの学習については他の記事で書いているので、今回はReact学習に至るまでの、独学でやってきたPythonのプログラミングをなぜやってきたのか、どんなことをやってきたのか書こうと思います。

## プログラミングに至る道
自己紹介にも書いた通り、私はエンジニアではないキャリアを30数年歩んできました。webエンジニアは同僚にいましたが、自分でコードを書くことはないまま30代後半になっていました。興味は持ちつつも、入門書を読んでも学習モチベーションが上がらないプログラミング...プログラミングスクールに行ってみたけれど挫折して何十万円か溶かしたこともあります。そんな私ですが、2年前に会社員から個人事業主になり、同僚が0という環境になりました。データの取得や分析をしたいのに頼めるデータエンジニアもwebエンジニアもいない...けどデータ分析はしないと仕事が進まない。そんな環境になりました。
スクレイピングやPowerAutomateなどのノーコードツールでしのいでいましたが、あまりにも効率が悪い！メンテがめんどくさい！という時にChatGPTが登場し、プログラミングが一気に楽になりましたGPT3の頃にコード生成を試したこともあったんですがその頃は、相談できる感じじゃなかったのが、相談しながらコード作ってもらえる感じになって一気にやりやすくなったんですね。
そんなこんなで、仕事の効率を上げるために必要 & AIが助けてくれるからプログラミングし易い という2つの要因によって、ついに自分でプログラミングをする様になりました。
会社員で同僚がいたらこんなにプログラムを書くことはなかったと思うのですが、周りにいないので自分でやらざる終えない＆効率化すると仕事の進みがめっちゃ良くなる（端的にいうと収入が増える）というのがモチベーションを押し上げてくれました。

## 作ってきたもの 
（動画の専門家なので動画関連ばかりです）

・YouTube Data APIから定期的にデータを取得し、競合分析に必要なYouTubeの情報をLookerで可視化するシステム
（CloudFunctions→BigQuery→Looker）
※元々は社内のエンジニアに頼んで作ってもらっていたものを個人事業用に完全に一人で内製

・撮影した動画の素材をWhisper に投げつけて文字起こしするスクリプト
（MP4をMP3に変換してファイルサイズを小さくして分割→Whisper→レスポンスをSrtファイルとして読み込める様に加工→Premire）
※Premireの文字起こしが精度があまりよくなかったのでWhisperで精度を改善するためのもの。srtというファイルに変換したりタイムコードをうまくあてる処理を実施

・テロップを多言語に翻訳してYouTubeにアップロードするスクリプト
（日本語で作ったテロップをDeepLやGoogle Trasnlate APIに投げて、翻訳した結果をYouTubeにアップ）
※70言語ぐらい翻訳してアップロードしようと思うと手作業だとキツいので自動化したもの。翻訳料金がかさむのでそこをどうセーブするかが難しかった。

・動画の制作を効率化・強化するプログラム（開発中）


・株の自動売買プログラム（思考錯誤中）
この辺を見ながら開発中。
https://www.oanda.jp/lab-education/api/usage12/rading_view_oanda_api_automated_trading_system/
https://qiita.com/danieltanaka/items/eaf04fd3f847966bc9d9
（手動で運用した方が成績がいいのが悩みの種です。）

という感じで、色々1年で作ることができました！どれも自分がユーザーで自分の作業を楽にするために作っているので、webアプリにはしていません。ですが、やろうと思ったらwebアプリやデスクトップアプリで配布もできるし、何より自分がユーザーなので作ったけど使われないというのがないのが、開発していて楽しい事でした。Pythonの学習・開発はリズムができて生活習慣の1つといえるぐらいまで定着してきたので、今度はフロントエンドの学習をしてみようということで1ヶ月少し前からフロントエンドの学習をプログラミングコーチングの力を借りながら始めました。


## プログラミングをおすすめしたい人
私は動画の専門家で、エンジニア転職を目指しているわけではないのですが、プログラミングを学んでいます。そして学んでとても良かったと思っています。システムやデータの流れ、クラウドのサービスについて詳しくなると、じゃあこんなものを作ってみようというのが次々思いついてきます。これはユーザーの事や現場のペインが分かっている非エンジニアだからこそ、なのではないかと思っていて、「現場の課題に詳しい当事者だからこそ、本当に必要なものに気づくことができる」ということなんじゃないかなと思います。

エンジニア転職するためにプログラミングを学ぶというのは本流ですし、もちろんそれでいいと思うのですが、エンジニアになるわけじゃないけど、プログラミングを学ぶというのも1つの選択肢だと思います。

自分がプログラミングをする様になって始めて気づいたことなのですが、いろんなプロフェッショナルがAIを使いながらプログラミングする様になると、世の中で解決できていない課題をどんどん解決できる時代が来るんじゃないかと思います。消防士や医師がプログラミングを学んだり、市役所で働く人、というか仕事関係なく、誰でも、プログラミングを学べば、世の中もっと便利になるに違いない！と思う様になりました。
「エンジニアに頼んで作ってもらう」のと、「課題が分かっている自分が作る」というのはめちゃくちゃ違うということです。エンジニアにお願いするのはハードルが高いし、コストもかかるので、「まぁ手動で（誰かにお願いして人力で）がんばればいっか」としていることって世の中無数にあると思うのですが、自分で作れる様になると、その発想が根本から変わるんですね。この感じをもっと多くの非エンジニアに知ってほしいなと思います。「必要は発明の母」といいますし、現場にいる人達からソフトウェアが生まれてくる時代って、今までにないものが出てくるのではないかと感じています。

AIで要件定義からテストまで開発工程の一連の作業が自動化されていく時代がもう目の前まで近づいてきているかと思うと、現場のペイン、現場のニーズ、業界特有のニーズ、そのドメイン（業界）の解像度が高い、というのはめちゃくちゃ価値だと思います。つまり、AIに「xxxxとxxxで困っているからxxxの課題を解決して」とプロンプトをかけるかどうか。これが価値になる時代ですよね。そしてそのプロンプトはネット検索では見つからない、現場で汗を流した人からしか見つからないことなのではないかと。非エンジニアの人ほど持っている知識や知見なのではないかと思ったりします。

エンジニア転職を目指さない人こそ、プログラミングを学ぶといいことがあるよ！と声を大にして叫びたいと思います。そして昔に比べて全然コストもかからないよ！ということもお伝えしたい。

## 今後の私
動画の専門家×プログラミング で新しいビジネスを作ろうと思っています。Qiitaでも継続的に進捗を発信していきたいと思いますのでぜひ応援してください！