学生の頃、「数学が苦手だから文系へ」という消極的な理由で進路を決めた方は多いでしょう。
そういう方が社会人になり苦労すると、「俺、才能もセンスもないからなぁ」と言い訳を始めます。
あなた(またはあなたの子ども)が学生であり才能やセンスがなさそうなら、理系に進んでください。
社会人の方も今からでも遅くありません。
オススメはプログラマです。
センスがなくても理系はある程度までいける
学生時代を思い浮かべれば理解できると思いますが、理系の科目はセンスが要りません。
絶対にそれしかありえないという「唯一無二の正解」が存在するからです。
センスも才能もとびぬけたものは不要です。
※もちろん大学・大学院に進んだり、社会に出て「成功確率」などを求められるようになると「最善」というあいまいな答えまでしか辿り着けない場合もあります
理系のいいところは「再現性がある」という点です。
たとえば1+1という問題は誰が何回繰り返しても答えは2です。
ネットでは「2×3の答えを理系は「3!」と答える」のようなネタがあったりしますが、実際に現実でそんなことを言われたら理系大学出身の人も半笑いです。
あれはあくまでジョークです。
プログラマという再現性のある職業
理系の仕事の中でも特にスキルさえあれば簡単な仕事は、プログラマです。
※スキルと才能は違います。スキルは学べば手に入る「後天的な技術」です
プログラミングは、すでに存在するプログラミング言語をそのルール通りに打ち込まないと正しく動きません。
逆に言えば、センスが介在するようなあいまいな表現は必要ないわけです。
もちろん、「より負荷が少ない」「より改修しやすい」「他人にも読みやすい」などといった部分ではセンスが要求されます。
ですが、それは「プラスアルファ」の部分であり、要求通りに動きさえすればとりあえずはお給料分は働いていると言えます。
プログラミング言語の習得はやや難しく、しかも時代と共に要求される言語が変わったりと厄介ではありますが、新しい言語も一から覚え直す必要はありません。
誤解を恐れずざっくり説明すると「ロシア語を喋れる人は少し勉強したらウクライナ語も喋れるよね」みたいなものです。
※ウクライナ語はロシア語と同じキリル文字で、文法もかなり近いです
プログラミング言語の習得に必要な期間
プログラミング言語は苦手な人は何年もかかるようです。
ただ、それは「独学」であったり、「1から順番に学ぼうとしている」であったりします。
プログラミングを学ぶなら、ざっくりと入門レベルの本を流し読みしたらすぐに興味のあるプログラムを作ってみることをオススメします。
多くの人は「ゲーム」ならば多少は興味が出るでしょう。
もちろんいきなりプレステ5だのSwitchだのといった最新機のゲームは作れません。
というよりバカにされがちな「ポチポチゲー」こと「スマホゲー」ですら難解でしょう。
当たり前です。
初心者なんですから。
だからもっとしょぼいゲームを作ってみてください。
「ゲームを作る」に特化した本があるとなお良いです。
たとえばこちらの本などは人によっては呑み込みやすいでしょう。
一つ完成させられたら、その時点でかなりスキルが上達します。
次にすべきは「知っているゲーム」の縮小版です。
たとえばスーパーマリオなら初代の1-1ステージの横スクロールなしの短いバージョンを作ってみる。
そしてそれが完成したら横スクロールを追加したり、次のステージを追加したり・・・といった具合です。
※これはあくまで例なので出来上がっても販売はしないでください
プログラマの利点
プログラマの最大の利点は「会社に縛られにくい」という点です。
自分でスキルを持っているため、会社から放り出されても(または自分が見限っても)、別の会社に入りやすいですし、会社に所属するのがイヤになっても派遣社員として時給3000円近い金額で働けたりします。
また、ゲームであれば今は自作のものをネット上で販売することがそれほど難しくはない時代でもあります。
もちろんそれは「簡単に」とは言いません。
プログラミング言語を知っていても企画から完成まで一人でできる人はレアです。
ですが、「そういう選択肢も取れるようになる」ということ自体がメリットではないでしょうか。
ちなみにゲームの場合はイラストや音楽、シナリオなどのプログラミングではない部分でセンスが必要です。
そのあたりは自分に才能がないのなら他人と組んだりしましょう。
最後に
ということで、自称文系の方は理系、特にプログラマを目指すことをオススメします。
プログラミングは基本的に誰がプログラムを書いても文面が同じなら同じ反応が返ってくる「再現性」のあるものです。
才能やセンスがない人であっても、同じ文面なら同じ反応が返ってきます。
プログラミング言語を習得できるかどうかも「才能」は関係ありません。
1+1がわからない人がいないように、そして(このブログを読んでいる人の中に)日本語が理解できない人がいないように、プログラミング言語は誰にでも使えるようになります。
もちろん、勉強は必要です。
私は一言も「今の何も勉強していない状況でいきなりゲームを量産できるくらいのプログラマになれる」なんて言っていません。
「勉強すれば」それに応じた見返りがあるという再現性の話をしています。
「勉強できない」という人は...
さすがにちょっと言う言葉がありません。
「何もしたくないけど今よりいい状況になりたい」という文章を3回くらい声に出して知人に聞かせてみたらいいんじゃないでしょうか。