つながるワイヤレス通信機器の開発手法(4) ――ハードウェアとソフトウェアを切り分ける
一方,ソフトウェア・エンジニアの場合はフラッシュROMを使っていれば,その場で簡単に(コストをかけずに)ソフトウェアを変更できる.また,ソフトウェアの場合,再利用のために汎用性を高めてライブラリ化する場合が多い.OSなどは,ハードウェアの構成に左右されずにソフトウェアを効率良く開発するためのライブラリ集と言えないこともない.このようにソフトウェアの世界ではソース・コードの行数が多いため,保守性や品質を保つためにライブラリ化を進めている.
ハードウェアの世界でもHDLが導入され,最近では大規模なソース・コードと格闘する場合が多くなってきた.このため,ライブラリ化の動きが進んでいる.
上記のような特質と傾向の違いから,ハードウェア・エンジニアとソフトウェア・エンジニアはなにかと意見がすれ違いがちである.早く両者の壁がなくなってほしいものである.業務をローテーションすることで垣根を取り払うことも可能だろう.筆者が講師をしていたある新人セミナにおいて,この問題の解決策を受講者に考えてもらったところ,「ハードウェア・チームとソフトウェア・チームで合同宴会を定期的に行えばよい」という答えが返ってきた.最近では「会社は会社,プライベートはプライベート」と考えている新人が多いと聞くが,まだまだ捨てたものではないようだ.