記事を読むメリット
- 「文系はプログラミング無理」や「理系の方が向いてる」という誤解が解ける
- 文系とか理系関係なく「プログラミングに一番必要な能力」が分かる
プログラミングやってみたいけど文系の自分でも大丈夫かな?数学とか苦手なんだけど…
パソコンカタカタやるし、なんか難しい数式とかありそうだし、理系の方が向いてそうなイメージする
今回はこのような方に向けた記事です。
この記事を書いている僕は、プログラミングを1年独学して業界未経験でWebエンジニアになりました。
- プログラミングに文系・理系はあんまり関係ない
- プログラミングに一番必要な能力は「ググる力」
ちなみに中学の成績はオール2~3ぐらいだったので、文系・理系以前にあんまり頭は良くない方でした。
目次- プログラミングは文系でもできる?→文系でも理系でもどっちでもいいです
- 文系でも理系でもどっちでもいい理由2つ【学校で勉強したことは出てこない】
- プログラマーに一番必要な能力【ググる力】
- 文系でも理系でもない僕がプログラミングを身につけた方法【ググりまくった】
- ググることに依存したら思考力が低下するんじゃない?→しません
- まとめ:プログラミングは文系でもできる?
プログラミングは文系でもできる?→文系でも理系でもどっちでもいいです
プログラミングを勉強するにあたり、文系・理系は気にしなくて大丈夫です。
知り合いのエンジニアさんでも文系出身の人が沢山いますし、もちろん理系出身の人もいます。
文系・理系の割合も半分半分ぐらいです。
「文系だからプログラミングの勉強に苦労したよ〜」みたいな話もあんまり聞いたことがないので、
プログラミングは文系でも理系でもどっちでもできます。
僕も文系出身(※)です。
※正確には文系・理系に分けるまでもない低学力でした。自分が何系か分かりません。低学力系ですかね。
文系でも理系でもどっちでもいい理由2つ【学校で勉強したことは出てこない】
文系でも理系でもどっちでもいい理由を2つ解説します。
向き不向きとか気にせず、気楽に学びましょう。
学校で勉強したことは出てこないから
プログラミング学習において、学校で勉強したことは出てきません。
「作者の気持ち」とか「水兵リーベ僕の船」とか出てきません。
プログラミングコードは基本英語で書かれているので、英語が得意だと多少有利かもしれませんが、日本で生きてて見かける程度の英語が出来れば問題ないです。
中学2年の期末テストで英語11点(100点満点中)を取った僕でも苦しまずに身につきました。
一応、C言語やR言語といったハイレベルな言語を学んでいくと、三平方の定理や統計学などが出てきます。
なので、その点においては理系の方がちょっと有利ですが、文系がプログラミングできない理由にはなりません。
文系でも必要になったら学べばOKです。
一番必要なのは「ググる力」だから
プログラミングに一番必要なのは、暗記力でもIQの高さでもなく「ググる力」です。
プログラマーという仕事をイメージすると、休む間もなくひたすらパソコンをカタカタ打ち込んでいる様子が浮かぶと思いますが、
プログラマーの仕事の8割は「手を止めて、分からないところを探して問題点を見つけ出し、それを調べて解決させること」です。
パソコンをカタカタしてる時間は全体の2割ぐらいです。
問題点を調べて解決させるためには「ググる力」が必要です。
「ググる力」に文系・理系は関係ありません。
「Googleの検索ボックスに何と打ち込めば自分の欲しい答えが見つかるか?」
ということを考えるのが「ググる力」です。
ググる力の低い人は
「なんかバグってるけど、なんて検索したらいいか分からん」
「頑張って検索してみたけど、全然欲しい情報が出てこない」
という状態になり、詰みます。
ちなみに、ググる力は誰でも鍛えられます。
→詳細はこちらの記事にまとめました(準備中)
プログラマーに一番必要な能力【ググる力】
「ググる力」は言い換えると問題解決力です。
解決方法を調べるためには、ググらずに人に聞いてもいいですが
「人に聞く=多少なりともその人の時間を奪う行為」です。
なので、チームで作業することの多いエンジニアの開発現場で、人に質問しまくるプログラマーはウザがられます。
やたらめったら聞きまくってると
「ちょ、俺も自分の作業しないといけないから、人に聞く前に1回ググって。ググっても分からなかったら質問してね」
と返されます。
優秀なプログラマーに一番必要なのは「ググる力」です。
文系でも理系でもない僕がプログラミングを身につけた方法【ググりまくった】
僕はプログラミングを1年独学してWebエンジニアになりましたが、
文系でも理系でもない僕が身についた理由は「とにかくググりまくった」からです。
独学を始めてWebサイトが作れるようになるまで、具体的には以下のことをググりました。
- VS Codeの使い方→ググった
- 作ったWebサイトを公開する方法→ググった
- ドメインの取得→ググってもイミフだったので後日またググった
- スクロールしたら画像を下からフワッと出現させたい→ググった
- 昨日まで動いてたスライドショーが急に消えた→ググった
- 写真を1枚追加したら何故か別の画像の表示が崩れた→ググった
- JSで実装したアコーディオンがピクリとも動かない→ググった
- position:absoluteが何回やってもキレイにならない→ググった
その他にも沢山ありますが、息を吸うようにググってました。
「ググること」に対する誤解
プログラミングを学習する前の僕はググることに対して誤解し、「間違った思考」をしていました。
- 間違った思考:すぐGoogleに頼ってググったら考える力が弱まりそうだし、自分で苦労して勉強した方が身につきそう
- 正しい思考:ググれば分かることはGoogleに頼ってさっさと解決して、他の部分にたっぷり時間を使おう!
独学開始から2週間ぐらいは「間違った思考」で学習していました。
その結果、恐ろしいほど身につきませんでした。
「正しい思考」に切り替えて学習した結果、どんどんに身についていき、3ヶ月目に10万円稼ぎました。
「苦労するのが美徳」みたいな、日本の古い悪しき考えは捨てましょう。
ググることに依存したら思考力が低下するんじゃない?→しません
よくある疑問として「ググることに依存したら思考力が低下するんじゃない?」という意見がありますが、これに対する僕の考えは「低下しません」です。
結論は以下の2つです。
- ググれば分かるようなことはググって解決して他の課題に取り組んだ方がいい
- そもそもググるために脳を使っているので思考力は上昇する
まとめると「ググれば分かることをイチイチ考えてる暇があったら、ググっても分からない(=自分で考えないといけない)ことに労力を使うべき」です。
例として「好きなあの子をディナーに誘う」というシチュエーションに置き換えると以下のようになります。
- ググれば分かること…デートに誘うお店の予約方法・場所・メニューなど
- ググっても分からないこと…あの子がどんなお店が好きか
上記のデートの例では、ググっても分からない、かつデートを成功させるために一番重要な「あの子がどんなお店が好きか」についてめちゃくちゃ考える必要があります。
プログラミングで例えると↓こんな感じです。
- ググれば分かること…よくあるバグの事例・コードの意味など
- ググっても分からないこと…自分のプログラムのどこにバグがあるか・どんなコードを使ったら良いか
- 一番大事なこと…自分のプログラムのどこにバグがあるか自分で探し出すこと
ググれば分かることはさっさとググって解決させて、ググっても分からないことに労力を使いましょう。
ググること以外にも考えることは沢山あるので、ググりまくっても思考力が低下することはありません。
まとめ:プログラミングは文系でもできる?
記事のまとめ- プログラミングは文系でもできるか?→文系でも理系でもどっちでもいい
- 文系でも理系でもどっちでもいい理由は「学校で勉強したことは出てこないから」「一番必要なのは"ググる力"だから」の2つ
- プログラマーに一番必要な能力は「ググる力」
- ググる力とは「Googleの検索ボックスに何と打ち込めば自分の欲しい答えが見つかるか?」を考える力
- ググることに依存しても別に思考力は低下しない
- ググれば分かることはさっさとググって解決させて、ググっても分からないことに労力を使うべき
文系・理系の違いによるプログラミングの不向きはありません。
プログラミングは「スキル」なので、継続して学習すれば誰でも身につきます。
運転免許の取得を途中で諦めた人がいないのと同じです。
プログラミングも運転免許も「スキル」です。
身につくまでの時間に個人差はあるかもしれませんが、スキルは継続すれば必ず身につきます。
今回は以上です。
関連記事