PR
石黒 邦宏 氏
ACCESS 最高技術責任者(CTO)兼
最高情報責任者(CIO)
石黒 邦宏 氏

 「自分の作ったプログラムがあちこちで使われていることが制御系プログラマのやりがい」と言うのはACCESSの石黒 邦宏氏である。石黒氏は,これまでに通信機器に組み込む制御系プログラム(ファームウエア)を数多く開発してきた。「インターネットを使いながら,この通信を中継しているどこかで使われていると感じることがあります」(石黒氏)と語る。

 プログラマの仕事は,文字通り「プログラムを開発すること」である。だが,通信機器や産業機械などに組み込む制御系プログラムの開発は,一般的なプログラム開発とはちょっと異なる。制御系プログラムの特徴は,高い信頼性を求められること。重要なインフラとして使われていることが多いため,不具合が発生した場合にパソコンのように再起動すれば済むとは限らないからだ。

 例えば,通信機器が故障してしまって,災害などの緊急時に連絡ができない事態が発生してはまずい。石黒氏は「下手をすると命にかかわる場合があります」と,その難しさを語る。つまり,制御系のプログラマには,高いプログラミングスキルが求められる。

 その一方,求められるスキルとして「以前は職人芸的なところが大きかったが,最近は普通のプログラマとの違いが少なくなってきました」と石黒氏はいう。これは,通信機器をはじめとして,基本ソフトとしてLinuxなどの汎用OSを使うケースが増えてきたからだ。これにより,開発環境やツールも一般的なものを利用できるようになってきた。

チームをまとめるアーキテクトを目指せ

 ITの進歩に伴い,制御系プログラムのサイズは,徐々に大きくなっている。石黒氏は,「場合によってはWindows 95並みの大きなプログラムになります。ですが,やはり安定性に関しては厳しい条件をクリアしなければなりません」と語る。このため,1人ではなくチームを組んで開発を進めるケースが一般的になっている。

 石黒氏は「ちゃんとしたイメージを持っている一人のアーキテクトが全体を設計し,それを複数のチーフプログラマにモジュールごとに分散して,開発するのが理想です」。制御系のプログラマは,このような開発形態に沿って,ほかのプログラマをまとめるチーフプログラマ,そして最終的にはアーキテクトを目指すのが理想ではないかと石黒氏はいう。

 アーキテクトとしては「正しいアーキテクチャを俯瞰した上で個別の中身もイメージできる人」が求められる。このため,「現場からあまり離れすぎると最適なアーキテクトではなくなります」(石黒氏)。もちろん,課長や部長という通常の管理職になるのもよいが,プログラミングの現場を離れずにアーキテクトを目指すのも技術者にとっては魅力的な道といえるだろう。

お仕事解説:プログラマ(制御系)

機器の動作を制御するプログラムを開発

 制御系のプログラマとは,通信機器や産業機器などに組み込む制御プログラム(ファームウエア)を開発する人である。

 以前は,こうした機器に搭載するプロセッサは貧弱で,使えるメモリーのサイズも小さかった。このため,組み込むプログラムもできるだけ小さいサイズに最適化するなど,プログラマにも一種の職人芸のようなものを求められることが多かった。だが,最近は技術の進歩でこうした制約が緩和され,それに伴いプログラマに求められる能力も特殊なものではなくなってきている。

 とはいえ,一般のプログラムよりも高い信頼性が求められるのは変わらない。高い信頼性とは,すなわち“落ちない”ことである。インフラの一部として使われることが多いため,停止や再起動がほとんどないような質の高いプログラムを作ることが求められる。

必要なスキル

  • プログラミング能力
    信頼性の高いプログラムを開発するためには,高いプログラミングの能力が欠かせない。
  • 継続力
    プログラミング能力を高めるには,「自分でプログラムをどんどん書いてスキルを磨いていくという王道が一番」(石黒氏)。プログラミングの作業を毎日継続できる力があれば,良いプログラマになれる。
  • チーム力
    最近の制御系プログラムは規模が大きいので,1人ではなく複数人でチームを組んで開発することが多い。このため,他の人と協力して開発できるチーム力が求められる。