見出し画像

君はMal functioningを楽しめるか?

某月某日

エンジニアが開発している対象に向き合うときに、Mal functioningが楽しめるかどうかがその人の技術力、問題解決能力、創造性、そして仕事を楽しめるかどうかを大きく決めるとずっと思っている。

特に誰かにこのことを話したことはなかったが、最近プログラミング教育やエンジニアの育成について考える機会あって、自分が大切にしているMal functioningについて会社のメンバーや親しい人に話す機会があった。

Mal functioningというのは、日本語に訳すと「へんな動き」、「正しくない動作」ということになる。

ソフトウェアでもハードウェアでも開発をしていると必ず作っているものの「へんな動き」を目にすることになる。これを英語圏のエンジニアは「mal functioning」と呼んでいる。

この「へんな動き」を目にしたときのエンジニアはだいたい

1. 頭を抱える

2.興味を抱く

のうちのどちらかの反応を示す。

結論から言うと、②の人はだいたいエキスパートか、これからエキスパートになる人だと自分の20年のエンジニア経験から強く思っている。

この考えを強く持ったのは前職で携帯電話を開発していた頃に遡る。

当時今のMacやiPhoneのストレージとして使われているSSD(ソリッドステートディスク)の前身でもあるNANDメモリーが携帯電話に使われ始めた頃だった。

NANDメモリーはまれに1ビットの情報(OnかOffか)を保存しているCellと呼ばれる部屋から電荷が隣のCellに漏れることがある。Cellにあった電荷が漏れてしまうと、On -> Offに1から0に情報が化けてしまうため、保存してあった写真などのデータが壊れてしまう。このことをCell Leak(セルリーク)と言う。

この現象は新品のメモリーでは起きにくいがまれに工場からこのCell Leakが起きた疑いのある製造中の携帯電話の基板が送られてくることがあった。

このときの人々の反応は、

- 頭を抱える

- 関わりたくないので問題を問題と捉えないようにする(スルーしようとする)

 - ただ単純に興味を抱く

の3パターンに分かれた。

僕は興味を抱く側の人間だった。もう1人僕以上に興味を抱くハードウェアエンジニアのSさんという人がいたので、僕たち2人は、その疑いのあるメモリーにいろんなパターンのデータを書いて問題が再現しないか実験した。しまいにはオーブンの中にその携帯電話の基板を入れて温度を少しづつ上げながらいろんなデータを書き込んでデータが壊れないかを観察した。誰もいなくなった夜遅くのオフィスでオーブンの中の基板を薄っすらと笑みを浮かべて観察する2人のエンジニアを思い浮かべて見て欲しい。やばいでしょ?

スウェーデンオフィスにも同じようなメモリーマニアが3人ほどいて、メモリーテクニカルワーキンググループというグループを結成していた。僕はスウェーデンにいたころに似たようなNANDメモリーの問題でこのグループの会合に出たことがあるが、どの人も難しい問題が起きていて問題について話あっているのに、なぜか嬉しそうな顔をして自分の考えを熱く語っていた。彼らもSさんもとんでもない知識を持ったエキスパートだった。

このように僕がいままで出会ってきた優秀なエンジニアの人というのは問題が起きたときに、見ないふりをしたり、過度にストレスを感じたり、短期的な回避策に走ったり、誰かを攻めたりすることなく、「へんな動き」に純粋に向き合い、それを楽しむくらいの姿勢を持っている人が非常に多かった。そしてその問題から他の誰よりも多くのことを学んでいってしまうので、同僚の普通のエンジニアの人がその人たちに追いつくことは不可能に見えたのである。

僕が今の会社をはじめて、アプリ開発を始めるようになったときに出会ったアプリプログラマーのなかにもこういう人がたくさんいた。「へんな動き」を人に見せて笑ったりする人たちだ。

それから歳月がたちアプリ開発の開発ツールやプロセスが成熟し、アプリ開発エンジニアになることが「キャリア」としてみなされる昨今、こういう人を見る機会が減ったような気がしている。

今は1つのプルリクエストをいかに完璧にレビューで叱責を受けずに通すかが大事なこととして考えられている場所がたくさんあるように見えて、こういうことが自分にMal functioningについて語る機会を増やしているのかもしれない。

スティーブ・ジョブズが他界した日、CNNをみていたらアップルのもう1人の創業者でアップルの初期のコンピュータを独力で設計したスティーブ・ウォズニャックがインタビューに答えていた。それまで冷静にインタビューに答えてジョブスとの昔話を話していたウォズニャックが「僕らはたくさんのmalfunctioningを楽しんだ、、」と言った瞬間急に泣き崩れた。

天才ウォズニャックにとってもmal functioningを楽しんだことがスティーブ・ジョブズとの一番の思い出だったのかもしれない。

プログラマーの仕事の仕方が最近少し窮屈になってきているかもしれないけど、僕はこれからもmal functioningを楽しみながらプログラムを書いていこうと思う。

つづく。




この記事が気に入ったらサポートをしてみませんか?