自分戦略研究所 | 自分戦略研究室 | キャリア実現研究室 | スキル創造研究室 | コミュニティ活動支援室 | エンジニアライフ | ITトレメ | 転職サーチ | 派遣Plus |

組み込みエンジニアは何を見るか

第6回 経験がスキルアップにつながる

三浦優子
2007/8/29

最近注目されている組み込みエンジニア。彼ら、彼女らは、どんな製品にかかわっているのだろうか。

 日立システムアンドサービスのデジタルメディアソリューション本部 デジタルメディア部 坂本暁氏は、今年入社6年目になるエンジニアだ。現在担当しているプロジェクトは、ハンディターミナル関連とWindows CEを搭載した端末だ。

 「ハンディターミナルについては、ファイルシステムの移植と、消去や書き込みの速度が速く大容量化に適したNAND型フラッシュメモリ用ドライバの移植作業を担当しています。Windows CE端末についてはOSのポーティングを担当しています」

 大学では、電気電子専攻科でネットワークを勉強した。

 「卒業したらソフトウェアエンジニアになりたいと思っていましたが、具体的にどんなソフトウェアを開発するのか、具体的なイメージはありませんでした。できれば日常的に自分たちが利用するような製品のソフトウェアを作ることができればいいなと漠然と思っていましたが……」

 日立システムアンドサービスに入社後、組み込みソフトを開発する仕事に携わったことで、自分が開発したソフトウェアが入った製品を目にする機会を得た。

 「日常的に利用する製品としては、以前担当していたICカードリーダ/ライタが該当します。ただ、私が開発したのは九州地区で利用するものだったので、実際に製品が使われているのを目にしたことはないんですが(笑)」

 坂本氏は、「この仕事は、10年くらい仕事を続けないと、一人前にはならないんじゃないかと思っています」という。しかし、現実には部下を持って仕事の指示を出さなければならない立場となった。

他人の仕事も自分のこととしてとらえる

 坂本氏の現在の仕事は、与えられた業務に対して仕様書を作成し、その仕様書に基づいてプログラムを書き、そのプログラムがきちんと動くのか動作を確認する。正常に動作すれば問題はないが、不具合があった場合にはその部分の原因を突き止めて修正していく。

日立システムアンドサービスのデジタルメディアソリューション本部 デジタルメディア部 坂本暁氏は、「10年くらい仕事を続けないと、一人前にはならない」と語る

 「新人のころは、周囲がどんなことをしているのかまで推し量る余裕がありませんでした。自分が担当となったモジュールの開発をするだけで手いっぱいでしたから。ただ、それだけでは自分の作ったモジュールが、どの部分でどう動いているのかといった、ソフトウェアの全容をつかむことはできません。新人時代は、作業に慣れてくるといまよりも時間があったので、そこで自分の担当部分をいち早く終わらせ、担当ではないモジュールまで試しに作ってみたりしました。そういうことを繰り返していくことで、自分の仕事に対する理解が深まっていったように思います」

 仕事への理解を深めていくために、打ち合わせにおいても自分以外のスタッフに対する指示についても他人事とは考えず、話を聞くようにしている。

 「ほかの人に対する指示であっても、関係ないと思わず、自分のことと置き換えて話を聞いていると、仕事の全容を理解しやすくなります。その結果、自分に求められているのはどんなことなのかについても推測しやすくなるんです」

 積極的な姿勢が、自分の仕事への理解を深めていくことにつながっていく。

 読みやすいプログラムを書くためには、自分が書いたものを見直すだけでなく、他人が書いたプログラムと見比べてみることも重要だ。

 「とはいえ、すべてのコードを自力で書いても駄目です。例えばWin32 API(Application Program Interface)に関しては、マイクロソフトが発行しているドキュメントを確認してサンプルどおりにやるのが一番いいんです。これもノウハウの1つといえるかもしれません」

ハードに関する知識はソフト開発の大きな力に

 作業を続けていく中で、壁にぶち当たることもある。作ったプログラムがまったく動かなかったり、動いても思うような動きをしない――。そんな状況が2、3日続くこともある。

 「そういうときにはおかしなところがない確実な部分と、どうも怪しい不確実な部分を選り分けて、怪しいと思われる中から原因を究明していくしかありません。大体において新しく書いた部分(ソース)が怪しい。怪しい部分が明確になったら、あとは先輩に聞いたり、OSがWindowsであればマイクロソフトに問い合わせてみれば、ほとんどの場合、解決策が出てきます。しかし、おかしな部分が出てきて、それを上司に説明するためには、問題点をある程度整理しておかないと相談のしようもないんです。おかしな部分が見つかったら、それをほかの人に説明できるように、自分の中で問題点を整理するというのが最初の壁といえるのかもしれません」

 上司に不具合について説明をしているうちに、あらためて問題点がどこなのか気が付くこともあるという。不具合がどのような経緯で起こったのか、冷静に客観的に把握することがトラブル解決の第一歩である。

 先輩エンジニアの中には、不具合に関する説明を聞いているうちに、「それはここがおかしいんではないか?」と指摘する人もいるそうだ。

 「プログラムを見ているわけではないのに、不具合がある個所を指摘できるというのは、一種の勘といえるのかもしれませんが、それはプログラムそのものをよく理解していて、どんな不具合が起こるのかを理解しているからこそ働く勘なのだと思います。自分もそういう勘が働くようになりたいと思いますが、それにはやはりある程度の経験が必要ということかもしれません」

 40代の先輩は、現在のようにハードウェアとソフトウェアの区分が明確ではない時代から、組み込みソフト開発に携わっていた人が多い。

 「そういう先輩は、完全にハードウェア、ソフトウェアが分離した後に社会人となった自分たちに比べると、ハードウェアに関する知識が豊富です。OSをポーティングするとき、スタートアップルーチンはどう書けばいいのか、バスのタイミングはどうかといった普通は意識しないことまできちんと理解されている。いまのエンジニアには、そこまでの知識は必要ないのかもしれません。しかし、そういう知識を持っていると、いろいろな場面で応用が利くことは確かです」

 坂本氏は学生時代ネットワークを専攻していたため、電子基板を目にする機会がたびたびあった。そういう経験も現在の仕事にプラスとなっているという。さまざまな経験が積み重なりエンジニアとしての業務を支えている。

 「学生時代、マイコン学習キットを触ったことがありますが、そういう経験も案外、仕事を始めたときにプラスになっています。仕事の中で、ハードウェア構成図を目にする機会も多いですから、組み込みソフト開発に携わりたいと考えている人がいたら、マイコンキットを触ってみるのもいい経験になると思います」

現在のレベルを向上させたい

 坂本氏は、「プログラムを書く仕事で一人前になったといえるまでには、最低でも10年は経験を積まないと駄目じゃないかと思っています。今年で社会人になって6年目の自分は、まだ新人の部類だと思っているんですが」と考えているそうだ。

 しかし、現実的には部下を持って指示を出す立場となった。自分だけでなく2〜3人のスタッフも含めて仕事の段取りを考えて、指示を出さなければならない。

 「従来の組み込みソフトは、規模が大きくなかったので『管理者』は必要ありませんでした。しかし、携帯電話に代表されるように、200人、300人規模で開発される組み込みソフトも増えています。これだけ大規模な開発となると、従来の組み込みというイメージでは収まりません。プロジェクトマネージャの管理の下、階層別に開発を進めていく必要があるでしょう。そうなると品質についても、より高レベルなものが求められるようになっていくのでしょう」

 組み込みソフトを取り巻く環境が大きく変化していく中で、坂本氏は自分の現状と将来を、次のように話す。

 「私の指向は職人寄りというのか、もっときれいなプログラムが書けるようになりたい。いまは目の前のことで精いっぱいで、フォームも顧みずにバタ足で泳いでいるような状態です。きれいなフォームのクロールで泳ぎ切れるようになりたいというのが現在の目標です。将来、こんな仕事をしたいといった希望がいえるような段階ではありません」

 エンジニアとしての経験を積み重ねていく中で、仕事のより一層の難しさ、可能性を痛感しているからこそ出た言葉である。

組み込みエンジニアに関連する参考記事
組込みソフトウェア技術者試験の概要教えます
こんなところで組み込み初体験

 

自分戦略研究所、フォーラム化のお知らせ

@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。

現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。

これからも、@IT自分戦略研究所をよろしくお願いいたします。