![見出し画像](https://assets.st-note.com/production/uploads/images/89215688/rectangle_large_type_2_7836e8d9f25d6db847e376338cfd92a7.jpeg?width=1200)
46歳から独学でプログラミング学習を始め1000日が経ちました。
2020年1月21日から始めたプログラミングですが、早いもので今日でなんと1000日が経ちました。46歳から始めましたので現在49歳です。
これから始めよう、または始めたばかりの人に勇気を持っていただくためにも、こんなおじさんでもなんとか少しは使えるようになった経緯をまとめておこうと思います。
始めたきっかけ
学習を始めて1ヶ月経過した時にも書いたのですが、きっかけはたまたま目にした新聞記事。地元の新聞に小学生向けのプログラミング教室のことが取り上げられており、プログラミング教育も義務化されるということで知っておいたほうがいいかもというのがきっかけでした。
このあたりはどうでもいいと思いますのでさらっと。
学習した言語(学習順に)
HTML/CSS
HTML、CSSはプログラミング言語ではないらしいですが、細かいことは抜きにします。
最初はHTMLとCSSから学習を始めました。
学習方法は主にドットインストール。他にも学習サイトはいろいろありましたが、当時はドットインストールかprogateのどちらかで学習する方が多かったと思います。
独学なら動画での学習がおすすめです。
動画だと一方的に向こうのペースで進みますが、逆に無駄に時間を使うことがありません。理解しないまま進んでしまうのでは?と思うかもしれませんがそのとおり。でも理解しなくてもそのまま次に進めて全く問題ありませんでした。不思議なことにそのうちわかってくるものでした。これはtwitterで先に学習した人たちが同じようなことを言っていたのでそうしたのですが、そうして正解でした。
動画で一通りHTMLとCSSを学習したら模写をしました。
個人的に一番力がつけられたと感じたことは模写でした。模写を始めた時はあまりの出来なさに驚きましたが、これも誰もが通る道らしいです。
ググりながら模写を進めることになるのですが、このググる力がプログラミングでは重要だと感じました。プログラミングに関しては基本的にどんなことでもネットで調べれば解決できます。
調べる力は私の場合はここで身につけました。
JavaScript
HTMLとCSSの学習後はフロントならJavaScript、バックならPHP,Pythonなどに分かれるようです。
私はJavaScriptを少し学習し始めましたが途中でPHPに切り替えました。言語の特徴を理解しないままなんとなくJavaScriptを始めたのですが、データベースに興味があったのでPHPの方がよさそうなので切り替えました。
JavaScriptは入門書を1冊だけ手をつけただけです。
なので今でもほとんどJavaScriptはわかりません。サイトに動きをつけたい時はそれっぽいものをネットで探して丸ごとコピーして使っています。
PHP
PHPは主に書籍で学習しました。動画でも別に良かったのですがなんとなく書籍にしました。書籍では基本的な文法などを一通り学習して、その後YouTubeにブログを作る的なものがあったのでそちらで動画に従ってブログを作ってみました。
書籍とYouTubeの両方で学習して気がついたことは、方法はいろいろあって時間と共に変化していくということ。書籍だとどうしても発行されてからそれなりに時間が経ってしまっていて、今風ではないという部分もあったような気がします。
私が利用したYouTubeのコンテンツは現役のエンジニアさんのもので、実際に作っていく工程に触れられた気がしました。
PHPはなぞる程度でさらっと終わりにしました。
Laravel
PHPを学習していくうちに実際のサイトはフレームワークを使った方が効率がいいらしいということがわかってきてLaravelの学習を始めました。
こちらはUdemyの教材と書籍を使いました。
Laravel は結構苦労しました。コードの書き方や考え方が今までとはなんとなく雰囲気が異なり、なかなかなじめなかった記憶があります。なのであまり深く考えず、そういうものとして進めていきました。
後になってわかったことですが、フレームワークとはそういうものっぽいです。
なんにしても一番身につくのは自分で何か作ることだそうなので、仕事で使っているVBAを使用したEXCELの受発注システムと同じ物をLaravelで作ってみました。
これは本当に苦労しました。わからないことやエラーが続出し全く先に進めないことも幾度もありました。でもありがたいことにググりまくればどこかにヒントはあるもので、1ヶ月ちょっとかけて完成させることができました。自画自賛ではありますが、EXCELのものよりいいものができたと思っています。
自分で使えるものとして自動車整備履歴のアプリも作ってみました。
こちらも1ヶ月ちょっとかかりましたが、そこそこ使えそうな程度の仕上がりにはなりました。
Python
世の中ではPythonが人気があるということで手を出しました。
軽い気持ちで手を出したのですが、今現在これが一番役に立っていて、やってよかったと思っています。
こちらはUdemyで学習しました。
文法的なことはPHPとよく似ていてその部分に関してはあまり苦労はしませんでした。一つ言語を覚えると他の言語も覚えやすいのはそのためだと思います。
PHPよりPythonのほうがコードも簡単ですしわかりやすい気もします。
Streamlit
Pythonだけではブラウザに表示できないので、フレームワークのStreamlitを学習しました。これはYouTubeで学びました。
Streamlitはなかなか優れもので本当に簡単にPythonで加工したデータなどをブラウザに表示することができます。
Streamlit自体は難しくはなかったのですが、データ加工に便利なライブラリであるPandasやNumpyを身につける必要があったのでどちらかといえばそちらの方に時間がかかったかもしれません。
Streamlitでは県から提供される新型コロナのデータを使ってアプリを作りました。(2022年9月末くらいから情報が提供されなくなり更新が止まっています)
Django
Djangoも興味本位で手をつけました。
学習はYouTubeと書籍。
DjangoはPythonのフレームワークで、PHPのフレームワークのLaravelに考え方が近いものでした。
なのでLaravelで作ったものと同じ受発注システムをDjangoでもできるか試してみました。結果的にはできたのですが、比べてみるとLaravelのほうが作りやすかった気がします。あくまで個人的な感想ですが。
その他学習したもの
Bootstrap
YouTubeでPHPを学習していた時だったと思うのですが、普通にBootstrapを使っていたのでなんとなく覚えてしまいました。覚えたといっても細かいことまではわかりませんが、ボタンや表(枠?)などによく使っています。
Bootstrapの使用に関してはあれこれ言われがちですが、個人や身内で使う程度のアプリなら全くもってありだと思います。
Git GitHub
これもUdemyの教材を使いました。
Git、GitHubは使わない手はないと思います。便利すぎます。これが無料で使えるというのは全く驚きです。
おかげでアプリを簡単にとはいいませんが、少々の苦労程度でデプロイできました。
heroku
こちらは学習というよりとにかく調べまくりました。
Gitとherokuを連携させてデプロイしたのですが、言語によっていろいろルールが異なるのでおぼえるというよりその都度調べながらやったという感じです。
そしてなんとこれが無料で使えたという奇跡。使えたというのは間も無く有料になるから。普通に考えたらこんなものが無料で使えるはずがありません。かなりお世話になったサービスです。ありがとうございました。
学習時間
だいたい1日2〜3時間程度です。休日は5~6時間。
もちろん毎日そうではなく30分程度の日もありました。
ただ学習を始めて2、3ヶ月後にコロナの緊急事態宣言が出て、出勤が週1、2日になった期間が2ヶ月ほどあったので、その期間は10時間ほど学習しました。
1年半くらいはそんなペースだったと思います。
恐らくその間1日も休んでいないはずです。
その後はIllustratorやphotoshopに興味を持ち始め、プログラミングを全くしない日もあったり、アプリを作るために空いた時間はすべてプログラミングに注ぐ日もあったりとして現在に至っています。
継続できた理由
最初の頃は元プログラマーの存在が大きかったと思います。
幸運なことに相棒が元プログラマーだったのです。
学習を始めたばかり頃は本当につまらないエラーで躓くことが多く、その都度相棒に助けてもらっていました。
プログラミング学習の挫折率は9割なんてことをよく言われますが、恐らく始めてすぐの方がほとんどの気がします。
身近にプログラマーがいればそれに越したことはありませんが、経済的に余裕があるならあまり良いイメージはないのですがスクールに通うというのも一つの方法だと思います。これなら半強制的に継続は可能です。
また、メンターをつけたり、Webのサービスで質問するというのも良いと思います。メンターに関しては体験したことがないのでどういうものかはわかりませんが、おそらく困った時には力になってくれるでしょう。
Webのサービスはteratailというものがあるのですが、ここはいろいろな質問に答えてくれて、結構レスも早くとても便利です。私はこの存在を後になってから知るのですが、早くに知っていたらもっと利用していたと思います。
その後も継続できた大きな理由の一つはブログ、twitterの存在。
学習を始めてから1年とちょっとはほぼ毎日欠かさずその日学習したことをブログに書き留めました。面倒なことではありますが、これはしばらく続けていくと、やめるとさぼってるみたいな感覚になって書かないとなんか嫌な感じになります。もちろん学習しないとブログにも書けないので当然学習も継続していくことになります。
twitterに関しては、同時期に始めた人の状況がわかること。その人が頑張っていると励みにもなりますし、やめるわけにいもいかないという気にもなります。またtwitterからはいろいろな情報を入手できるので、みるだけでもいいので利用した方がいいと思います。実際、Udemy、Git、heroku等はtwitterから得た情報です。
独学でなければそういった情報も早々に得られるのかもしれませんが、独学するのであればtwitterを使わない手はないと思います。
現状
コードを書かない日の方が圧倒的に多くはなっていますが、それでも週に1、2度は忘れない程度になにかしら書いています。
会社の業務でデータの集計用に作ったpythonのプログラムや部署内で使うなぜかPHPで作ったアプリはほぼ毎日使っていますので、書かなくとも触れる機会はあります。
また、退職される方用に特設ページを作ったり半ば強制的にプログラミングに触れる機会を作ったりもしています。
基本的には会社用で使うことが多いですが、気が向いた時には簡単なアプリを作ったりすることもあります。
ですので、今後もプログラミングは続けていくと思います。せっかく覚えたことですし、何より便利なので、もうこれなしには仕事にならないということもありますし。
最後に
私は独学で学び、プログラミングで生業を立てたり、副業をしようとは考えてはいなかったので、このようなのんびりした感じになっています。
その上、その世界の実務というものを全く知らず、個人、もしくは身内だけで使っているだけなのでいろんなところがはちゃめちゃなのはわかっています。
それでも仕事に活かせて、なくてはならないと感じるくらいにはなったので続けてこれてよかったと思っています。
40半ばから始めてもこれくらいに感じられるようになるところまで来れたのですから若い方ならもっと早く、正確なプログラミングを身につけることができることだと思います。
これから始める方、始めたばかりの方にとって反面教師としてでもよいので私の経験が少しでもお役に立つのであれば幸いです。
この記事が気に入ったらサポートをしてみませんか?