変化の種

Shoichi Uchinamiのブログ

意識が高くない自然科学系の学生が持つスタートアップでのサービス作りの適正

昔の僕のような、自然科学系の学科(「物理学科」とか「化学化」とか「生物学科」とかそういうの)を専攻しながらなんとなく生きている未就業の学生に向けての誘いの言葉。

年を経ると患うという「若者にアドバイスしたい病」に、僕も漏れなくかかった記事であり、かつ自分にとって都合の良い方向へ他人をプッシュしようとする内容なので、よりタチが悪いかもしれない。
が、人間の相互作用というものはそういうものだと思うので、気にせず出すことにした。

いわゆる「意識高い」と表現される人を馬鹿にしているように見えるかもしれないが、そんな気は一切ない。
どころか、逆にそのように生きている人のことをリスペクトしている。自分の人生のテーマを「意識的に生きる」ことにしているので、そうしたことができる人達は素直に素晴らしいと思っているのだ。

ただ、そうした生き方ができるのは、生まれ持った遺伝子から、これまでの経験の内容や、現在の周りの環境まで、かなり「恵まれた」人だけに限られているとも思っていて、普通の人間はそうはできない。
僕もその例に漏れず意識の「なさ」には自信を持っており、非常に恵まれた縁と運を得ていながら、相当惰性のみで生きてきた
ただそんな人生だからこそ、「もしこういうことが先に分かっていたら、もっと早くこれが意識できるようになっていたかも」ということがあり、今回はその中でも、僕自身が大学で自然科学系の分野を出た後、スタートアップでソフトウェアエンジニアと呼ばれる人達と一緒に仕事をしてきた際に、この経験は役に立ったと思ったことや、自分と同じような自然科学系バックボーンの同僚から見出した共通点を書いてみた。

なお、少なくとも今回の記事では自らをエンジニアとは名乗らない。理由は、そもそも自分が取った学位は情報技術と全く関係がないため海外では普通はソフトウェアエンジニアとしては扱われないこと、情報技術に限らずどの分野においても工学の専門教育を受けたわけではないこと、および自分自身の最大の興味関心が「楽しくエンジニアリングし続けること」ではないこと、あたりだ。

届けたい想定読者としては、主に現在自然科学系の学科を専攻している大学生や大学院生を対象としている。
研究を続けようと思っている人もいれば、そこから離れてどこかで働こうと思っている人もいるだろう。
そうした人たちに向けて、「貴方はこういう特性をもっているから、こういうところでこういう活躍ができるかもしれない」と言うことを伝えたい
僕は直近はWeb系のスタートアップにいて、その文化が好きなので、貴方にもそうした分野へ行ってくれると嬉しいが、おそらくそれ以外の領域でも多少は流用できる内容になっているのではないかと思う。

なお、この記事の内容は、書いている僕一人の経験に基づいたものなので、他の世にある多くのエッセイ等を読む際と同様、「こうすればうまくいくのだ」という受け取り方をするのではなく、「こういうルートの人もいるんだ」という発見や「こういうやり方もあるんだ」というスキルの理解として読み取ってもらえたらと思う。
すなわち、具体的には、これから就職活動をやろうと考えている人が、志望動機や強み/弱みといった自己アピールの材料やハッタリを捻り出す際の手助けになればと考えている。

強みシリーズ

「粘り強いです」のようなその人個人の性格に根付くものではなく、また逆に「論理的思考ができます」のような広すぎる表現でもなく、ちょうどよさそうな自然科学系との関連をもった強みを2,3個上げてみよう。

数字のオーダーに強い

僕がいた物理学の分野ではよく使っていた言葉なのだが、もしかすると他の分野では馴染みのない表現かもしれない。
「数字のオーダーに強い」というのは、数字の規模、つまり十、百、千、万といったその数字のゼロの数(桁)がいくつか、ということに敏感である、という意味だ。100なのか200なのか300なのか、といった違いや、ましてや10と11の違いとかは気にしなくて良い。

自然科学の分野に長く身を置いて勉強や研究をしていた貴方は、サービスを作っていく上で、自分達が今興味の対象としているもの、例えばユーザー数であったり、アクセス数であったり、あるいは売上金額であったりといった数字について、常に勘が働いていて、「このシステムはこれくらいの負荷になるな」や「この単価であればこのコストに対してペイしそうだな」というようなことがスッと出せるようになる「筋肉」を持っている可能性がある。
成熟した企業で働く場合、売上金額を正しい数字の半分だと認識しているとまずいが、年成長100%を超えるようなスタートアップにおいては、今扱っている数字の最大桁が2なのか3なのかということは大抵どうでもいい。というのも、変化のスピードが早いため、そこを気にしている間に結局桁が変わるからだ。

なぜこのような「筋肉」がついているかというと、僕個人の経験を例えに出すと、学生時代、指導教官から「今関心の対象となっている物理のエネルギースケールはいくらか」をくどいほど聞かれ続けていたので、計量的なものを相手にする際は常に桁が幾らかを考えるのが癖になっていた
もちろん、貴方の専攻している分野によっては、扱う数字の桁は常に一つしかなく細かな値の違いしか関心がなかった、という人や、あるいはそもそも具体的な数字をほとんど取り扱わず、全然数字への勘がない、という人もいるだろう。
ただ、どんな形であれ、今自分が関心を持っている仮説を検証する、ということは必ずやるはずで、「この内容で明らかに誤っていることはないか」というチェックをする習慣は身についているだろう。それを単に数字に対しても行うだけだと考えれば難しいことではない。

これができると周りの同僚からの信頼を得られやすい
何かの施策を話し合っている際に、「これはこうだから、まぁだいたいこんなものですよね」ということを貴方がやってくれるので、仮定の話をより具体的に考えやすくなるためだ。

バグを見つけるのがうまい

一緒に働いたことのある人なら賛同してくれる人は多いのでは、と思うのだが、この分野で珍しく自信をもって言えるのが、自分はバグを見つけるのが得意だった、ということだ。
もちろん、対象となるシステムは自分が作っているサービスに関わるものだけで、Googleが提供するサービスのバグバウンティで賞金をゲットしています、とかではない。

ただ、これまでの同僚の中で最も高い技術力を持ち、信頼しているソフトウェアエンジニアに作ってもらったシステムが、どうしても理論的に必要なパフォーマンスが出ず、彼自身からも「これ以上深く調べるには相当時間がかかる」と言われ半分お手上げだった問題に向き合った時、起きている事象の特徴とコードから、なんとか自分でそのバグを特定したことがある
その後僕が書いたそのバグを改修するコードは、当然のごとく彼のレビューで却下されて、より正しい方法で直されたのだが、まぁそこは問題ではなく、少なくとも「何かがおかしい」と気づくこと、そして「その原因はこれだ」ということは他の人よりも得意だった。
スタートアップ以外でも、大手SIerウォーターフォール開発をやっていた時、テスト設計のフェーズでコンディションをきるのも得意だったし、標準的なシステム開発プロセスにないところで、勝手に試験環境を叩いてバグを見つけたりするのも好きでやっていた。

以前はこの特性は単に自分の個人的な嗜好によるものだと思っていたのだが、よく考えてみると、大学でのサイエンスのバックボーンで役に立っているものもあることに気づいた。
前節の最後の方にも書いたのだが、科学者の仕事の多くは、自分が考えた仮説を自分自身で検証する、ということである。 それは、その仮説が今関心の対象となっている事象を説明できるか、ということだけではなく、それ以外の既知の現象全てと整合しているか、ということも重要なポイントだ。
自分が考えた方程式の中のある変数の極限を考えたときに、既存の別の現象とスムースに繋がるか、といったことや、より根本的な原則に違反していないか、ということは常に意識していなければいけない。

これは自分一人で仕事を進める場合でも行うことだし、共同研究者と議論をする場合も、相手の説明する内容に穴がないかをなんとか見つけようとする。そうした穴がなくなって初めて、研究として外に出すことができる仕事になる。
研究でこういった仕事の仕方をしていたせいか、サービス作りにおいても、そのサービス・機能を実現するためのシステムを構築しようとする際、そのシステムの「穴」に敏感になり、様々な視座・視点から問題がないかを検証することができるようになっていた気がする。
また、そのシステムの実際の挙動に意図せぬ動きがあった際に、いち早く「これはあるべきでない挙動である」と気づき、その現象からその裏で動いている仕組みのどの部分が原因であるのか、ということに素早く辿り着くことができる力も身についた。

あるがままを受け入れられる

人間の目に存在する「盲点」というものについて知っているだろうか。
生物系の専攻の人間であればおそらく大抵の人は知っているであろうし、そうでなくともどこかで読んだことがある人も多いだろう。

wikipediaの記事で十分理解できると思うが、簡単に言うと、人間の目には比喩的な意味ではない生理的な「盲点」と呼ばれる、外部からの光を検知できない領域が存在しており、本来その領域でキャッチされるべき内容は実際に見えていない
なぜそんな領域があるかというと、光を受け取る網膜の「表側」から脳へと信号を運ぶ神経が出ており、その神経を目の「裏側」に配線させるために網膜の一部に穴を開けて通しているためだ。
ただ、人は普通、日常的にはその穴の存在に気づかない。本来なら視界の一部が真っ黒く塗りつぶされているはずなのに、脳が勝手にその穴を補完して、あたかも見えているかのように錯覚させているからだそうだ。
wikipediaの記事中にあるような特殊な状況に身を置くことで、見えていない部分がある、ということに気づくことができる。

おそらく、エンジニアと呼ばれる人間がこの仕組みで作られたカメラをみたら、大抵はFワードを口にするだろう。
ただ単に裏側から配線していれば必要のなかった穴を開けておいて、その穴がないかのように見せるためにわざわざ貴重な情報処理リソースを費やしているのだ
入社した会社がこの作りでできたカメラをベースに事業を営んでおり、その面倒を見ながらなんとか機能を拡張していかなければいけない、という状況に陥れば、「これをつくったやつは〇〇だ!」と悪態をつく人間は多いだろう。

しかし、実際のところ、世の中で動いているシステムには、このようなものが無数にある。
人間の目は、先祖の目の進化の各々の過程において生存最適な特徴を持つものが残っていった結果こうしたデザインとなったのだが、サービス作りの現場で「技術的負債」と呼ばれるものの一つで、作るときに携わっていたエンジニアがどれだけ優秀であろうとも、その時点で見えている情報だけでは決して想像できない業務要件がその後にあり、その時その時の最適解を選び続けた結果「酷い」システムになる、ということが往々にあるのだ。
(もし「俺が神なら最初からまともな設計にしてたよ」という人がいれば、その人には「では今から1億年後の人類の子孫たちにとっての最適な目を設計してください」と言ってみよう)

こうしたシステムに遭遇したときに「怒り」を覚えること自体は何も問題ではない。そのシステムのリファクタリング(盲点の例でいうなら、神経を裏側から出して穴を塞ぐ遺伝子改修を行うようなこと)をして、よりシンプルで拡張性を持ったコードにすることのモチベーションとなるのであれば、是非利用すべき感情だ。
だが一方で、若いうちはこうした感情のコントロールがうまく働かないことがある。立ち向かっている事象以外のことで心を動かされるような場合は特にそうだ。例えば、その「酷い」システムを作った人間が同じ職場にいて、自分より高い報酬を貰っている、といったとき、そのストレスが単なる精神的ダメージになってしまう人もいる。

そんな中、自然科学に長く浸かってきた貴方は、意外にもこうした酷い負債を見てもあまり心が動かされることはない
例として述べた盲点がまさにそうだが、自分達が相手にしてきた自然はなんでもありで、「酷い」システムは無数に存在しており、それをたくさん観てきた経験が、それらをそのまま、ただそこにあるものとしてフラットに受け止めることができるのだ。
「このシステムはそういうものだからずっとそのままにしておけばいいんだ」という誤った認識さえ持たなければ——すなわち、必要な際には優れたエンジニアと同様、リファクタリングに向かうことができれば——この特性は非常に強力な武器になる
手を動かさずに愚痴を言うだけの人間には誰も良い感情を抱かない。黙々とやれる貴方は同僚からリスペクトを受けられるだろう。

弱み・気をつけるべきシリーズ

貴方が何かの特性を持っているのであれば、それは当然のことながら、ある場面では強みになるが、別の場面では弱みともなりうる。
そうした例もあげておこう。

貴方は設計者ではない

前節の「酷い」システムとは真逆の話になるが、自然科学の研究をやっていれば、この自然界に存在する「優れた」システムにも多く触れてきただろう。
一見複雑に見える事象が、たった一つのシンプルな原則のもとで説明できる、「神が作りたもうた」究極的な美しさを持ったものだ。
「自分はそういうものに多く触れてきたから、システムの設計もできます!」というアピールをしようとする人も中にはいるかもしれない。
だが残念ながら、貴方にはそのようなことはできない。
才能の有無や、向いている・向いていないといった話ではなく、単純な事実として、貴方は「ある目的を達成するためのシステムを設計する」という仕事はしてきておらず、そのような技術は身につけていない、という話だ。

もちろん、自然科学専攻者の中には、極低温の実験をするためにその低温環境を実現するための装置の開発をしていました、というような人もいるだろう。あるいは、分子の運動をシミュレーションするためにその数値計算用コードをずっと書いていました、というような人も。
そうした経験は間違いなく、エンジニアリングの経験として大いに誇っていいモノだろう。
だが一つ忘れないでいてもらいたいのは、学部の4年間を含めて貴方が最も長い時間身をおいていた所、すなわち貴方が足場にしている「巨人」は、あくまでも観測された自然現象の法則性を明らかにする営みであり、対象をコントロールすることの訓練は受けていない。
もちろん、大学は職業訓練所ではないのだが、とはいえ工学系の専攻者は間違いなく、貴方よりも長く・深く、それらを学んできており、明らかに貴方とは違う巨人の肩への乗り方を知っている。その点にはリスペクトを払う必要がある。

幸い僕は、働いてきた多くの期間で、そのようなエンジニアリングのバックボーンを持つ優れたアーキテクトと一緒に仕事をすることができていたため、彼らのおかげで間違いを犯すケースは少なかったし、多くのことを学べたが、それでも自分一人でアウトプットせざるを得ないときには、その分野の勉強をサボっていたツケを「他人に」支払わせる酷いものを多く作ってしまった。
「盲点」を思い出してほしい。もし貴方がエンジニアリングの勉強をせずに重要な仕事をしようとした場合、あの悪夢の穴を作り出すのは、誰でもない、貴方自身となる

人を否定してしまう

まず事実として、人とのコミュニケーションにおける「否定」は貴方がイメージするものとは違うことを理解しよう。
命題や仮説を否定する、というとき、それはその行為者の意図の中で閉じているものだが、人と人の間では「否定」という事象はそのようには働かず、むしろ貴方の意図とは全く何の関係もなく発生しうる
例えば、朝職場で同僚に会った際、貴方が何か考え事をしていてその同僚に気づかず、挨拶をしなかったとしよう。そのとき、もしその同僚が「否定された」と感じたのであれば、それは否定のコミュニケーションになっている。
「いやいや、否定してないですよ!」というかもしれないが、残念ながら、貴方の頭の中は誰からも観測されておらず、この世界に発生した事象は「その受け手がどう感じたか」ということしかない。そして、結果だけを客観的に観測すれば、それはもう否定が行われたのと同じことなのだ。

この重要な事実と、「強み」節で述べた貴方の持つ特性が絡むと、やっかいなコミュニケーションが生まれるケースがある。
スタートアップではすごいスピードで様々な試行錯誤が行われるのだが、当然それに伴って貴方にも様々な相談ごとがやってくる。
同僚からの「こういうことをやりたいんだけど」という話を聞いたときに、貴方がやりがちなアクションを当てよう。
貴方は「それだと、こういうケースのときにダメだね」と言う
「バグを見つけるのが得意」の節でも述べたが、自然科学で仕事をしていたときに貴方が散々やってきたことで、それは染みついている。
何か仮説となるようなものを見たときに、まずそれに穴がないかが気になり、それが見付かればすぐに指摘する。
研究のディスカッションであれば、それは何も問題ないことだ。まさにそこから価値のある仕事が始まっていくのだから。
しかし、残念ながら、スタートアップのサービス作りの職場では、そこから何も始まらず、終了することは多い
貴方からその言葉をもらった同僚は「否定された」と感じ、貴方に反発して何も価値を生まない言い争いが発生するか、あるいは距離を取られ、結局何かが作られることはない。

それが続けば、貴方の社内での扱いは残念なものになっていくだろう。上司から「気をつけてね」と言われるかもしれない。
その時貴方は「いや、そんなつもりじゃないですよ!」と言うだろう。
だが思い出してほしい。大切なのは、この世界に何が発生しているか、ということだ。そして、その世界をコントロールするための手段が何なのか、ということを。
「同僚がそういう受け取り方をやめればいい」というのは明らかに意味のない要望だ。なぜなら貴方は同僚をコントロールすることはできないのだから。
自然科学で何かの検証をしたいときに、自分自身では決して制御できない要素、例えばその地の天候や宇宙線量といったものを相手に、場所を移すでも影響を最小化する装置を作るでもなく、「これらが変われば良い実験ができる」と言って何もせずに待っている人間を見かけたらどう思うだろうか
貴方がやるべきことは、自分でコントロール可能なものをコントロールして、最大のアウトプットを出す、ということだ。そして貴方がコントロール可能な最大の資源は、貴方自身だ。

新しく作ろうと思う仕組みに穴がないかを見つけることはとても重要だ。だが、それよりも大事なことは、新しい何かをつくることで、そのためには同僚を否定してはいけない(何度も言うが、貴方が否定するつもりかどうかは関係がなく、否定されたと思わせない、ということだ)。
誰かから話がきたら、まず「肯定」しよう
やり方は非常に簡単で、単に一言先に「いいね!」をつけるだけでいい。何が良いのかと聞かれたら、その同僚が向かおうと思っている先・作り出したい価値が良い、と言えばいい。そのための「方法」のディスカッションはいくらでも後でやればいいのだから。
念のために補足すると、たまに、本当にただ「手段」だけが飛んでくる場合もある。
「この形の歯車にしたらずっと動き続けて仕事してくれるんですよ!」とか、科学者なら誰の目にも穴が明らかな永久機関を持ってこられた時、しかしその時でもまず肯定してあげよう。どんなものであれ、捻りだせば肯定可能な要素は持っている。そして貴方は「捻り出す」ことは得意なはずだ。永久機関の例であれば、その同僚はきっと、エネルギー問題を解決したいと思っているのだ。素晴らしいことだ。そこを肯定しよういいね!と言うのだ

取るべきアクション

ここまでは貴方が自己アピールで使えるかもしれないヒントを書いてきたのだが、それだけではただ教科書を読んでいるのと同様、まだ受け身な立場だ。お金を稼いで生きていくには、なにか外の世界に作用するアクションをとる必要があるのだが、そのための一番のおすすめが以下だ。

インターンに行こう

企業側でプログラムが用意された一日体験みたいなものではなく、実際にその職場で発生している仕事を一緒にこなす、というインターンに行こう。
スタートアップ企業の多くはそうしたインターンを募集している。その企業がどういうサービスを作っているかとか、労働条件がどうとかは本当にどうでも良いから、自分が稼働できる条件にマッチするところに応募してみよう。

目的は2つだ。
まず、一つ目に得られるものは、貴方が「働いたときの自分を観測できる」ということだ。
これは非常に非常に大きい。
僕がいた素粒子理論物理学の分野は、もはや理論研究が実験を追い越し過ぎてしまって、自分達の仮説を検証するような実験がおいそれとはできなかったり不可能だったりするのだが、その苦労がどれほどのものか想像できるだろうか。
貴方には貴方の人生の目的があるだろうが、間違いなく「幸せであること」は意識して良いものだ。そしてそのためには、「自分はこれをやると幸せだろうか」という仮説の検証を行うべきだ。
もしインターンで働いてみて、向いていないな、と思えばそれでいい。単にその企業が性に合っていないだけの場合もあれば、スタートアップという文化それ自体や、あるいはサービス作りがあっていない、という人もいるだろう。だが何にせよ、「これは今の自分にはあっていない」ということを知ることができるのは、非常に大きな価値がある。人によってはそれを知るために多大なコストを支払う人もいるが、インターンであればコストはないようなものだ。

もう一つは、「強み」で書いた内容を、本当のことである、と証明するためだ。
僕は採用選考をやっていたこともあるが、流石に一度もコードやサービスに触れたことのない学生が「バグを見つけるのが得意(かもしれません)」と言ってくるのをそのまま信じるのは難しい。
だがインターンで働くことができれば、その企業のコードに触れられたり、最悪でもサービスに触れることはできるだろうから、あれこれ触ってみて、どうでもいいようなつまらないものでもいいから、何か2、3個バグを見つけることができる。
「絶対に」という表現を使える科学者は少ないだろうが、数少ない「絶対」の一つとして、「バグのないシステムは絶対に存在しない」という事実は多くの人間が苦笑混じりでも否定はしないだろう。だから、何かは見つけられるはずだ。ただのタイポだっていい。
具体例と共に語られるアピールは強い。是非それを手に入れよう。

インターンを経験しない方がリスクかもしれない

大学が忙しくて、そんなことをやっている暇はないよ、と言う人もいるだろう。だから「普通の」就職活動だけをして、4月から初めて働き始めますよ、という人が。
多くの人がアドバイスするであろう「新卒切符を大切に使え」とは真っ向から反逆してしまうのだが、普通に卒業してからインターンをやる、というのも悪くない選択肢だと思う。
僕の友人には、物理学の大学院修士課程を終えた後、いわゆる新卒採用の就職活動に失敗し、実家で2年ほどニートをして、その後にIT系ベンチャー企業インターンで入り、そのままその企業に雇用されて上場まで経験している人間がいる。
経歴だけを聞くと、特別なギフトに恵まれた人間だと思うかもしれないが、彼は間違いなくこれを読んでいる大多数の人と同じような、どこにでもいるくらいの意識の「低さ」の人間だった。そもそも学生時代に必死に就職活動をしていたのだから、本当にすごければ新卒で「すごい」会社に入ってただろう。
「そんなN=1の特別な生存者ケースをもとに誤ったアドバイスをするな」というのはその通りで、だから真似をしろとは思わないが、だが少なくとも、そうした状況に陥っても(=何も就職先が見つからずに卒業しても)、何も終わってなどいないし、絶望なんてする必要はない、ということだけは伝えたい。
貴方がリスクだと思っている「新卒で就職できないと終わり説」は、本当に今の世の中でも、インターン無しに働き出すことの期待値を超えた「仮説」かを検証しただろうか?

終わりに

自然科学を専攻してきた人たちは、この世界がどのような仕組みで動作しているのか、を常に思考してきた。
一方、ある目的を達成するためにどのような仕組みを作るべきか、ということはやってきていない。
この二つは関連していることもあるし、実際、偶然うまく当てはまるケースがあれば、その仕組みを考えることができるかもしれない。
だがそれでも繰り返し言うが、もともとそれを本職に専攻してきた人間がいて、普通にやっていてはその人たちに追いつくことはできない。
エンジニアやデザイナーになりたいならば勉強し続けろ、というのが正しいアドバイスだろう。

だがフォーカスすべきなのは、自分の職種をどう選ぶか、ではない。
もし今それが気になっているとしても、もっと深く考えれば、その上位あるいは先に、より根源的な欲求があるはずだ。
この世界の何がその欲求と関連しているのかを観測し、その欲求と事象との相互作用の法則性を解き明かし、どのような行動を取ればうまくその法則と調和できそうかの仮説を立て、穴がないかを検証し、実際に実験してみよう。
それは決して、エンジニアリングの勉強を積むことより簡単ではない。だが、簡単だからやることよりも、面白いからやることの方が楽しいはずだ。