元テスラのソフトウェアエンジニアだったという人物が、かつての仕事について赤裸々な告白を、掲示板「The Something Awful Forums」のサブフォーラムの中のサブフォーラムで行っています。テスラ車のファームウェアのインストール方法など、エンジニア目線でうんざりするような内容だったという告白は、多くの閲覧者の関心を引いており、質問に答えるAMA(Ask Me Anything)が行われています。

元テスラ従業員という「fart-powered cars」氏の書き込みの全スクリーンショットは、以下のツイートにまとめられています。

https://twitter.com/atomicthumbs/status/1032939617404645376

かつてテスラに在籍していたfart-powered cars氏は、インフォテインメント・ファームウェアやバックエンドサービスのコードを書いていたとのこと。これらのサービスはすべてバックアップなしの単一の低品質のデータセンターで実行されていたそうです。書き込みは「かつて、jenkinsパイプラインが1時間近い再起動地獄を引き起こした、という楽しい事実があるよ」という内容から投稿が始まっています。なお、fart-powered cars氏がテスラと結んだNDA(秘密保持契約)は期限切れだとのこと。

fart-powered cars氏によると、モデルSとモデルXはOpenVPNを使ってバックエンドと通信をしているとのこと。そのバックエンドにはシステムに情報を送るメタデータサービスがあります。それらのうちの1つにタッチスクリーン内のスーパーチャージャーについて記述する20MB程度の最悪のシステムで作られたJsonペイロードがあるとのこと。しかし、昔にシステムを作ったプログラマーがセグメンテーション違反を予防するカスタムパーサーの認証コードを入れ忘れたため、コンポーネントの再起動が頻発したとのこと。こんな不具合は枚挙にいとまがないとfart-powered cars氏は述べています。

fart-powered cars氏に対して、質問が続出。「なぜ自動車を最低のバーチャルマシン環境で走らせたの?」という問いに対しては、「かつてはCentos 6とRuby on Railsだった。もう3年も働いていていないけれど、モデルSとモデルXについては変わっていないと聞いた。モデル3は新しい技術を使っているけれど、同じデータセンターをベースにしている」そうです。

かつてモデルSのプログラムを担当していたとき、「ファームウェアを書き替えるためにソフトウェア技術者がラインで流れる自動車に乗り込んで作業をしていた」という驚きの内容を書き込むfart-powered cars氏。

「自動車に装着する前に、ストレージを書き換えられないの?」という疑問に対しては、「自動車には複雑なコンポーネントが組み込まれていてアップデート作業には特別な手順が求められているので、時には10回以上の試行が必要なほどで、テスラは組み立て前のファームウェア書き換えを選ばなかった」そうです。

最終的にテスラは「賢く」なったので、モデル3の製造工程では改善されているとのこと。

「テスラ流」の製造方法は掲示板を見る多くの技術者にとっては驚きの内容だったようで、「テスラは『プロセスエンジニアリング』という用語を聞いたことがないの?」という質問が寄せられました。これに対してfart-powered cars氏は、「スマートなエンジニアはみな辞めるかクビになった。負の"遺産"は彼らのせいじゃないのに」と述べ、「現状変更」を恐れる技術者の存在によって、なかなか状況が改善しない環境だったことを示唆しています。

「彼らは『move fast and break things(素早く行動し破壊せよ)』という暗黙の知をすっかり忘れていたようだ」という感想に対して、fart-powered cars氏は「まさにその通り。当時の私たちは、致命的な問題を手当てする時間がなく、常に人員不足だった。なぜならみんなすぐにやめるし、会社も技術者に競争力のある魅力的なオファーを出さなかったから。これが、技術者が燃え尽きてしまう理由だよ。テスラはみんなを追い払ってしまったのさ」と答えています。

「ファームウェアを担当した者は、ほとんどの時間をイーロン(マスクCEO)の気まぐれに振り回された」と述べ、ワンマン経営者への対応のせいで重大な問題の修正時間がなかったと告白しています。
https://gigazine.net/news/20180827-tesla-fart-powered-cars-ama/
https://twitter.com/5chan_nel (5ch newer account)