プログラミングと聞いて、「理系の人が取り組むものだよね。」と考えている人はもういませんよね?
正直、文系理系なんて全く関係しないのがプログラミングですが、もしもまだそんな考え方をしている人がいれば、すぐにでも考え方を切り替えたほうがいいです。
ここでは、そんな文系理系という分類がいかに関係ないか解説していきたいと思います。
目次
文系出身者のプログラマーは数多く存在する
まず始めに、文系出身者のプログラマーは数多く存在する事実があります。
筆者は、大学在学中は工学部に所属していたため、会社に就職したら理系の人ばかりがいるのかなとなんとなく考えていました。
ですが、それは予想をはるかに超えて文系出身者が多い事実を、会社に所属してから知りました。
特に、転職の流れでプログラマーになった人は、ほぼ文系出身の人が多かったことを記憶しています。
だからこそ、プログラミングを学習すれば、文系理系という固定観念に囚われることなく、プログラマーになることができます。
もちろん、就職・転職に関して文系理系を問われることは一切ありません。
むしろ、「私は文系だから。。。」と思っている人はプログラマーになるのは難しいでしょう。
特別な資格なんていらない
プログラミングを学習する上で何か特別な資格が必要と考えることはありません。
誰もが取り組めるように門を開いているのがプログラミングの良さです。
例えば、医者や弁護士といった資格を保持していなければ就職することができない職業があります。
一方でプログラマーは、資格に左右される職業ではありません。
むしろ、年齢や生い立ちすら関係なく、プログラミングスキルさえあれば就職・転職、フリーランス、はたまた起業まで幅広く取り組める職種です。
これほど制限なく誰にでも取り組むことができ、実力だけでどこまでも突き抜けていくことができるスキルは少ないかもしれません。
プログラミングに数学をほぼ利用しない
基本的には簡単な四則演算ができれば、プログラミングにおいて差し支えないと思います。
筆者は、前述した通り工学部出身でまさに理系でしたが、学生時代に習っていたことが「コンピュータはなぜ動作するのか」といった原理原則を学んでいました。
例えば、あなたはスマートフォンを当たり前のように利用していることだと思います。
ですが、スマートフォンがなぜ動作するかなんて考えながら動かしていませんよね。
タクシードライバーの人だって車の動かし方は知っていても、「車はなぜ動くのか」というところまで理解しているわけではありませんが、働いています。
もしも、「車がなぜ動くのか」を理解している人であれば、車の整備士になっていると思います。
このように、どこに着目するかによって理解するものが変わるわけですが、プログラミングは基本的に数学的思考を要さないです。
AIエンジニアやデータサイエンティストのようなプログラマーに中でも、特化した専門職であれば利用することはありますが、一般的なシステムエンジニア/プログラマーに求められるスキルではありません。
そもそも、学歴なんて関係ない業界ですので、プログラマーになってから必要なスキルを継続的に学んでいけば良いだけです。
物理的知識も必要ない
数学に限らず、物理的な知識も全く必要ではありません。
古典力学から始まり、熱力学や流体力学、電磁力学や量子力学に至るまで多くの物理的知識を身につける必要がないということです。
研究職などで、製品開発や宇宙開発などに対して働きたいと考える人であれば、少なくとも数学や物理の知識が必須になってくると思います。
ですが、基本的にスマホアプリ開発やWebアプリ開発、業務を効率化する自動化ツールなど、一般的に利用されるものに対しては必要ないです。
プログラミングはコンピュータへの翻訳作業
プログラミング業務のメインとなる作業は、つまるところコンピュータへの指示書を作成することです。
”コンピュータが分かる言葉を利用して指示をする”
これがプログラミングの業務になります。
本来コンピュータは”0”と”1”を認識して動作します。(2進数で動きますがこんなことすら覚えなくていいです。)
ですが、私たちが理解できている言葉を使って指示したですよね。
そこで利用されるのがプログラミング言語ってだけの話です。
ただ、私たち日本人にとって一番利用しやすい日本語は理解してくれません。
そのため、英語を基本としたプログラミング言語を利用してコンピュータへ翻訳内容を伝え動作させていきます。
これだけ見ると、むしろ文系出身者の人の方が向いているのではないかとさえ思います。
物事への読解力が試される
もうこれに関しては、文系理系なんて本当に関係ありません。
要は、誰かがイメージしている開発したい製品やサービスを理解できるかどうかです。
特にプログラミング業界では、未だ作られていないもの、もしくは自分自身では作ったことないものを要求されることがあります。
そのため、期間を設けて誰かから伝えてもらった内容に対して、実験と検証を繰り返しながら成果物を作成していきます。
その際に、初めて触れるサービスなども存在するかと思いますが、それらに関するマニュアルやドキュメントを読み進めて理解する必要性があります。
もうこれは〇〇出身なんて関係ありませんよね。
ただただその物事に対して理解ができるかどうかの問題になります。
英語への理解も試される
基本的にプログラミング業務において、英語に触れる機会は多くあります。
英語に対する抵抗感がなければ特に問題は発生しないと思います。
また、もしも英語が苦手だとしても、今は翻訳機も優れているので利用してしまえば済む話です。
筆者自身も英語が苦手ですが、Google翻訳を活用しますし、英文によるエラーなんてなんども出くわしますが、Google検索して解決してしまいます。
もちろん、ただコピペするだけで同じエラーを起こして同じ対処ばかりしていたら成長はないですが、繰り返していくうちに、プログラミング業務に関わる現象は覚えていくものです。
そのため、トライアンドエラーの姿勢さえあれば、文系理系を問われることはまずないです。
コミュニケーション能力が大切
このコミュニケーション能力も文系理系なんて関係ありません。
プログラミング業務において、お客様との対話が発生します。
その際に、お客様はプログラミングに対して詳しくないことの方が当たり前です。
そのため、どれだけプログラミングスキルが高かったとしても、お客様に理解させることができる提案から始めることができなければ、仕事にも繋がりません。
なので、プログラミングの実力以前にコミュニケーション能力も持ち合わせていないといけませんが、一般的な人脈形成ができている人であれば、コミュニケーションができないということはまずないので、文系理系に関係ない領域の内容になってくるでしょう。
顧客目線を持っていることが重要になる
今では世界的にもトップクラスとなったAmazonですが、この企業も顧客目線を第一に考える企業です。
本来、プログラミングは何か成果物を生み出すためのツールでしかないので、プログラミング知識がいくらあっても成果物に変化させなければ意味を成しません。
また、プログラミングを通して成果物を作り出すわけですから、当然顧客目線としては利用価値があり、お金に結びつく何かを求めるのが一般的です。
そのため、むしろ経営視点を持つことができている経営学科出身の文系エンジニアは、相手が満足いく提案ができたりします。
理系出身の人は、全員がそうではないですが、何か自分自身のこだわりにとらわれている人もいます。
それは、本来顧客からすれば必要のないものなので、顧客目線とフラットな視点を持てる人であれば、どんな人でもプログラミング業務に携われると思います。
情報学科以外の人はあまりプログラミングに明るくない
筆者は、工学部の中でも情報学科を選択していたので、大学4年間の中で、ほぼ毎日プログラミングに触れていましたが、基本的に理系の人でも触れるのは情報学科ぐらいです。
もちろん、単位を取るためにプログラミング基礎を学ぶ理系学科はあるかもしれませんが、理学部・農学部・医学部など理系の学部でもそうそう触れないと思います。
そして、それらの学部を進学・卒業しているからといって身についた知識がプログラミングに発揮されるわけではありません。
理系だからといっても0からのスタートになると思います。
そのため、むしろ文系理系に問わず、プログラミングを始めるのに遅いということはありません。
更に言えば、筆者が大学で学んだプログラミングに関する講義を活かせているとは到底思えません笑
我ながら残念だなと思いますが、プログラミングに対しての抵抗感が4年間かけて無くなったと思えば、ギリギリ価値があったかなぐらいです笑
本人次第で論理的思考力は身につく
あなたもおそらく何かを考えるときに「これはなぜ動くのか」「どうしてこうなったのか」「何で動いているのか」「理解するために何が必要か」など、多くの思考を巡らしたことがあると思います。
プログラミングにおいても同じことが言えますが、プログラミングは思考系タスクなのでその頻度が多少なりとも多いです。
ただ、この論理的思考は特別なものではなく、誰もが持ち合わせている能力です。
プログラミングを通して自然と鍛えられていくものなので、心配なく取り進めていけると思います。
情報収集力と問題解決力に長けている
プログラミングにおいて、取り組む際に多くのエラーや問題に出くわします。
その時に、わからないことをしっかり情報収集して学習できるか、その問題を理解した上で解決できるか、これらが問われます。
学生の頃から行ってきた取り組みができれば全く問題無いです。
学生の頃もわからないことがあれば先生に相談したり、問題がわからなければ情報収集した内容を元に解決に導いたり、自然と行ってきたと思います。
内容は違えど、プログラミングにおいても同じことを行います。
決して難しいことでは無いはずです。
粘り強くプログラミングを学習すること
正直、最終的にはこれに尽きます。
プログラミング学習 = 継続力
全てに通じると思いますが、何事においてもプログラミングにおいても継続することが大切です。
初めての経験をした場合、当然わからないことだらけですが、このような体験は文系理系問わず起きるわけです。
それを諦めてしまうのか、投げ出さずに取り組み続けるのか、これに帰着すると思います。
まとめ
いかがでしたでしょうか?
ここまで文系出身者であってもプログラマーなれる理由を列挙してきました。
あなたのプログラミングへのモチベーション維持に少しでも役に立つ情報があったのなら幸いです。
最後まで一読していただき、ありがとうございました!