プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

文系でもエンジニアになれますか?【問題なくなれます!】

更新日:

エンジニアは人気の職種だと聞いていますが、情報学部出身や理系の方がエンジニアになる印象です。
文系の人でもエンジニアになれますか?

本記事の内容


こういった疑問にお応えします。
結論から言うと、中卒や高卒でエンジニアになっている方もいるので、文系でもエンジニアになることはできます。
正確に言えば、文系でもなれる種類のエンジニアが存在します。

エンジニアに必要な学力

文系・理系という区切りでエンジニアの適正を考えるのは、ちょっとナンセンスだと思います。
まずはエンジニアに必要な能力を洗い出してみましょう。
エンジニアに必要な能力は、「国語力」「英語力」「数学力」の3つです。
この時点で、すでに文系科目が二つで、理系科目が一つしかないことがわかります。
また、物理や化学といった科目は、プログラミングには関係ありません。

  • 国語力
  • 英語力
  • 数学力

国語力

エンジニアには、今のシステムや環境を理解するための、読解力が必要とされるスキルが必要になります。
また、依頼者から話を聞いて設計図を書いたり、「ここに、こういうボタンがあるとユーザーにとって便利ですよね?」といった提案をする能力が求められます。
これらは、提案力、コミュニケーション力といったものです。

国語力が高い人は、読解力と提案力が高いように思うので、エンジニアに向いていると言えます。

英語力

多くのプログラミング言語は、英語ベースなので、英語を知っているほうが有利です。
例えば「print」というプログラミングの命令がありますが、英語を知っているならば「プリント」、「表示」、「出力」、「印刷」といった抽象的なイメージが浮かぶはずです。
でも、英語を全く知らなければ、「p,r,i,n,t」という文字の羅列になります。
その違いは大きいです。
また、多くの最新のドキュメントは英語で書かれていることが多いので、それを読む時にも英語力が問われてきます。
でも、最近のGoogle翻訳はよくできているので、英語力がなくても何とかなるケースも見かけます(笑)

数学力

どういったエンジニアを目指すのかによって、求められる数学力は変わります。
とりあえず、エンジニアが使うかもしれない数学を全て並べてみます。

  • 四則演算 これは義務教育を終えている人なら大丈夫です。
  • 2進法
  • 指数計算(2^0 = 1, 2^1 = 2, 2^2 = 4 2^3 = 8, 2^4 = 16 )こういった指数の計算です。
  • 剰余( 3割る2の余りは1, 5割る2の余りは1, 7割る2の余りは1)といった余りに注目する計算です。
  • 論理積・論理和(箱の中身が「バナナとマンゴー」なら箱にフィリピンと書く。「コーヒー」ならブラジルと書く。それ以外なら「その他」と書く。
    簡単に説明すると、こういった感じのものです。)
  • 確率や組み合わせ(高校レベルの数学)
  • 再帰(これは説明が難しいので、専門書をお読み下さい。)
  • 行列(高校か大学レベルの数学)
  • 回帰分析(高校か大学レベルの数学)

もう少し詳細に、プログラマに必要な数学を知りたいという方には、こちらの本をお勧めします。
結城先生の著書は、素晴らしいものばかりです。

エンジニアの種類

ここまでで、どういった能力が必要なのか漠然と理解ができたはずです。
次に、エンジニアごとに、どういった能力が必要とされるのか説明します。

デザイナーとフロントエンジニア

  • 国語力
    ユーザーに近い位置にいるので、ユーザーに優しい設計を考えられることが求められます。
  • 英語力
    最低限の読み書きの能力があった方がいいと思います。
  • 四則演算
    JavaScriptで使います。
  • 論理積・論理和
    JavaScriptでif文を作る時に使います。

サーバーサイドエンジニア

  • 国語力
    要件定義などのフェーズで求められます。
  • 英語力
    最低限の読み書きの能力があった方がいいと思います。
  • 四則演算
    以下、全ての項目がプログラミングで必要とされます。
  • 論理積・論理和
  • 2進法
  • 指数
  • 剰余
  • 確率や組み合わせ
  • 再帰

インフラエンジニア

  • 国語力
    要件定義などのフェーズで求められます。
  • 英語力
    最低限の読み書きの能力があった方がいいと思います。
  • 四則演算
  • 2進法
    IPアドレスの計算など。

機械学習エンジニア

機械学習エンジニアが扱う数学の範囲は、幅広いかもしれません。

  • 国語力
    要件定義などのフェーズで求められます。
  • 英語力
    最低限の読み書きの能力があった方がいいと思います。
  • 四則演算
    以下、全ての項目がプログラミングで必要とされます。
  • 論理積・論理和
  • 2進法
  • 指数計算
  • 剰余
  • 確率や組み合わせ
  • 再帰
  • 行列
  • 回帰分析
  • その他の高等数学

まとめ

この記事では、それぞれのエンジニアが必要とするスキルを説明しました。
ほとんどのエンジニアに求められることは、文系のスキルと基礎的な数学力であることがわかって貰えたはずです。
多くの人は、きっとエンジニアになれると思います。

Good luck for your engineer life!

エンジニアの種類がよくわからない人は、この記事を読んで下さい。

https://programming-dojo.com/it%e6%a5%ad%e7%95%8c%e3%82%92%e5%88%86%e9%a1%9e%e3%81%97%e3%81%a6%e8%81%b7%e7%a8%ae%e3%82%92%e7%b4%b9%e4%bb%8b%e3%81%97%e3%81%be%e3%81%99/

文系出身でエンジニアになれるか不安な人は、この記事を読んで下さい。

https://programming-dojo.com/%e6%96%87%e7%b3%bb%e5%87%ba%e8%ba%ab%e3%81%a7%e3%82%82web%e3%82%a8%e3%83%b3%e3%82%b8%e3%83%8b%e3%82%a2%e3%81%ab%e3%81%aa%e3%82%8c%e3%82%8b%e7%90%86%e7%94%b1/

女性でもエンジニアになれるか不安な人は、この記事を読んで下さい。

https://programming-dojo.com/it%e6%a5%ad%e7%95%8c%e3%81%af%e5%a5%b3%e6%80%a7%e3%81%ab%e3%81%a8%e3%81%a3%e3%81%a6%e5%83%8d%e3%81%8d%e3%82%84%e3%81%99%e3%81%84%e3%81%a7%e3%81%97%e3%82%87%e3%81%86%e3%81%8b%ef%bc%9f/

  • B!