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

プログラミング学習を考えている文系の人「プログラミングを学ぼうと思うけど、果たして文系の自分でも可能なのだろうか? もともと数学が苦手だったので文系で生きてきたけど、エンジニアという生き方に興味が湧いてきた。文系でも大丈夫なのか心配だなぁ。経験談を聞いてみたいな。」
こういった疑問に答えます。
本記事の内容
- 文系でも「プログラミング習得」は可能です【文系も多い】
- 文系だとプログラミングが難しいと言われる理由【時代遅れ】
- 「プログラミングは難しいのか」という定番すぎる質問の回答
この記事を書いている僕は、プログラミング歴5年ほど。 フリーランスエンジニアとして生計が立つようになりまして、収益も徐々に伸びてきました。
» 参考:フリーランスエンジニアとして月収100万円を稼いだ方法
また、Twitter発信も頑張っていたら1万人フォロワーを超えることができたのですが、よく聞かれる質問があります。
» マナブ@バンコク (@manabubannai) | Twitter
プログラミング学習でよく聞かれる質問
答えは、「圧倒的にYes」なのですが、この点を記事で深掘りしようと思います。
ぶっちゃけ僕は理系なのですが、周りのエンジニア友達は、文系出身が多いです。そういった周りの環境も考察しつつ、解説しますね。
文系でも「プログラミング習得」は可能です【文系も多い】
理由はいくつかありますが、一番にあるのは「プログラミングといっても幅広いから」です。数学的な脳ミソが要求される分野と、そうじゃない分野があります。
Web系のフロントエンドに数学はほとんど存在しない話
例えばですが、僕がメインで扱っている「Web系のフロントエンド」という分野だと、数式を使うことなんで、ほぼないですね。
数式ってよりも、「サイト訪問者が見やすい&使いやすいと感じでもらうにはどうすべきだろう…」と考えることの方が多いです。※ここをUI/UX分野と呼んだりもします。
一方で、バックエンドエンジニアと呼ばれる、いわゆるアルゴリズム(※1)を作る人たちは、どちらかというと数式を使うことが多いかなと思います。
※1:アルゴリズムとは、Aを入力したらBを返すといって、自動装置のイメージです。
とはいえ、、、難しい数式はテンプレ化されていたりするので、ぶっちゃけ「数学センスがないとプログラミングが無理」みたいなことも、あまりないんじゃないかな、と思います。
世の中には文系出身のエンジニアも多いです
僕の周りにも多いですが、文系出身エンジニアはいくらでもいますね。
Web系でいうと、「理系出身よりも文章出身の方が多いんじゃないか?」と思えるレベルです。どうしてそうなるかというと、数学的な知識が要求されない分野だからなのかな、と思いますね。
ちょっと余談として、「Web系は稼げない」と言われたりしますが、そんなこともないです。僕も含め、周りには月収50万越えが当たり前のようにいますので、「わりとガッポリ稼げる領域」かなと思います。
» 参考:【2018年】個人主義の時代に『Web系に転職』するのがおすすめな理由
【2018年】個人主義の時代に『Web系に転職』するのがおすすめな理由
Web系への転職を考えている人「Web系の企業に転職したいな。転職して後悔しないように、業界の内情やその後のキャリアなどを知っておきたいな。」←こういった疑問に答えます。本記事の内容:1.IT業界ならWeb系への転職をオススメする理由/2.Web系に転職した際の具体的なキャリアプラン/3.個人が力を持つ時代、Web系転職はオススメです
文系だとプログラミングが難しいと言われる理由【時代遅れ】
そもそも、なんで「プログラミング=理系」と言われるのかを考えてみます。
ゲームを作るには「理系脳」が大切かも、という話
ゲームを作る時は「C言語」を使ったりするのですが、これは僕の主観ですが、、、とても難しい。
というのも、やってることが「ザ・エンジニア」みたいな作業でして、なんかの数式を組んで、デバッグ(動作検証)して、1つ1つ作っていく、みたいな作業でして、大学時代に少し学んだのですが、すぐに挫折しました。
なので、まずは色々触ってみる、という気持ちも大切ですね。文系出身でも、ゴリゴリのC言語を好む人もいますので。。。こうやって考えると、そもそも「文系・理系」の切り分けは不毛すぎる感じも出てきますよね。
プログラミングは文系フレンドリーになりつつある
C言語は難しいという話をしましたが、最近では変わりつつあります。
というのも、フレームワーク(プログラミング言語をテンプレ化したようなもの)が増えてきており、難しいコードがどんどん簡易化されていっています。
例えばですが、FacebookとMixiを比べると、裏側のシステムでは大差がなかったりしますので、「じゃあ、Facebookみたいなサービスを作るなら、ゼロからコードを書くべきか?」と聞かれたら、それは時間の無駄ですよね、って話です。
FacebookはGO言語というフレームワークを出しており、Twitter社はBootstrapを出しており、GoogleはAngularJSを出しています。
各社が無料でフレームワークを作ってくれていますので、エンジニアとしては「利用しない手はない」ということです。
ただ「作れるだけ」では価値が下がり続ける時代
ちょっと厳しい意見も入れておくと、「プログラミングができる」というスキルだと、今後は厳しいと思います。
その理由は「プログラミングの難易度が下がり続けている=給料も下がり続ける」という未来があるからです。
とはいえ、すぐにそういった未来が来るわけじゃないので、2018年現在からプログラミング学習を始めるのは、大いにありだと思います。 大切なのは、「ただ作れるだけじゃダメだよな」と頭の片隅に残しておくことです。
このあたりは「10年後の仕事図鑑」を読むと分かりやすいですよ。
プログラマーの将来は悲観する必要なし
もしかすると「プログラミングも自動化されるのか…」と落ち込む人がいるかもですが、現代において「プログラミングを学ぶこと」はとてもコスパが良いです。
というのも、プログラミングって給料を増やしやすいので…。
大学生とかでも月収50万を越えていたりでして、、大企業で管理職しているサラリーマンとかは涙目だったりすると思いますよ。
人生というゲームをうまく生き抜くには、「時代にあったスキル」を身につけて「効率的に稼ぐ」ことが大切ですが、そのために「プログラミングを学ぶ」という行為は、わりと正解かなと思います。
» 参考:【辞めると上がる】フリーランスエンジニアの年収事情【僕の経験談】
【辞めると上がる】フリーランスエンジニアの年収事情【僕の経験談】
「フリーランスエンジニアの年収事情を知りたい。フリーランスになると年収が上がると聞くけど、実際のところどうなんだろう?具体例や実体験ベースで知りたいな。」←こういった疑問に答えます。本記事の内容:1.フリーランスエンジニアの年収事情【辞めると上がる】/2.フリーランスエンジニアの年収アップより素晴らしいこと/3.年収と自由時間を増やしつつフリーランスエンジニアを目指す方法
「プログラミングは難しいのか」という定番すぎる質問の回答
頑張れば、確実に身に付きます
プログラミングは学習すれば身に付きますので、まずは勉強時間の確保が大切です。
さらに、基礎学習を終えたあとに、「更に学べる環境」に身をおくことが重要かなと。
プログラミング学習の結論
そして、基礎が身についたら、就職するなどして、継続的に学べる環境に行くべし。
上記は僕の結論でして、まわりのエンジニア達は、だいたいこういった感じでスキルアップしてきています。
大半の人がプログラミング学習で挫折する理由
それは、「基礎学習後にどうしていいか分からなくなる」からですね。
プログラミング学習者の心理状況はこんな感じ
- よーし、プログラミング頑張ろう。
- よし、プログラミング基礎が分かってきた。簡単なコードも書けるぞ。
- しかし、、、この後はどうしたらいいんだろう…? 個人での受注は怖いし、、、就職も多分無理だなぁ…。
- たぶんスキルが足りてないし、ちょっとデザインでも勉強しよかな…。
- (いつの間にか、勉強のモチベーションがなくなって終わり)
こんな感じですね。 大切なポイントは「基礎が多少でも身についたら、強制的に学べる環境に行く」ということです。
バンド活動とかも同じですね。
僕は高校生の頃にバンドをやっていたのですが、日々ギター練習をしており、半年くらい練習してから学校でライブをしました。
ライブ前は「これだけ練習したし、絶対うまくいく」と思ったのですが、、、結果は大失敗。まぁ高校生バンドなので、別にいいのですが。
具体的には、「ライブ中には音の調製が難しい(うるさすぎて調製できない)」、「部屋が少し暗くて手元が見えない」、「メンバー同士の音量調整がグダグダ」、、、みたいな感じです。
プログラミングもこれと同じでして、「基礎が終わったら舞台に立つ→そこで失敗しつつ学ぶ」というのが上達の方法であり、これ以外の方法はありません。
引きこもって基礎学習しても進めません
というわけで、話が結構それてしまったのですが、下記にまとめます。
- 文系でもプログラミングは身に付きますよ
- プログラミングといっても幅広いので、楽しいと思える分野を探すべき
- 最近だと、フレームワーク(テンプレ)も充実してるので学びやすいです
- 基礎学習を終えたら、やるべきことは実践からの学びです
- 自宅でひたすら基礎学習しても伸びません、早めに舞台に立ちましょう
こんな感じですね。
というわけで文系の皆さんは、さくっと基礎学習を始めつつ、環境に飛び込む準備をしましょう。最初はちょこっとだけしんどいですが、3ヶ月くらいで慣れますので。
プログラミングが出来ると生きやすい時代なので、ぜひどうぞ。※下記におすすめのスクール記事を貼っておきますので、参考までにどうぞ!
» 無料あり:エンジニアの僕がおすすめするプログラミングスクール3社
無料あり:エンジニアの僕がおすすめするプログラミングスクール3社
おすすめのプログラミングスクールが知りたい方向け。本記事ではニーズ別に3つのプログラミングスクールを比較しました。オンライン完結で学びたい方、教室に通いたい方、英語もセットで通いたい方の3パターンです。これからプログラミング学習を考えている方は是非記事をご覧ください。