お前誰や.
はい,誰もが思う質問だと思います.
私は情報系の学部に在籍しているPaSeRiと申します.学部4年(B4)です.高校までは普通科に通っていて,プログラミングを学んだ期間は,大学に入ってからの3年と少しです.
気がつけばB4,進学するか就活するかを決める時がきまして,私は就活の道を選びました.そんな私が,就職活動をする中で振り返ったこの3年間を踏まえて,**私なりの「これからプログラミングを学ぶ人に向けて」**を書いてみたいと思います.
たった3つの考え方になります.誰でも思いつきそうなものですが,そこはご了承ください.誰かの参考になれば幸いです.
「これからプログラミングを学ぶ人へ」
1. 初心忘れるべからず
「あなたがプログラミングを学ぼうと思ったきっかけはなんですか?」
これ,よく就職活動で聞かれる質問の1つなんです.採用担当者がどのような意図で聞いているのかは知りませんが,私は就活関係なく,この質問に対する答えを常に頭の片隅に置いておくことが重要だと思います.
なぜなら,これがあなたを動かした最初の原動力だからです.
私のきっかけは「中学生の時,同級生がVBSを教えてくれたから」です.普通の学生だと聴き慣れない言語ですよね.RPA(Robotic Process Automation)に携わっている方であれば聞いたことあるかもしれません.Windowsで動くスクリプト言語です.
そのきっかけがあったので,自分の考えた通りに,パソコンで動くものが作れる感動を覚えました.そこから**自分の案をプログラミングで実現したい!**と理由が生まれ,進路が決まりました.
もし,これからプログラミングを学ぼうとしているなら,学ぼうと思った最初の理由やきっかけは忘れないでください.新しい言語や技術を学ぶ上で,支えになると思います.
2. 目的こそ学習意欲
目的は学習に直結すると考えています.
「iPhoneアプリ作りたいなぁ,Swiftやってみようかな.」
「人工知能に興味があるしPython使って画像解析してみようかな」
といった漠然としたもので構いません,何か興味を持ち,それを作ろう,習得しようという目的を持ってみてください.特に何かを作りたいという気持ちの効果は大きいです.
授業と同じように教科書を読んで,例題解いて,次の章へ進む.これほど独学で何かを学ぶのに非効率的な方法はないと思います.だって,作りたいものさえあれば,それを作る間に必然的に調べ,覚え,使うじゃないですか.もし,漠然としすぎてて,最終的に完成はできなくとも,そこまでで得た知識は,使いながら覚えた分,定着率も高いはずです.
実際私も,「Pythonを使って,Macの常駐アプリケーション作ってやる」と思いながら学習していました.なんで常駐アプリにPython?と思ったそこのあなた,いい質問ですね.
技術的に可能ならば,目的に対して最適解を持ってくる必要はないということです.Pythonだって,ライブラリを使えば,割と簡単に常駐アプリを作れます.Pythonを覚えたい時期と,常駐アプリでこんな機能欲しいなぁと思っていた時期が重なったので,結果こうなっただけです.むしろ,欲しいアプリがあるという目的が固まっているからこそ,Pythonをしっかり学べました.
いますぐ見つける必要はありません.何か作ってみたい!そう思った時に,新たな知識をついでに取得してみませんか?
3. あればいいのに,で終わらせない
普段何気なく過ごしていて,**「あれば便利なのになぁ」**と思うことはありませんか?誰もが便利と思うようなものである必要はありません.ちょっとした作業の自動化など,その程度のものを思い浮かべてください.
私が大学生活を過ごす中で,あれば便利だなぁと思ったことの例を以下に挙げてみます.
- 大学のシャトルバスの時刻表,PDFじゃなくてウィジェットでみれたらなぁ
- 研究で使うログのテキストデータ,中身見て仕分けるの面倒臭いなぁ,自動化できないかなぁ
- 空き教室有効活用したいなぁ,簡単に調べられたらなぁ
- 複数のプログラムを走らせる時に,その数だけターミナル(コマンドプロンプト)を実行するのは面倒臭いなぁ
こんな感じです.
もちろん,自分しかいらないだろってものが多いです.それはつまり,この要求を満たすプログラムはダウンロードしてこれないということです.そこで諦めてはもったいない.せっかく自分で書ける環境を持っているのですから,作ってみましょう.それこそ,2. で話した「目的」です.
ちなみに上に挙げた例,全て自分で解決しました.でも,実用性はないものが多いです.空き教室検索するプログラムなんて,GUIはもたせましたが,PC用なので気軽に検索できないし.しかし,作る間に得た知識は今でも活かせます.
つまり,伝えたいことは1つ.せっかくの機会,見逃してませんか?ということです.あればいいのになぁで終わらせず,無いなら作ってやるという思考に切り替えてみましょう.
最後に
成長するには,もっと重要なことはあるかもしれません.私が挙げたのはあくまで,気持ちの問題に近いところです.
プログラミング,楽しんでください,何事も楽しくないと続きません.
良きプログラミングライフを!!