はじめに
文系だけどプログラミング始めてみたい。プログラミングで就職したいと思ってる人結構多いと思います。
でも、文系の学生にはどうしても理系コンプレックスなるものがあるはずです。
理系の人たちには敵わないんじゃないか?とか、
今から始めても遅いんじゃないかと不安になるやつです。
そんな不安を打ち砕くべくこの記事を作成しています。
間違いなく文系でも理系の人と渡り合えるようになる
自分は文系商学部でプログラミングほぼ未経験だったのですが、
始めて半年で就活全勝、ベンチャーから大手IT企業まで複数社内定しました。
今回は、その経験から学んだ
間違いなく文系でも理系の人と渡り合っていけるようになる方法
をお伝えしたいと思います。
今からお伝えすることを完璧にやりきれれば文系大学生であっても、理系の学生とある分野に置いては対等に戦っていけると思います。
文系学生のプログラミングでの戦い方
では、実際にどのように戦っていくかを紹介していきます。

文系が勝つために、まずは努力する方向性を定めよう。
努力した成果を最大限に引き出すためには方向性決めが欠かせません。
特に我々文系の大学生で、しかもそれまで一切プログラミングをやったことがない人などは、方向性を間違えたら勝ち目がありません。
ただしい方向性に向かって、ガッツリ努力して、ようやく足並べられるかどうかってところです。正しい方向性を定めましょう。
では、正しい方向性を定めるにはどうしたらいいかと言うと、まずは敵を知ることです。
敵を知ろう。就活の相手はどんな人たちなのか
敵を知ることで、自分の勝てそう立ち位置を探します。
相手の得意なところに、今から飛び込んでいってもしょうがありません。
相手が出来ないところ、苦手なところを存分に伸ばして僕たちの武器にしましょう。
では、文系学生がプログラミングを活かした職に就きたいとなった時に、戦う人たちってどんな人たちでしょうか?
プログラミング就活における敵とは?
細かく分けると沢山いますが大きく分けて、プログラミング就活の一番の敵となるのが理系学生たちです。この人たちの特徴を簡単にまとめてみました。(もちろん諸説ありますし、これは個人的な感想です。またここで述べるのは研究職的な就活ではなく、いわゆる一般的な開発業務を行う企業への就活のみです。)
理系学生テンプレ
- 院生多い
- 専門的な研究分野を持っている
- 研究的なプログラミングをしていることが多い
- 仕事的なコミュ力普通に高い
- プログラミング単体に興味を持っており、ユーザー目線やビジネスなどにはあまり興味のない人も多い
という感じでした。
敵の情報から、自分の勝てそうなポジションを探そう
先ほど述べた理系学生のテンプレとこれから戦っていくことになります。分析して勝ちましょう。
機械学習などはもう大人気でここに食い込むのは至難のワザ
理系学生は院まで進んでから就職活動するケースが多いです。
ですので、みんなほぼ修士論文を書き終え、専門的な研究分野についての知識を蓄えて戦いに挑みます。
特に機械学習などの分野は今特に人気の分野で、同期にもたくさんその分野をやりたくて入社したって人がいました。
なので、文系学生で数学苦手だけど、世間で流行ってるから機械学習の勉強して就活の武器にするというのはあまりオススメ出来ません。本当に敵が多いです。
どうしても機械学習やりたいって人は、機械学習単体で突き抜けるか、機械学習と何かを組み合わせて価値を出していく必要があります。単体で突き抜ける方法は数学大好きな理系学生の研究とバチバチに真っ向勝負する形になるので覚悟が必要になります。
個人的にはなにかと組み合わせる方向性をお勧めします。
理系学生は研究的なプログラミングをしてる人が多い
いわゆる理系学生というのは、もちろん独学で勉強してきた最強マンたちもいますが、大学に入ってから授業で始めたという人も多いです。
そんな人たちは、研究的なプログラミングを得意としますが、サービス開発的なプログラミングは未経験だったりするケースも多いです。
もちろん、理系学生の中でもサービス開発のアルバイトやインターンにいき、力をつけている学生もいるのですが、理系は文系大学に比べて授業が忙しいのでフルコミットすることはなかなか出来ません。
ここは文系学生にとって大きなチャンスになります。
理系学生にコミュ力がないっていうのは嘘
まず世間で言われているようなコミュ力ない。とか言うのはほぼ嘘です。
めちゃめちゃ論理的で話しやすい方が多い印象でした。
なので、安易に文系だからコミュ力を活かそうとか考えるのはやばいです。仕事で求められるコミュニケーション能力と、遊びで求められるコミュニケーション能力はまったく別物です。
というわけで、友達と仲良く話すのが上手いからコミュ力で行こうとするのはあまりお勧めできません。
ビジネス的な視点を持ってる人は有利かも
とある短期インターンで現状のサービスの課題を自分で考えて、修正のコードを書いて発表ということをやったのですが、
参加者が僕を含めて4人。
その時、僕はプログラミングを初めて2ヶ月目のペーペーでした。もちろん周りのみんなは理系大学院生や高専出身のガッツリエンジニアの人たちでした。
しかし、そのインターンでは理系大学院生の方などにも負けることなく、運良く内定まで頂けるほどの結果を残すことができました。
その理由が、ビジネス的な視点を持った開発を行ったということです。特に意識して開発したことは、改修するコストと改修した際のパフォーマンスです。
いわゆるコスパを意識して、取り組みました。
プレゼンの際にも、何故この機能を改修が必要なのか。この機能が改修されるとユーザーにどのようなメリットがあるのか。に重点をおいて発表しました。
他の参加者の方の改修内容は技術的に難しいことであったり、価値がある内容が多かったのですが、それに真っ向勝負せずに角度ずらして戦うことで肩を並べることができました。
僕たち文系学生はどのようなポジションを取るべきか
ここまでの話をまとめたいと思います。
- 敵は研究的な分野が強い
- 研究が忙しいため、サービス開発的な分野はそこまで強くない
- コミュ力は普通にある
- ビジネス的な視点よりも、技術的な視点で開発しがち
これらを眺めると、取るべきポジションはある程度見えてきます。
ビジネス的な視点を持ち、サービス開発を徹底的に学ぶべし
我々が取るべきポジションは、ビジネス的な視点を持ち、サービス開発を徹底的に学ぶというものだと私は思います。
サービス開発のインターンなどは、理系側は研究が忙しくて時間がないという参入障壁があります。
一方、文系学生は比較的時間を作ることが簡単なはずです。これは利用するべき大きなチャンスです。
サービス開発の経験を積み、即戦力になろう
サービス開発がオススメな理由は、理系が比較的苦手としていること以外もあります。
それは、就職してから行う業務についての話です。
就職してから行う業務といえば、一般的な企業であればほぼサービス開発、運用だからです。在学中にサービス開発の経験を業務レベルで持つことが出来たとなれば、どこでだって働けるはずです。
いわゆる即戦力というやつです。
企画開発の”企画”部分の経験も積極的に積もう
小さな会社のインターンなどであれば人が足りていないことが多いですから、企画開発の企画の部分も大いに参加することが出来るでしょう。
理系の人たちの判断軸は基本的に技術的な判断に寄っています。裏を返せば、ビジネス的な判断が出来るエンジニアは貴重だということです。
インターン先で、企画から開発まで行い数値の改善を行った。などの経験を積むことが出来たならもうあなたはプログラミングの就活において理系の学生と肩を並べることが出来ているどころか一歩リード出来ているかもしれません。
努力の方向性は定まったのであとはやるのみ
ある程度勝てそうなポジションが見えてきました。
あとは、やり切るかどうかです。
僕は一番熱く働いてた時期、アプリ開発とWEB開発で週3日ずつインターンの掛け持ちして、週6日働いてました。家帰ってからや、休みの日を使って自分のサービス作ってみたりとどんどんチャレンジしてました。
我ながらイカレタ働き方をしていたと思うんですが、そのお陰で第1志望の会社に入れて、副業などして収益増やしたり、友達に誘われて開発したりとかなり楽しい生活が出来てます。
文字通り、人生を変えた1年でした。
努力の方向性は見えました。
あとは、1年真剣にやり切ってみるのもありかもしれません。
私が実践した勉強方法
私の時は、progateとか【TECH::CAMP(エンジニアスクール)】
とかもなかったので基本的にWEBと本で勉強しました。
WEBでの教材
動画で学ぶならドットインストール
ドットインストールは最高にわかりやすい教材でした。
まず最初にこれ観て、雰囲気掴んでから本とかチュートリアルやるといいと思います。
RailsのWEB教材はこれがいい。
Railsを勉強する際にいいのが、チュートリアル。
Twitterもどきを作成しながら、WEBサービスで大事なことを学べます。
本での教材
独学の不安を解消してくれる最高の一冊(Rails)
独学で勉強していて不安なのが、本当にこの書き方でいいのかな?という不安でした。
その不安を解消してくれたのが、この教本です。
初心者には結構難しかった記憶があるのですが、最高に勉強になった一冊でした。
iOSを始めるにはXcodeに慣れる必要があるのでこの一冊がよかった
iOSを開発する場合、言語に慣れるよりXcodeに慣れるほうが大変だった気がします。
なので、本見ながらゆっくり進めるのが私には向いてました。
が、僕の時代はまだObjective-Cでもよかったのですが、
今はもうSwiftの時代なので、Swift対応してる解説本がいいかと思います。
こういうの良さそう
以上!頑張りましょう!