はてな村定点観測所

運動、瞑想、睡眠、野菜350g

文系エンジニアの生存戦略

   

文系でもエンジニアになれる

「エンジニアです」と言うとよく「理系なんですか?」と聞かれる。エンジニア=理系というイメージは未だ根強い。実際にはエンジニアは文系でもできる仕事だ。ただ、文系エンジニアには困難も多く、ここ最近は文系リスクが顕在化してきている。この記事では文系エンジニアの生存戦略について考えていきたい。

「文系」と言っても様々なディシプリンがあるので、ここでは「大学またはそれに準じる高等教育機関で数理的アプローチについての教育を受けていない人々」と定義したい。

文系はなぜエンジニアになれるのか?

文字列処理などのプログラミングでは数理的アプローチを必要としないケースが多い。文字列処理で必要なのは数学よりも論理的思考力と国語力である。集計が必要とされる分野でも四則演算の応用で事足りる部分も多いので、複雑な統計処理でなければ文系エンジニアでもコードを書くことができる。

数理的アプローチが必要とされる分野においても、よしなに処理してくれるライブラリやツールあるいはPHPのような標準関数が充実しているので、文系エンジニアはその発想や使い方だけ知っていれば動くものは作れてしまう。このため中学あるいは高校レベルの数学知識の文系エンジニアでも、機械学習も含め本来は数理的アプローチが必要とされる分野のコーディングも不可能ではない。

文系リスクとシグマの壁

しかし、近年はこの文系エンジニアを脅かす文系リスクも顕在化している。

プログラミング人口の増加

プログラミング人口は飛躍的に増加した。文字列処理やライブラリを駆使することは文系エンジニアでもできるが、理系エンジニアも巧みに使いこなすことができる。もはやプログラミングができるだけで評価される時代は終わった。オフショア開発も盛んになってきたので、新興国のエンジニアとも競争になっている。文系エンジニアは業務知識を持っていたり日本語の扱いに秀でている可能性はあるが、大きなアドバンテージにはなっていない。

コーディング環境の専門化

近年コーディング環境の高度化や専門化が高まった。単にライブラリやツールを駆使したりオブジェクト指向でコーディングをするだけではなく、技術的負債が少なくリーダブルなコードを書けるか、ソフトウェアアーキテクチャに精通しているかが問われている。ベタなコードを書くことがタブーとなり、職業としてのコーディングの要求水準が高まっている。そしてこの能力は多くの場合、理系エンジニアの方がこれらの能力が訓練されている場合が多い。

データサイエンスの隆盛

いまデータサイエンスや人工知能研究が隆盛となっている。データ解析では単にツールを使いこなすだけではなく統計学の理解が必須になりつつある。深層学習の分野では微積分や線形代数の知識が必須となっている。機械学習や深層学習の本を買った人なら経験があるだろうが、6ページ目あたりから出現するΣを読み解いていけるかが一つの分水嶺になる。このシグマの壁を突破して理解していかなければ理系エンジニアと同等の位置には立てない。

f:id:netcraft3:20170707121242p:plain

(データサイエンスの隆盛もあってGoogle TrndsではPythonがPHPを上回った)

もちろん例外は存在する。このような文系リスクを意識せず第一線でバリバリ活躍している文系エンジニアもいる。しかし多くの文系エンジニアはこのような苦境に直面しているのが現状だろう。

文系エンジニアの生きる道

文系リスクにどのように対応して生存戦略を立てていくべきか。

数理的アプローチを学習しない

一つには数理的アプローチには手を伸ばさず、今ある文字列処理の道を究めていくのも手だろう。それぞれに得意分野があるので、にわかにはならずに理系エンジニアと専門領域を分担する戦略だ。世の中の文字列処理のプログラミングは多数あるし、すぐには理系エンジニアやオフショアや人工知能には代替されない。その間に他が追いつかないくらい業務知識を身につけて専門化していく方策が取れるだろう。あるいは総合力に秀でているならばディレクター職への転進も取れる手である。万人が数理的アプローチに秀でている必要はないだろう。

数理的アプローチを学習する

もう一つは逆に数理的アプローチを位置から勉強する戦略だ。私はこちらを選んだ。完璧ではなくても数理的アプローチを学んでいって、可能な限り自分の生存オプションを広げていくことを考えている。私自身がそうであるように、高等教育機関に再入学して数理的アプローチについて教育を受ける時間的余裕がある人は少ないだろう。多くが仕事を続けながらの独学となる。かなり地道な学習だし困難も多い。しかしそれを乗り越えれば豊かな可能性が開けるだろう。

私はまず高校数学の再入学から始めた。ただし高校生のように手書きで解いたりはせず、プログラムを組んで計算させた。それと同時並行で『マンガでわかる統計学』『マンガでわかる統計学 回帰分析編』『マンガでわかる統計学 因子分析編』『マンガでわかる線形代数』を読んでいった。その後、東京大学教養学部統計学教室『統計学入門』(東京大学出版会)や薩摩順吉・四ツ谷晶二『キーポイント線形代数』(岩波書店)を少しずつ読み解いていった。独学なのでこの学習パターンが最適ではないし回り道をしている可能性もあるが、基礎への理解が深まれたと思っている。

文系エンジニアを取り巻く情勢は厳しい

文系エンジニアを取り巻く情勢は厳しい。シリコンバレーでは文系エンジニアはほとんど採用しないとも聞く。文系エンジニアがこの先生き残っていくためには、自分の領域を専門化していくか、他の分野も取り込んで道を広げていくかの2通りだろう。現状のルーチンワークをこなしているだけでは、いずれ何者かに代替されていく。自分が必要とされる存在になるために武器を作ってサバイバルしていかなければならない。

マンガでわかる統計学

マンガでわかる統計学