「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。
ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ
私は、10月で入社からちょうど2年目を迎えた社員です。今回のソフテックだよりでは、この1年間で感じた事柄として、「大学での経験を仕事に活用する」ということをご紹介したいと考えています。どうぞ、最後までお読みくだされば幸いです。
「大学での経験を仕事に活用する」というと、「大学でプログラミングを学び、それをソフトウェア開発に生かす」というように、専攻と仕事の内容とを一致させることと思われがちです。私も、大学にいる時はそのように考えていました。そのため、大学の専攻で一切プログラミングを学んでいなかったことから、大学の経験はまったく役に立たないだろうと考えていました。しかし、後述する「新技術」の調査を通じて、その経験が生きることとなります。そのことについてご紹介いたします。
ソフテックでは、開発を請け負う過程で、「新技術」に挑戦することがあります。この新技術とは、世間的には旧知であっても、社内的に未知であれば新技術と呼称しています。もちろん世間的にも新しい技術へ挑戦する場合もあります。
私は新入社員という立場ながら、「CANopen」と「ベクトル量子化圧縮」の2件の新技術案件に携わることとなりました。この2件について、概要と経験談をご紹介いたします。
CANopenの前にCAN(Controller Area Network)についてご紹介します。CANは、1980年代から開発が進められた通信規格の一つで、車載機器間の通信手段として開発されました。耐ノイズ性やエラー検出、運用の柔軟性などが注目され、現在では幅広い分野で用いられています。
弊社では、横河電機殿のPLC(Programmable Logic Controller)「FA-M3」に対応するCAN通信モジュールとして、SZ20を開発しました。(https://www.softech.co.jp/can_main.htm)CANとSZ20についてはソフテックだよりでも何度か取り上げておりますので、併せてご覧いただければ幸いです。(ソフテックだより第131号「CAN通信モジュール紹介」)
このCANの上位プロトコルにあたるのがCANopenです。2004年にドイツのCiA(CAN in Automation:http://www.can-cia.org/)という非営利団体によって定められました。現在までに、日本企業を含む数百社がベンダー登録を行っています。
CANopenは、openの名の通り、誰でも自由に開発に参加できるよう、規格書がウェブ上で公開されています。私はこの規格書のうち、主要な通信プロトコルを定めた規格書を調査し、社内で報告するという役割を任せられました。下記図 1は、その報告の際に作成した資料の一部で、CANopen機器間で1対多数と1対1の通信について図示したものです。
図1. CANopen規格書に基づき作成した資料の例
さて、この規格書は全て英文で記述されています。CANopenに限らず、海外で開発されたハードウェアや通信プロトコル等のマニュアルは英文であることが一般的です。入社前、中小企業だから英語など必要ないだろうと考えていましたが、そんなことはありませんでした。また、調べたところ、日本語の資料はほとんどなく、CANに対する知識と、規格書読解から仕様を把握する作業となりました。
なお、CANopenの通信プロトコルについては、いずれ機会があれば詳しくご紹介したいと考えています。
ベクトル量子化については、私自身が以前ソフテックだより第165号に書かせていただきました。(ソフテックだより第165号「ベクトル量子化を用いた情報圧縮」)この技術は、かつては動画像の符号化技術として開発されましたが、ソフテックだよりでは情報圧縮へ用いる技術としてご紹介させていただきました。
ベクトル量子化は、1970年代から存在する技術で、上述のCANopenに比べると日本語の情報に富んでいます。しかしながら、ベクトル量子化の代表的なクラスタリング手法の提唱者はいずれも海外の研究者だったため、この案件でも英語は必須でした。
また、ベクトル量子化については、前提になる知識が無く、完全に社内での初の試みでした。「どこから調べれば良いかすらわからない」という完全な手探り状態です。この点は、CANという下地の知識を社内で扱っていたCANopenと事情の異なる部分です。そのため、何度も打ち合わせを行い、その中で間違いや疑問点の確認と調査の方針の軌道修正を繰り返しました。また、その度に資料を作成し、Notes(ソフテックだより第19号「グループウェア Lotus Notes」)を用いた社内での情報共有もしました。
ソフテックだより第165号にもありますように、この案件では、画像のベクトル量子化圧縮を実現するアプリケーションも開発しております。開発に関しては、技術的に力不足で、開発の後半はほとんど先輩社員の力に頼ることとなってしまいました。
以上を踏まえ、大学の経験が仕事のどのような部分に、どう活用できるのか、をまとめたいと思います。
まず、ソフテックのように、ハードウェアマニュアルや通信プロトコルを必要とする企業であれば、英語の能力は必ず役に立ちます。卒業研究を経験されている方なら、指導教員に英語の論文を渡された経験をお持ちの方ものいらっしゃるかと思います。そのような論文を読んだ経験は、例え分野の異なる論文であったとしても、必ず役に立ちます。
ところで、英語の能力というと、英会話が堪能だったり、資格試験の点数を思い浮かべたりで、「英語は苦手だな」と感じている方も多いのではと思います。しかし、ソフテックの場合、現在は海外企業と直接やり取りを行っていませんので、マニュアルなどの技術英文を比較的スムーズに読める程度で良いと思います。もちろん、そこから英語の勉強をしていくことは良いことだと思いますし、私もそうしたいと考えています。
次に、調査して得た情報をまとめ、それをチームに的確に伝える能力が必要です。大学の経験で言えば、卒業論文やレポートの作成、授業でのプレゼンテーションがその能力に該当すると思います。
自分の伝えたいことを読者や聴講者に適切に伝えるために、物事のどこから切り出せば良いのかを知っていることは大きな利点であると思います。もちろん、このスキルは、社内だけでなくお客様との打ち合わせにも必ず役に立ちます。
このように、「大学の経験は専門技術以外にも生かすことができる」と私は考えています。今回は、英語と情報を集めて文書や口頭で報告するということを例に挙げました。いずれも、すぐに身につく能力ではないと思います。仕事で大学の経験を活用するためにも、ぜひ授業や研究に興味を持って取り組んでみてください。また、その中で経験をしっかり積み重ねていけば、仕事をするにあたっての大きな支えになると思います。ただ、正直なところ、目的意識に欠け、単位を取るためだけの義務的なレポート作成やプレゼンテーションでは、仕事に生かせる経験にはなりにくいと思います。
「大学の経験を活用する」というテーマについて、新技術調査という観点からご紹介いたしました。なお、今回ご紹介した事例は、ソフテック全体の業務内容の中で、必ずしも多くはありません。そのため、ソフテックの新入社員が必ずこのような案件に関与するとは限らないことにご留意ください。
しかしながら、通信プロトコルやハードウェアマニュアルの確認などは日常茶飯事ですし、Notesを用いた日報報告や様々なドキュメント作成も業務の一部です。従って、大学の経験を活用できる状況はたくさんあると思います。
ちなみに1年間経っても、プログラミングのスキルはまだまだと感じています。ベクトル量子化圧縮の案件で、最後は先輩社員に頼りっぱなしになったことに触れましたが、もし、自分で調査したことを自分でコーディングして形にできたら良かったな、と思います。そのあたりが、2年目の課題です。
最後までお読みいただきありがとうございました。
(Y.T.)
関連ページへのリンク
関連するソフテックだより