ど文系が一年間がっつりプログラミングをしてみて思ったこと
こんにちは、来年春に卒業予定の大学生です。
現在、私は二年間の休学中で、後半一年間はプログラミングを結構がっつりやってきました。小さい頃から少し興味のあったプログラミングをこの間に経験できて良かったなと思っています。
そんなこんなでプログラミングをしている私なのですが、実はど文系で中学校の数学も結構怪しいくらいです。プログラミングに関わるコンピュータサイエンスの知識もゼロで始めました。
そこで、この記事では超文系(というか理系科目が苦手)である私が一年間ぶっ通しでプログラミングをし続けて思ったことについて書いていきます。
- ど文系とプログラミング1:数学は本当に必要なかった
- ど文系とプログラミング2:好きだったら天国、嫌いだったら地獄
- ど文系とプログラミング3:論理的思考力が高まる(多分)
- ど文系とプラグラミング4:一年やっても分からないことが無限
ど文系とプログラミング1:数学は本当に必要なかった
正直、これまでプログラミングを避けていた理由の多くは「先に数学を勉強しないといけない」と思い込んでいたからです。
これは、プログラミングに全く触れたことのないほとんどの人が考えていることだと思いますし、私も実際に始めるまでは本当にそうだと思っていました。
しかし、実際に一年間やってみて思ったのは「まじで数学は必要ない」ということです。アルゴリズムや機械学習に関わるなら必要らしいのですが、ほとんどの人はそこに触れないので大丈夫です。
「でも算数くらいは必要でしょ?」と思うかもしれませんが、算数はプログラミングじゃなくどの職業にも必要な能力なはずなので身につけておく必要はあります。
本当に、この一年間で数学の知識が必要だったことは全くなく(本当にゼロ回だと思います)、数字で何かを考えないといけないというタイミングも多くありませんでした。
プログラミングは理系しか出来ないと思われがちですが、数学が全く出来ない文系でも全然大丈夫です。興味がある人はぜひチャンレジを!
ど文系とプログラミング2:好きだったら天国、嫌いだったら地獄
プログラミングと聞いて多くの人がイメージするのは文字や数字がたくさん映ったパソコンのスクリーンではないでしょうか?
私も始める前はそんなイメージだったのですが、こちらに関してはほぼそのイメージ通りでした(もちろん映画で見るような汚い画面ではなくきちんと成形されたコードがほとんどです)。
なので、そういう大量の文字と数字に耐えられる人じゃないと本当に地獄だと思います。
私はプログラミングを始めたばかりの頃、エラーが大量に出た黒色のスクリーンが怖くて怖くてびくびくしながら作業をしていました。しかもそれだけ見ると凄く楽しくなさそうなんですよねプログラミングって。
それと、これはエンジニアという職業のことですがプログラミングがもし好きだったら天国だと思います。
最近は特にそうですが、エンジニアという職業自体に注目が集まっていますし比較的権限も強くなっています。それに職場環境もエンジニア用に整えられていることが多く、姿勢的には結構だらだらした感じで働けます。
しかも、一番リモートワークが浸透している職種でもあるのでプログラミングさえ出来れば(そしてそれを愛していれば)世界中どこでも楽しく働くことができます。
ちなみに、私はプログラミング自体は好きなのですが、企業のプレッシャーが高い環境で共同開発をすることは向いていないなと思いました。無念。
ど文系とプログラミング3:論理的思考力が高まる(多分)
これもよく言われることですね。私は半年くらいプログラミングをしても論理的思考力が高まった気がしなかったので、別に信じていなかったのですが、一年間続けてやってみると論理的思考力は若干強くなった気がします。
特に証明できるものでもないので難しいのですが、例えば、私は結構地頭が悪くてケース問題のような論理的思考力が求められるものは凄く苦手でした。
しかし、一年間コードを書いて問題を解決するにつれて、問題の中で何がどう動いていてどうなっているのかということを、役割別、登場人物別に分けて考えることができるようになりました。
なので、就活のケース問題もほとんど練習なく以前よりスラスラと回答できるようになっていました。
それと、プログラミングをしている人は問題に対してだけでなく、自分の人生についても論理的に捉えることができるのでストレスが低くなる傾向にあるそうです。もはやロボットですね。
ど文系とプラグラミング4:一年やっても分からないことが無限
一年間エンジニアをしてみたのですが、まだまだ分からないこと知らないことが本当に無限に出てきます(まじで無限です)。
私が主に使用してきた言語はJavaScriptで、スポーツでいうサッカーくらいのメジャーさです。そのため、調べて出てくる情報量も半端じゃありません。
毎日毎日、知らないことが出てきて調べると更に分からないことが出てきて、最終的には何を調べていたのかも忘れてしまうことがあります。
それに、プログラミングはフロントエンドやバックエンド、ネットワーク、インフラ、データベースなど色々別れているのですが少しでも自分が取り組んでいる範囲を離れると分からないことだらけになります。
例えば、私はフロントエンドがメインなのでインフラやネットワークの話になるともはや外国語です。全く理解できません。もはやインフラの話なのかネットワークの話なのかも分からないレベルです。
分からないことがたくさん出てきてそれを一つずつ着実に学んでいくというのもプログラミングの楽しいところだと思いますが、これから始めるという人は覚悟して臨むのがおすすめです!