こんにちは。
文系からプログラマになったもので、現在はJavaプログラマとして会社で働いています。
この前、会社で少し採用関連のイベントに関わったのですが、そのときにこんな意見を聞きました。
- 文系からプログラマを志望していますが、きついと聞くので不安です。
- 文系出身プログラマでも大丈夫なのでしょうか。
分かりますよ、、私も同じ道をたどってきた者ですから。
文系からプログラマになろうと思っている方で、同じような悩みを持っている方は多いと思います。
これに関して僕の回答は以下です。
インターネットで検索していると、「文系プログラマはきつい」という記事が多数ヒットしますが、物事は両面から見ることが大切です。
文系からプログラマはきついこともあるのですが、必ずしもそうではない場合もありますので、この記事では両方の側面をご紹介したいと思います。
文系プログラマがきつい理由と半分ウソな理由
文系プログラマがきついと言われるのは、ぶっちゃけ以下の3点でしょう。
- 勉強がきつい
- 理想とかけ離れていてきつい
- 劣等感がきつい
1. 勉強がきつい
プログラマは一生勉強し続ける職種だと言われています。
理由は単純で、世の中の技術は日々進歩しているためです。
当たり前ですけど、スマートフォンを一人一台持っている世の中で、ガラケーの技術を勉強してもあまり意味がないですよね。
しかし、10年前はガラケーが使われていたわけですから、ガラケーの機能拡張を目指すガラケーエンジニアがいたことになります。
彼らは今、おそらくスマホアプリエンジニアになっていると思いますが、ここから分かるのは「今の技術が10年後には使えない可能性がある(10年後にはその時の最新技術を勉強する必要がある)」ということです。
勉強するのが得意でない人がプログラマになると、勉強が苦痛になるので「きつい」と感じるわけですね。
また、文系からプログラマになった人は、理系の人に追いつくために短時間でより多くのことを勉強しなければならないはずです。
- Tips: プログラマは常に勉強し、技術を更新し続ける必要がある
- Tips: 文系プログラマは、最初はより多くのことを勉強しなければならない
このあたりが「文系からプログラマになるときつい」と言われる理由です。
しかし、勉強が好きなタイプの方がプログラマになると(私)、毎日がとても楽しかったりします。
毎日、自分の知らない新しいことに巡りあうのが楽しいんですよね。
ですので、勉強が好きな人にとっては何の苦痛でもありませんし、きついとも思いません。
勉強に関する自分の考え方次第で、きついかどうかは分かれてきます。
2. 理想とかけ離れていてきつい
プログラマを目指す人は、プログラマについて理想の姿や憧れを持っていると思います。
「バリバリなんでもこなす、スーパーハッカー」や「何でも自動化して時間を作り出すスキルがある」などです。
私は今もその憧れを捨ててはいませんが、正直実態とはかけ離れています。
プログラマあるあるとしては以下が正しいです。
- なぜプログラムが動かないのか見当もつかず、画面とにらめっこ。試行錯誤を繰り返す
- プログラミング以外の業務が意外と多い(設計、テスト、会議、その他雑務)
何でもすぐに見破って、コードを書いて、ハイ終わり。なんてことは凄腕天才プログラマ以外は基本できません。
ベテランの方だとなんとなくは原因が分かることもありますが、数時間悩むことだってあります。
この「分からないことに数時間向き合うこと」がかなりきついです。
理系の人は大学でこのあたりのことを分かっています。一方で文系プログラマの方は、プログラマという職業に理想を抱いていませんか。
理想が高すぎると、就職後にこんなに大変だとは、となってきついと感じてしまいます。
しかし、数時間悩んだ後の「分かったあぁぁ!」となる瞬間は、それまでの苦労が吹き飛んでしまうくらい気持ちいのも事実です。
問題に根気よく向き合える人や、問題を解決するのが好きな人は、この悩む時間は苦に感じないかもしれません。(私は問題解決は好きですなのが、分からなさすぎて少々つらいときもあります。。)
3. 劣等感がきつい
文系プログラマ一番の悩みは、劣等感と言えます。
周りの理系プログラマは、技術的な指示にすぐついて行けます。もしかしたら、働きぶりが認められてすぐに昇進することがあるかもしれません。
一方文系プログラマの自分は、先輩と会話するのも一苦労です。
「プロキシの設定は?」や「リバートじゃなくてリセットでコミットを戻して」とかを言われても、プロキシ…、リバート…、リセット…、おぉ…となります。(これらの単語は超超初歩的なものです。)
周りはすぐに理解しているのに、自分は理解できないと、それは経験の差だと分かっていながらも、心にグサッと来る部分はあります。
ここであなたがどう感じるかで、文系プログラマとしての適性の有無を判断できます。
今までの人生で他人と比べて劣っていることに気づいたとき、「あの人は天才だから」や「自分には厳しい」と感じるほうが多かった人は、就職してもかなりきつい日々が待っていると思います。
しかし、「絶対にあの人に追いつく」や「厳しい状況のほうが燃える」というタイプの方でしたら、文系プログラマになっても十分にやっていけると思います。
プログラマの実際の仕事内容
プログラマになったらどのような仕事をするのかを、一般論や私の体験談に基づいていくつかご紹介します。
自分が文系からプログラマになったときに、やっていけそうかを判断する指標になりましたら幸いです。
設計
設計は何か機能を開発するにあたって一番最初の段階になります。
「この機能を実現するにはどのような構造にすればよいのか」を決める作業ですね。
設計で必要なスキルは以下のスキルです。
- 適切な機能を定義できる力(要件定義・コミュニケーション)
- 開発するうえで適切な技術を見極められる力(技術選定)
- 将来を見通す力(工数管理・保守・拡張)
今後数年使っていくプロダクトを開発するとなると、保守や拡張の目線が大切になります。
メンテナンスしやすい設計かどうか、機能拡張しやすい設計かどうか、このあたりの力が必要になってきますが、そのためにはかなりの技術力が要求されることでしょう。
日々技術に触れて勉強していかなければ、優れた設計者になることはできません。
実装
実装とは設計に従って実際にプログラムを書いていくフェーズです。
ここで必要なのは実装力。いわゆるプログラミングに対する知識ですね。
ただ実装するのではなく、自分以外のだれが読んでも理解できるような見やすいコードを書く力が求められます。
テスト・デバッグ
実装したものが正しく動作するのかをテストフェーズで確かめていきます。
テストに必要なスキルはありませんが、テストを設計する側になった場合は、品質を担保できるようなテストを作成する技術が必要です。
デバッグはバグを直す仕事です。
バグのない製品はありませんから、都度発生したバグに対して修正を加えます。
その他
その他、会議に出席したり、後輩の面倒を見たり、パワポで企画書を作成したりといった作業があります。
もうお分かりかもしれませんが、プログラマというのはプログラミングをするだけの職業ではありません。
実際にプログラムを書いている時間は仕事全体の3割にも満たないと思います。
【就職の前に】文系プログラマを目指すなら、一度コーディングを経験してほしい
今まで文系プログラマがきついと言われる理由と、それが半分ウソであると証明する反対案を書いてきましたが、いまいちピンとこないかもしれません。
そのため、一度コーディング(プログラミング)を経験して、分からない問題とぶつかったときの自分の反応から、自分が本当に上手くやっていけるのかを試してほしいと思います。
正直なところ、人間やってみないと分からないためです。
一度経験すると自分の適性が分かる上に、プログラミングの経験になって就活で話すネタが増えるので、一石二鳥です。
また、完全未経験の状態だと就活が厳しくなるので、そのケアとしてもおすすめです。
どれか1つでいいので、以下の方法を試してほしく思います。
1. 本で学ぶ
もっとも始めやすいのは、本でプログラミングを学ぶことです。
本の利点はページを参照しながらコードを書くことができる点で、分からないときに戻りやすいのが初心者にとって嬉しいです。
文系プログラマにとっておすすめの本は、HTML、CSS、Javascriptを扱う本です。
これらの言語は、初心者文系プログラマが一番最初に通る道で、難易度が低くておすすめです。
私も最初はHTMLとCSSからスタートしました。(理系の方はC+とかだったりするけど問題なし。)
これ1冊でゼロから学べる Webプログラミング超入門 ーHTML,CSS,JavaScript,PHPをまるごとマスター
どちらも初心者向けに作られている本なので、ぜひ挑戦の1歩目にしてほしいと思います。
1冊ですべて身につくHTML & CSSとWebデザイン入門講座
2. 動画で学ぶ
本で学ぶのが苦手な方は、動画で学ぶのがおすすめです。
「文字」で学ぶ本に対して、動画だと「音」と「映像」で楽しみながら学ぶことができます。
また、ハンズオンで実際に手を動かすことを求められるのも利点です。本だと読むだけで行動しない場合がありますからね。
動画で学ぶ際におすすめなのはUdemyというオンライン学習サイトです。
Udemyとは、公式サイトにもありますように「世界最大級のオンライン学習プラットフォームで、世界中の学びたい人と教えたい人をオンラインでつなぐサービス」です。
学べるジャンルは数多く、エンジニアにとって嬉しいIT系の講座を初め、マーケティングやマインド、音楽や写真といった趣味を充実させる講座も提供しています。
中でも初心者におすすめな動画は、以下の2つになっています。
※Udemyは定期的にセールをやっていますので、セール時期に購入するのがおすすめです。
まとめ
文系のプログラマがきついと言われる理由は確かに本当ですが、その情報は同時にウソだとも言えます。
なぜなら、自分自身が感じたことがないためです。
文系からプログラマを目指すこと自体が大きな挑戦ですから、その挑戦を成功させるためにもまずは自分自身でコーディングを経験することが大切です。
この記事が、みなさんの1歩を動かす記事となれば幸いです。ぜひ、文系プログラマとして一緒に頑張っていきましょう!
最後までお読みいただきありがとうございました。