台大観察と所感(6):学部3年(上)
いつの間にか大学生活も後半に入り、学部3年(上)になりました。今学期は19単位を取りましたが、授業は3日間に詰め込み、残りの2日は会社インターンに割り当てました。学業については特に語ることはありません。私は基本的にソフトウェアエンジニア方向へ進むと決めていて、生物産業機電工程(BIME)の必修は、とりあえず合格できればいいと思っていました。授業自体は大体聞いていましたが、真剣に取り組む気はなく、成績も気にしていません。時間は研究とソフトウェア開発力の向上に使っていました。
今学期は平日のうち週2日、台達電(Delta Electronics)に行っていました。台達の研究部門(台達研究院とも呼ばれます)の中の生命科学部門です。私のチームは私を含めて3人で、他の2人は生医分野の博士でした。私はそこで、台達の実験室の研究者が使う補助ツールソフトウェアの開発を手伝っていました。
以前、技術中心のスタートアップにいたので、ソフトウェア開発の流れや、概念を実装に落とす方法はある程度分かっていました。私はただのインターンですが、正直言って開発に対する理解は、むしろ台達研究院の人たちより分かっていると思います(ただし、それは彼らの専門が生医研究だからでもあります)。とにかく要求を理解した後、今学期は毎週月曜と金曜に出社して、フロントエンドとバックエンドを順番に仕上げました。特に難しい技術があったわけではなく、開発の練習として、以前から試したかったことをいろいろ試しました。例えば、サイトへの token の導入、単体テスト、自動化、Angular の上級テクニックなどです。3カ月の間にかなり練習できました。分散システムや並列計算の実装に触れる機会はありませんでしたが、数万行のコードを書けたのはそれでも達成感があります。そして3カ月後、契約期限が近づいた頃、ソフトウェアもだいたい完成していたので、上司から「残るか?」と聞かれました。職場の人たちはみんな優しくて良い人でしたが、私はそろそろ離れるべきだと思いました。
台達に行きたかったのは、スタートアップを経験したので、「大企業がどんなものか」を見てみたかったからです。台達の状況を少し説明します。新人が入るとPCが配られますが、そのPCが古い機種の場合があり、とにかく遅くて重い。そして、たとえソフトウェア開発者でも、最初は権限がロックされていて何もできません。情報部門に来てもらってPCを解除してもらう必要があります。私は正直疑問でした。最初から権限をガチガチにしなければいいのに。研究開発部門でこれだけ制限が多いと、どうやって研究開発するんだろう、と。これに比べるとスタートアップはずっと良いです。入社初日に新しい MacBook Pro を渡され、あれこれ制限されることもありません。
官僚的な制度もあります。例えば私たちのチームはソフトウェア開発なのに、サーバー申請だけで2カ月もかかりました。大企業はプロセスが多いのは分かりますが、この効率の悪さはかなり落ち込みます。あと、台達では「活力」を感じませんでした。例えるなら公務員のような雰囲気です。私は活力と情熱が大事だと思っていますが、もし雰囲気が「安逸に過ごす」ものなら、みんなも徐々にそうなってしまう。大企業はそういうものなのかもしれません。実はみんな必死に働いているのかもしれませんが、私には見えませんでした。こう感じた理由は、互いに不慣れだからだと思います。組織が大きすぎて交わりがなく、結局、隣や向かいに座っている人のことすらほとんど知らないままでした。これは本当に信じがたいです。スタートアップなら、たとえ20人でも全員を知っていて、関係も悪くありません。
最後に、台達は電器会社であり、ソフトウェア開発はもともと得意ではありません。ソフトウェア部門を本気で育てる気がない限り、ここでソフトウェアをやっても人材は残らないと思います。今回のインターンで「大企業」というものを体験できたのは良かったですが、同時に、伝統的な大企業は自分に合わないと理解しました。機会があれば、IBM や Google のような外資系の大手テック企業も体験してみたいです。違う雰囲気を見てみたい。
今学期はオープンソースにも挑戦し、それについて記事もたくさん書きました。例えば「Mozilla Servo に踏み込んだ2カ月の心得」では、OSS に関する心得を書きました。また、自分が興味のある「ブラウザ」テーマについて、《来做个网络浏览器吧!》というシリーズ記事も書きました。ブラウザ開発の方法を、原理・実装・最新研究の紹介まで含めて丁寧に解説していて、今学期やったことの中で一番意味があったと思います。