Written by Manabu Bannai

文系でも「プログラミングの習得」は可能です【3分くらいの解説です】

PROGRAMMING

プログラミング学習を考えている文系の人「プログラミングを学ぼうと思うけど、果たして文系の自分でも可能なのだろうか? もともと数学が苦手だったので文系で生きてきたけど、エンジニアという生き方に興味が湧いてきた。文系でも大丈夫なのか心配だなぁ。経験談を聞いてみたいな。」

こういった疑問に答えます。

本記事の内容

  • 文系でも「プログラミング習得」は可能です【文系も多い】
  • 文系だとプログラミングが難しいと言われる理由【時代遅れ】
  • 「プログラミングは難しいのか」という定番すぎる質問の回答

この記事を書いている僕は、プログラミング歴5年ほど。 フリーランスエンジニアとして生計が立つようになりまして、収益も徐々に伸びてきました。
» 参考:フリーランスエンジニアとして月収100万円を稼いだ方法

また、Twitter発信も頑張っていたら1万人フォロワーを超えることができたのですが、よく聞かれる質問があります。
» マナブ@バンコク (@manabubannai) | Twitter

プログラミング学習でよく聞かれる質問

文系でもプログラミングが習得できますか?

答えは、「圧倒的にYes」なのですが、この点を記事で深掘りしようと思います。

ぶっちゃけ僕は理系なのですが、周りのエンジニア友達は、文系出身が多いです。そういった周りの環境も考察しつつ、解説しますね。

文系でも「プログラミング習得」は可能です【文系も多い】


理由はいくつかありますが、一番にあるのは「プログラミングといっても幅広いから」です。数学的な脳ミソが要求される分野と、そうじゃない分野があります。

Web系のフロントエンドに数学はほとんど存在しない話

例えばですが、僕がメインで扱っている「Web系のフロントエンド」という分野だと、数式を使うことなんで、ほぼないですね。

数式ってよりも、「サイト訪問者が見やすい&使いやすいと感じでもらうにはどうすべきだろう…」と考えることの方が多いです。※ここをUI/UX分野と呼んだりもします。

一方で、バックエンドエンジニアと呼ばれる、いわゆるアルゴリズム(※1)を作る人たちは、どちらかというと数式を使うことが多いかなと思います。
※1:アルゴリズムとは、Aを入力したらBを返すといって、自動装置のイメージです。

とはいえ、、、難しい数式はテンプレ化されていたりするので、ぶっちゃけ「数学センスがないとプログラミングが無理」みたいなことも、あまりないんじゃないかな、と思います。

世の中には文系出身のエンジニアも多いです

僕の周りにも多いですが、文系出身エンジニアはいくらでもいますね。

Web系でいうと、「理系出身よりも文章出身の方が多いんじゃないか?」と思えるレベルです。どうしてそうなるかというと、数学的な知識が要求されない分野だからなのかな、と思いますね。

ちょっと余談として、「Web系は稼げない」と言われたりしますが、そんなこともないです。僕も含め、周りには月収50万越えが当たり前のようにいますので、「わりとガッポリ稼げる領域」かなと思います。
» 参考:【2018年】個人主義の時代に『Web系に転職』するのがおすすめな理由

文系だとプログラミングが難しいと言われる理由【時代遅れ】


そもそも、なんで「プログラミング=理系」と言われるのかを考えてみます。

ゲームを作るには「理系脳」が大切かも、という話

ゲームを作る時は「C言語」を使ったりするのですが、これは僕の主観ですが、、、とても難しい。

というのも、やってることが「ザ・エンジニア」みたいな作業でして、なんかの数式を組んで、デバッグ(動作検証)して、1つ1つ作っていく、みたいな作業でして、大学時代に少し学んだのですが、すぐに挫折しました。

その時は「僕にはプログラミングは無理か…」と思ったのですが、Web系に移動してみたら「プログラミング楽しいじゃん」と気持ちが変わりました。

なので、まずは色々触ってみる、という気持ちも大切ですね。文系出身でも、ゴリゴリのC言語を好む人もいますので。。。こうやって考えると、そもそも「文系・理系」の切り分けは不毛すぎる感じも出てきますよね。

プログラミングは文系フレンドリーになりつつある

C言語は難しいという話をしましたが、最近では変わりつつあります。

というのも、フレームワーク(プログラミング言語をテンプレ化したようなもの)が増えてきており、難しいコードがどんどん簡易化されていっています。

例えばですが、FacebookとMixiを比べると、裏側のシステムでは大差がなかったりしますので、「じゃあ、Facebookみたいなサービスを作るなら、ゼロからコードを書くべきか?」と聞かれたら、それは時間の無駄ですよね、って話です。

FacebookはGO言語というフレームワークを出しており、Twitter社はBootstrapを出しており、GoogleはAngularJSを出しています。

各社が無料でフレームワークを作ってくれていますので、エンジニアとしては「利用しない手はない」ということです。

ただ「作れるだけ」では価値が下がり続ける時代

ちょっと厳しい意見も入れておくと、「プログラミングができる」というスキルだと、今後は厳しいと思います。

その理由は「プログラミングの難易度が下がり続けている=給料も下がり続ける」という未来があるからです。

とはいえ、すぐにそういった未来が来るわけじゃないので、2018年現在からプログラミング学習を始めるのは、大いにありだと思います。 大切なのは、「ただ作れるだけじゃダメだよな」と頭の片隅に残しておくことです。

このあたりは「10年後の仕事図鑑」を読むと分かりやすいですよ。

プログラマーの将来は悲観する必要なし

もしかすると「プログラミングも自動化されるのか…」と落ち込む人がいるかもですが、現代において「プログラミングを学ぶこと」はとてもコスパが良いです。

というのも、プログラミングって給料を増やしやすいので…。

大学生とかでも月収50万を越えていたりでして、、大企業で管理職しているサラリーマンとかは涙目だったりすると思いますよ。

人生というゲームをうまく生き抜くには、「時代にあったスキル」を身につけて「効率的に稼ぐ」ことが大切ですが、そのために「プログラミングを学ぶ」という行為は、わりと正解かなと思います。
» 参考:【辞めると上がる】フリーランスエンジニアの年収事情【僕の経験談】

「プログラミングは難しいのか」という定番すぎる質問の回答


僕が思うに、「簡単ではない」が答えかなと思います。

頑張れば、確実に身に付きます

プログラミングは学習すれば身に付きますので、まずは勉強時間の確保が大切です。
さらに、基礎学習を終えたあとに、「更に学べる環境」に身をおくことが重要かなと。

プログラミング学習の結論

3ヶ月で200時間くらいは学びましょう(毎日3時間くらい)。
そして、基礎が身についたら、就職するなどして、継続的に学べる環境に行くべし。

上記は僕の結論でして、まわりのエンジニア達は、だいたいこういった感じでスキルアップしてきています。

大半の人がプログラミング学習で挫折する理由

それは、「基礎学習後にどうしていいか分からなくなる」からですね。

プログラミング学習者の心理状況はこんな感じ

  • よーし、プログラミング頑張ろう。
  • よし、プログラミング基礎が分かってきた。簡単なコードも書けるぞ。
  • しかし、、、この後はどうしたらいいんだろう…? 個人での受注は怖いし、、、就職も多分無理だなぁ…。
  • たぶんスキルが足りてないし、ちょっとデザインでも勉強しよかな…。
  • (いつの間にか、勉強のモチベーションがなくなって終わり)

こんな感じですね。 大切なポイントは「基礎が多少でも身についたら、強制的に学べる環境に行く」ということです。

バンド活動とかも同じですね。
僕は高校生の頃にバンドをやっていたのですが、日々ギター練習をしており、半年くらい練習してから学校でライブをしました。

ライブ前は「これだけ練習したし、絶対うまくいく」と思ったのですが、、、結果は大失敗。まぁ高校生バンドなので、別にいいのですが。

具体的には、「ライブ中には音の調製が難しい(うるさすぎて調製できない)」、「部屋が少し暗くて手元が見えない」、「メンバー同士の音量調整がグダグダ」、、、みたいな感じです。

プログラミングもこれと同じでして、「基礎が終わったら舞台に立つ→そこで失敗しつつ学ぶ」というのが上達の方法であり、これ以外の方法はありません。

引きこもって基礎学習しても進めません

というわけで、話が結構それてしまったのですが、下記にまとめます。

  • 文系でもプログラミングは身に付きますよ
  • プログラミングといっても幅広いので、楽しいと思える分野を探すべき
  • 最近だと、フレームワーク(テンプレ)も充実してるので学びやすいです
  • 基礎学習を終えたら、やるべきことは実践からの学びです
  • 自宅でひたすら基礎学習しても伸びません、早めに舞台に立ちましょう

こんな感じですね。
というわけで文系の皆さんは、さくっと基礎学習を始めつつ、環境に飛び込む準備をしましょう。最初はちょこっとだけしんどいですが、3ヶ月くらいで慣れますので。

プログラミングが出来ると生きやすい時代なので、ぜひどうぞ。※下記におすすめのスクール記事を貼っておきますので、参考までにどうぞ!

» 無料あり:エンジニアの僕がおすすめするプログラミングスクール3社