プログラミングやってみたけど全然意味わかんないや。やっぱり文系の自分には向いてないのかな。
先日以下のツイートをしました。
というわけで本日は
プログラミング学習は文系には向いてない?【結論と対策方法】
というテーマで記事を書かせていただきます。
この記事を書いている人
結論
まず結論からお伝えさせて頂くと、「向いてない」というのは誰にも言い切る事は出来ない と思います。
何を隠そう、わたし自身も超文系なのです。笑
どれくらい文系かと言うと、数学が嫌いすぎて高校は数学が1年生までしかない高校に行った位です。
なので数Ⅰしか勉強してません。笑
文系というか単純に数学が嫌いなだけかもしれませんが。笑
社会人になってから勉強らしい勉強をしてなかった自分は机に5分座ってることすら苦痛だったのです。
でも結果的に知識ゼロからプログラミング学習を始めて未経験からWEBエンジニアになれました。
この記事では、なぜそんな超文系のわたしがエンジニアになれたのか、対策含めまとめて行きたいと思います。
文系がプログラミング学習を始めると起こること
まず、文系がプログラミング学習を始めると以下の事が起こります。
・代入や論理演算子という言葉を聞いただけで嫌になる
・if文を理解するのにめちゃくちゃ時間がかかる
Mathオブジェクトに拒否反応
・Progateで計算とかし出すとパソコンをそっ閉じ笑
今までの人生で「数学勉強しておけば良かったな」と思う事はほとんど無かったんですが、プログラミングを始めたときは正直「数学もっとやっとけばよかったな、、」
と思いました。苦笑
なぜ文系にはプログラミング学習が難しいのか
普通ならここで挫折しそうなものですが、何故かプログラミングに心惹かれたわたしは何とかして理解しようと色々な書籍を見たりググったりを繰り返して学習を進めて行きます。
そこで、なぜ文系にプログラミング学習が難しいのか考えてみたのです。
結論としては、
プログラミングには論理的思考力が必要だからです。
論理的思考力とは、物事を順序立てて考える力のことです。
MECEやロジックツリー、3C分析などはビジネスで有名な論理的思考力のフレームワークですね。
「この事象はこうなるからこう、であるからして結論はこう」みたいなやつです。
数学や算数では公式や証明問題というのがありますよね。
あれこそまさに論理的思考力です。
ざっくり言うと「考える力」とも言えそうです。
しかし超文系の自身は小学校、中学校の頃から算数や数学が苦手でした。。笑
論理的思考力を鍛えるために行った対策
対策としてはひたすら書籍で勉強しました。
ただ年齢は32歳、
年齢的にも中々今までの苦手意識は取っ払えないのでは?
心の声が聞こえましたが、そういった声を振り払い勉強を続けました。
自分自身に対する固定概念を無くすって凄く難しいですが、意識一つで変えられるものです。
自身が勉強した書籍は以下です。
ブロガーとしても有名なちきりんさん(@InsideCHIKIRIN)の名著。
まさに自分の力で考える力を身に付けたい方にオススメです。
読み応えありますし、読み終えたあとは確実に実力アップしていることが分かりますよ。
漫画が多めのロジカルシンキング入門書。
わたしは最初はこの書籍から入りました。
まさに入門書なので、ロジカルシンキングに初めて触れる人やこれから勉強する方に最適です。
論理的思考力を鍛えるための問題集です。
ドリル形式でどんどん問題を解いていく形で楽しく解いていけます。
解説も充実しているので分かりやすいです。
if分に苦戦し絶叫(笑)
そうやって書籍などで論理的思考力を鍛えつつ、プログラミング学習も進めていたのですが、if文でかなり苦戦しました。
if文は条件分岐と呼ばれるもので、◯◯という場合はこういう処理を、△△の場合はこういう処理を、という指示を出すための構文ですが、プログラミング学習を始めて間もないわたしは部屋で絶叫。笑
今思えば大して難しい話でもないんですが、先入観が邪魔をしていたんだと思います。
「わたしは論理的思考力が弱い」、「数学が苦手」と自分で決めつけていたんですね。
今思えばこれが良くなかった。
自分で自分を「出来ない」と決めつけて思考停止していたのです。
なのでこういった思い込みを捨てて、根気強く学習を進めて行きました。
重要なマインドセット
「最後まで諦めなかった人が成功している」という言葉がありますが、プログラミング学習において凄く重要なマインドセットだと思います。
周りで相談できる人がいない
X(旧Twitter)やSNSでは凄い人が沢山いるけど自分は、、、
こうなってくると挫折するのも時間の問題です。
そんな時こそ「最後まで諦めなかった人が成功している」という言葉を思い出してほしいのです。
他人は他人、自分は自分です。
文系にオススメのプログラミング言語
文系にオススメのプログラミング言語はずばり、フロントエンド関連だと思います。
フロントエンドエンジニアとは
フロントエンドエンジニアとは、一般的にウェブサイトやアプリのフロントエンド側の設計・構築・カスタマイズを行う職種です。 "フロントエンド"とは、ユーザーとウェブサイトが直接接触する要素を指します。 例えば、ウェブサイトを閲覧する際、ユーザーはウェブブラウザを利用することになります。
出典元:マイナビジョブ20's
フロントエンドが学習するべきはJavaScriptですが、JavaScriptに入る前に必ずHTML/CSSを勉強すると思います。
HTML/CSSは厳密にはマークアップ言語というものでプログラミング言語ではありません。
HTML/CSSは言葉が悪いですが"ある程度適当“に書いてもサイト上で動かす事が出来ます。
プログラミング言語であれば、少しでも誤字や記述に間違いがあるとエラーの嵐となります。
なのでまずHTML/CSSでプログラミング言語に入るための予行練習をすると良いと思います。そこでWEBの楽しさをまず知る事が、今後のプログラミング言語の挫折のしにくさに繋がります💡
実際わたしはそうでした。
いきなりC言語とか、バックエンドとかやってたら楽勝で挫折していたと思います。苦笑
HTML/CSSに関してはデザインに関する要素も大いにあるので、文系の方でもとっつきやすいと思いますよ♪
終わりに
以上のように、考え方、やり方次第で文系でもプログラミングを勉強してエンジニアになることは可能です。
バリバリ理系思考の方と比べるともしかしたら成長スピードはゆっくりかもしれません。
やはり長年生きてきた思考の癖、粘り強いorすぐ投げ出しがち、など、性格面も関係するので一筋縄でいかないこともあるかもしれません。
でもそんな時こそ「最後まで諦めなかった人が成功している」という言葉を思い出して下さい。
やる気が出ない日はやらなくても良いと思います。眠ければ寝ましょう。笑
大事なのはゆっくりでも良いから積み上げることです。
気づいたら始めた時には考えられない所に辿り着いてますよ。
では本日の記事は以上となります。
いつもお読み頂きありがとうございます✨
また明日の記事でお会いしましょう。
おしまい✨