【変人的な発想ですが】プログラミングって頭悪い人でもやれちゃうよ
エンジニアを目指している方、プログラミングを仕事にしたい方:
プログラミングを仕事にしてみたいんだけど、自分は文系だし、昔から学校の成績もよくないし、頭悪い方なんだよなぁ。
・プログラミングには頭のよさや必要なのだろうか?
・てか、バカでもプログラミングを仕事にすることは可能なのだろうか?
頭が悪いがプログラミングやっている人、教えて。
「プログラミングは、理数系の頭がいい人がやるものだ」
「プログラミングって、昔からパソコンとか得意だったり、オタクがやるもんじゃないの?」
確かにエンジニアにはそのような人もたくさんいますが、むしろ少数。
頭が悪い自分がいうのもなんですが、バカけっこう多いですよ。
今回はこのように、「頭が悪いがプログラミング大丈夫?」について解説していきます。
それでも、文系大学を卒業してから、現在は 1次受け企業で、組み込みソフトウェアエンジニア職に従事。
【変人的な発想ですが】プログラミングって頭が悪い人でもやれちゃうよ
プログラミングの仕事は、頭が悪くてもやれちゃいます。
なぜなら、どれだけ読みにくくても、最悪動くコードを作ればよいからです。
下記のとおり、巷でも同様の意見がでていますし。
どれだけ読みにくくても、最悪動くコードを作ればよい
頭の悪い人がプログラミングをした場合、そのコードは
- 読みにくい
- 変更を加えにくい
- 汚い
このような、いわゆる「保守性の低い」コードになってしまうことが多いです。
とはいえ、プログラミングというのは、顧客からの要求など、やりたいことを実現する手段のことです。
なので、要は、そのやりたいことが実現できればいいのです。
もう少し言ってしまうなら、最悪、問題なく動けばよい!
それは、回数をこなせば可能になります。
最初からは無理です。頭の悪い人ならなおさら。
なので、まずは数をこなしましょう。
慣れてこれば、実現手段、つまりはこういう動きにはするには、こういうコードを書けばよいというのが脳内にイメージすることができるようになります。
そうなると、少しずつ保守性のあるコードを書くことができるようになりますので。
なので、保守性はあとから考えましょう。
- いきなりコードを書かない
- まずはどういうコードを書くかを設計する
このあたりについてはこちらの記事で解説しております。
【やらかすとマジでツライ】エンジニアの失敗談語ります【再防あり】
エンジニアを目指している方、エンジニアの方へ。実体験に基づいた、開発での失敗事例を知ることで、自身の業務にそれを置き換え、同じ失敗を繰り返さないきっかけをつかむことができます。
頭がよい人のコードは、「キレイ」で作業が早いだけ
頭がよい人のコードは、はっきりいって「キレイ」です。
キレイというのは、先ほど書いた内容の真逆で、
- 読みやすい
- 変更を加えやすい
- 作りがきれい
このようなコードのことです。
いうなら、「保守性が高い」コードとなります。
また、頭のいい人はこのような保守性の高いコードを早く書くことができのです。
- 頭の悪い人:保守性が低いコードを時間かけてかく
- 頭のよい人:保守性が高いコードを早くかける
この違いだけです。
そして、これらはどちらも、やりたいことが実現できているコードです。
プログラミングは、こういうといろいろと語弊がありますが、「問題なく動けばOK」なので、そういう意味では頭が悪い人でもプログラミングが可能であることがおわかりいただけましたでしょうか。
理数の知識も、開発対象によっては必要なしなので大丈夫
プログラミングは、頭のよい&理数の知識がある人がやるもんだと思っている人も多いかと。
これについては、開発対象によります。例えば、
- Web系:作りたいアプリやサービスによるが、理数の知識は必ずしも必要なし
- 組み込み系:モノの制御をするので理数知識は必要な場合が多い
こんな感じです。
なので、必要となるかはその会社で作っている製品、サービスに委ねられますから、とりあえず理数の知識は無視で大丈夫です。
必要になったらやればいいので。
なので、これまで、
- 電子回路
- 無線通信基礎
- 制御理論
このような知識が必要となりましたが、文系だし頭悪いので、仕事するまでこんなのはなにも知らなかったです。
その際は、仕事で必要に迫られる度に勉強することで回避できています。
なので、理数の知識も、開発対象によっては必要ですが、自分のような人間でも、必要に迫れらたときに都度回避できているので、なんとかなるものです。
とはいえ、文系&頭悪いと、キツイのは確かです。そのあたりは、こちらの記事で解説しております。
プログラミングの仕事は頭悪い人でも可能【開発現場経験談】
これまで、プログラミングは頭が悪くてもやれちゃうことを解説しましたが、プログラミングの仕事自体も、頭が悪くてもやれちゃいます。
そう考える理由は以下です。
- 社内にある既存コードをベースにすればある程度のコードは書けるから
- 開発は一人でおこなうわけではないから
仕事でプログラミングの際は、社内の既存コードをベースに作成します
プログラミングスクールや独学でプログラミングを学んだ人にとっては、イチからコードを組んで、課題や演習問題用のコードを書いた人が多いでしょう。
なので、業務でもそのようなやり方をするイメージがあるかもしれませんが、実際はそんなこともありません。
というのも、社内にはこれまでに開発したコード資産が残っているため、それをベースに別のコードを組むことができるからです。
社内のコード資産を使えば
- イチからコードを組まなくてもよい場合がある
- そのコードの書き方を真似れば、保守性がそのコードより下がることがない
このような利点があります。
なので、頭が悪くても、社内のコード資産を活用することで、プログラミングの仕事をすることが可能なのです。
なぜなら、コードの組み方そのものが参考になるからです。
言語にもよりますが、
- 処理単位の分け方
- 変数名の付け方
- 共通処理のくくり方
このようなものが参考になります。
なので、たとえ頭が悪い人が新規案件のプログラミングをすることになっても、そのような社内のコード資産を参考にすることでなんやかんや仕事ができちゃうのです。
開発は一人でやるわけじゃない
開発というのは、一人で行うわけではありません。開発とは、簡単に言うと、
- 決める人:何をどう作るのかを決める人
- 作る人:決めたものを実際に作る人
- 確かめる人:作ったものが正しいかを確認する人
このような人たちで行うからです。
なので、たとえ頭の悪い人が作ったコードでも、
- 決める人の決め方がうまい
- 確かめる人がきっちりバグを見つけてくれる
このような感じで、なんやかんや自分がふがいなくても、チームでそれをカバーすることが可能なのです。
なので、プログラミングの仕事は、頭が悪くてもやれちゃうのです。
グレー:とはいえ、バグやらかすといろいろと凹みます。そのあたりはこちらで解説しております。
【経験談】文系でもエンジニアになれるが、根性がないならやめとこう
文系卒からエンジニアになってもキツイからやめたほうがいいって本当?本記事を読むことで、文系卒でエンジニアになってもけっこうキツイことがわかり、今後エンジニアを目指すか、もしくは続けていくかを判断するきっかけをつかむことができます。
頭の悪さを気にせず、プログラミングをやろう
これまで、以下を解説してきました。
- 頭よい人とのプログラミングの差は、保守性と作業速度であること
- 実際の開発は社内コード資産があるし、チームでやるから大丈夫であること
以上により、たとえ頭が悪くてもプログラミングは可能であり、仕事することも可能なのです。
とはいえ、やはり少しでも頭の悪さをカバーして、プログラミングなり仕事なりをしていきたいですよね。
そのような場合は、プログラミングスクールに行くのが手っ取り早いです。
今回は以上です。