見えないところで、すべてを支えている
電気で走るクルマにとって、バッテリーは心臓だ。そして、その心臓の働きを制御しているのが、バッテリーマネジメントシステム(BMS)と呼ばれるソフトウェアである。
充放電を管理し、状態を監視し、異常があれば守りに入る。運転する人がその存在を意識することは、まずない。だが、止まれば何も動かない。
このプロジェクトで私たちが担ったのは、お客様が描いた「試作モデル」を、実際にクルマへ載せられる「実装モデル」へと磨き上げ、C言語のコードにしてお届けするまでの全工程だった。
図で描いたロジックが、コードになる
プログラムは、必ずしも文字で書くとは限らない。
MATLAB/Simulink というツールの上で、制御のロジックをブロック図として組み立てていく。figureで描いた「図」が、そのまま動作の定義になり、最終的にはツールがC言語のコードへ変換する。
チームリーダーのY.Yさんは、前職ではWebの業務システムを手がけてきた。組込みの開発も、モデルベース開発も、これが初めてだった。
「モデル開発というより、言語とモデルは"そのものが違うだけ"で、結局やりたいことは一緒だったんです。そういう意味では、すごくいい経験ができたなと思っています」
── Y.Y
図の中では、固定小数点の扱いを一つずつ詰めていく。コードに変換すれば、今度はビット幅を意識した実装が待っている。見た目の親しみやすさとは裏腹に、要求される精度は容赦なく高い。
Excel3万行、限界との戦い
このプロジェクトで最も過酷だったのは、検証の物量だった。
機能ごとに要件定義書を書き、モデルを修正し、テストする。そのテスト仕様書が、Excelで3万行、4万行に達する。しかも縦だけではない。横にも数百列が続いていく。
「Excelが重すぎて、開かなくなるくらいの量です。それを数週間で仕上げなければいけない。物理的に作業量が多いのが、大変でしたね」
── Y.Y

手作業では、どう考えても間に合わない。そこでY.Yさんは、VBAでマクロを組む方法をメンバーに教えた。決まった形式に沿って自動で表を生成し、あとを手で整える。その一手で、作業スピードは劇的に変わった。
では、AIに任せられなかったのか。答えは、否だった。
「テストは、ある意味"検算"に似ているんです。検算するための式が正確じゃないと、意味がない。そこは人が理解して作ってあげないと、結局、誰も中身を分かっている人がいなくなってしまう」
── Y.Y
土台を整える、というリーダーの仕事
Y.Yさんを除けば、チームのほぼ全員が実務での開発経験を持っていなかった。そしてY.Yさん自身も、人をまとめる立場は初めてだった。
彼が選んだのは、指示を出すことではなく、土台を整えることだった。
C言語で直接書く必要が出たときは、自分の作業を一旦止め、誰でも真似できる形にひな型を用意してから渡す。ビットマスクのような概念は、イメージが湧く言葉に噛み砕いて説明する。
「常にみんなの作業状況を想像しながら、自分の作業をやる。今この人はこれをやっているんだろうな、そろそろ終わるかな、と頭の片隅に置きながら進める。自分のことだけを意識しない。それが、今回初めて経験したことでした」
── Y.Y
筆記用具のインクから、クルマの制御へ
K.Mさんの前職は、筆記用具メーカー。大学で学んだ化学を活かし、インクの開発を手がけていた。プログラミングの経験は、まったくなかった。
半年間の独学を経て、彼女はこの世界に飛び込んだ。このプロジェクトは、彼女にとって初めての長期プロジェクトだった。
「業務開始直後は、わからないことだらけでした。大きなことも小さなことも、確認してからでないと作業を進められず、周りの足を引っ張っている自覚があって、心苦しい時期がありました」
── K.M
その時期を越えられたのは、先輩の一言があったからだという。
「"できるようになることが最大の恩返し"と、おっしゃってくださった先輩がいて。とにかくできるようになること、以前と比べてできるようになったことに目を向けて、日々やっていました」
── K.M
子どもを寝かせて、21時から
K.Mさんには、二人の子どもがいる。
夕方には保育園へ迎えに行く。そこで一度、仕事を離れる。子どもたちを寝かしつけたあと、21時頃から作業に戻ることもあった。
テストは、ボタンを押してから結果が出るまで6〜7時間かかることもある。だから、その日の作業を終える前に流しておき、翌朝に結果を確認する。子どもの急な発熱に備えて、自分の中の納期は前倒しで設定しておく。フレックスと在宅勤務を、使えるだけ使う。
「時間のやりくりは、確かに大変な面もありました。でも、どこのプロジェクトに入っても結局は勉強しなきゃいけないし、わからないことだらけなのは一緒。それを自分で選んできたので、やるしかない、という感じでした」
── K.M
最後に、全員が「楽しかった」と言った

最後の納品を終えた日。チームのチャットには、スタンプが飛び交った。それは、緊張から解き放たれた瞬間だった。
「気持ちの面で、すごく楽しかったなと。私は結構ずっと楽しんでました。難しいことも、苦しいこともいっぱいありましたけど、"これをやったら完成だ"というゴールはちゃんと見えていた。わからなくても周りの人に聞けばいい、Y.Yさんがきっと教えてくれる、という安心感もありました」
── K.M
何もないところから始まった彼女は、プロジェクトの終盤には、お客様から受け取ったモデルの中に矛盾点を見つけられるようになっていた。
「"確かにここ、直さなきゃいけないね"となったときは、私でも見つけられるようになっているんだ、と。そういうところで、成長を感じました」
── K.M
Y.Yさんもまた、このプロジェクトを振り返ってこう語る。
「モデルベース開発のノウハウが身についたのはもちろんですが、組込み開発という観点でも、かなりオーソドックスな開発でした。次の案件につなげられる基礎を積めた、みんなにとってそういう案件だったんじゃないかなと思います」
── Y.Y
自分から動ける人と、働きたい
リーダーとメンバー。立場は違っても、二人の答えは重なっていた。
「H&Sは、エンジニアの会社だと思います。技術力をしっかり磨いていきたい方に、多く来ていただきたいなと思います」
── Y.Y
「H&Sの社員は皆さん優しくて、わからないことがあっても、こちらから聞けば誰でも親切に教えてくれる。自主性や向上心のある方に向いている会社だと思います」
── K.M




