HOME > ソフテックだより > 第184号(2013年4月17日発行) 現場の声編「マルチスキルの駆け出し時代を振り返って」

「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。

ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ


ソフテックだより 第184号(2013年4月17日発行)
現場の声編

「マルチスキルの駆け出し時代を振り返って」

1. はじめに

私は、2013年3月末をもって、ソフテックでちょうど10年間勤務したこととなります。
振り返ると、多くの失敗をやらかして会社や先輩方に迷惑を掛けてきました。
その中で、マルチスキルというものに初めて足を踏み入れた入社2年目の失敗にスポットを当て、振り返ってみたいと思います。

2. マルチスキルとは

ソフテックで行っている受託開発業務をソフトウェアの分野別に分類すると、

  • マイコン用ソフトウェア開発
  • Windows用ソフトウェア開発
  • PLC用ソフトウェア開発

の、主に三つに分けることができます。(図 1)

2012年度の開発比率
図1. 2012年度の開発比率

ソフテックでは、社員のマルチスキル化を推進しています。
マルチスキルとは、分野を跨いで複数の開発を担当できることを意味します。
私にとって入社二年目が、マルチスキルというものに初めて足を踏み入れた時期でした。

私がそれまでに経験していた仕事は、ほとんどがマイコン用ソフトウェア開発の分野であり、たまにWindows用ソフトウェア開発をかじる程度でした。
プログラミング言語は、C言語かC++言語しか経験がありませんでした。

そこへ突如、PLC用ソフトウェア開発の仕事が舞い込んできました。
PLC用ソフトウェア開発では、C/C++言語とは全く異なる「ラダー言語」というものを使用します。

プログラミング言語以外においても、マイコン用ソフトウェア開発時代は「社内で基板とにらめっこしながらデバッグ作業」といった開発が主でしたが、お客様の工場へ出張して大きな装置を相手にする作業も初めてであり、大きく異なりました。

このように、ほとんどマイコン用ソフトウェア開発のスキルしか持ち合わせていなかった私が、二つ目のスキルとしてPLC用ソフトウェア開発を体験したのが入社二年目でした。

3. 初めてのPLC用ソフトウェア開発

初めは勉強から入るのですが、見た目から考え方までが大きく異なるラダー言語に、とても苦戦したことを覚えています。
C言語は基本的にエディタに文字を書いていくスタイルですが、ラダー言語は画面に記号を置いていくスタイルであり、これだけでも慣れるまで一苦労でした。

また、C言語であれば一行で記述できる処理も、複数行に渡って記号を配置しなければならなかったり、バグ探しの手法もC言語なら一行ずつ動かしながら確認できるのに対し、ラダー言語ではそれができなかったりと、当時は同じソフトウェア開発なのになんでここまで違うのだろうと悩むほどでした。
今思うと、ソフトウェア開発の基礎スキルが低すぎたことが問題でした。

PLCに関してド素人の私でしたが、通信処理といった部分的な開発をいくつか経て、とうとうまとまった箇所の開発を任されることになりました。
開発工程は厳しく、納期というプレッシャーと戦いながら何とかプログラムの作成を終え、実機確認が始まりました。
いざ装置にソフトを入れて動かすと、これが見事に動きません。
問題箇所を追おうとしても、スキルの低さから思うように作業することができません。

ほとんど先輩に付き添って頂き、結局自分で書いたプログラムが残らないほど修正して頂くという苦い経験となりました。

4. 誤解が招いた大失敗

納期も近付き、プロジェクトメンバ全員が極限状態で作業していたときのことです。
私自身は納期との戦いに加え、自分のスキルの低さとも戦わなければならず、疲れ果てていた状態でした。

私自身は出来ないながらも「何とかしなければ」と必死でやっていたつもりでしたが、
私の疲労状況を敏感に感じ取ったプロジェクトリーダは、「休ませた方が良い」との判断を下しました。
判断に従い、その日は誰よりも早く上がり、翌日は土曜日でしたが、他のプロジェクトメンバが休日出勤を予定している中、お休みを頂くことになりました。

その時私は、プロジェクトリーダの「週末リフレッシュして来週からまた頑張って欲しい」という願いを、「自分は必要無いんだ」と誤って解釈してしまい、その足で新宿に向かいました。

当時私が所属するソフテック本社事業所は、新宿の歌舞伎町にあったこともあり、ストレスの発散場所を探すのは簡単でした。

2005年当時の本社事業所外観
図2. 2005年当時の本社事業所外観

いつも以上に酒に呑まれた私は、ストレスとともに財布、携帯電話などバッグごと無くしてしまいました。
幸いにして無くしたものは、やさしい方に拾われ戻ってきたのですが、プロジェクトのメンバーとは連絡が取れない事態となり、とても心配をお掛けしました。

反省した私は、いてもたってもいられずメンバーにも会社の方にも誰にも相談せずに馴染みの理髪店に足を運びました。
私が指定した髪型は、長髪が禁止されていた中学一年生当時と同じ3分刈りでした。

散髪後初めて顔を合わせたプロジェクトメンバは、一瞬呆気にとられていましたが、すぐに笑いが沸き起こりました。
プロジェクトメンバに迷惑をお掛けしたことをお詫びし、心機一転現場作業に戻りました。
当時の状況は、8年経った現在でも、たまに笑い話として話題に上ります。

5. マルチスキル化で得たもの

何事にも言えることだと思いますが、新しいものに挑戦するということは簡単なことではありません。
しかしそれを乗り越えてこそ見えてくるものもあると思います。

当時は、主にマイコン用ソフトウェア開発の経験しかありませんでした。
そこで初めてPLC用ソフトウェア開発というものに触れました。

その後もPLC用ソフトウェア開発については多くの仕事を担当することができました。
さらにWindows用ソフトウェア開発もいくつも担当し、冒頭で紹介した3つの開発分野において今に至るまでバランス良く経験を積んできました。

マルチスキルを習得することで、単体のスキルだけでは見えなかったものが見えてきたと思えることが増えてきました。
以下に例を紹介します。

5-1. PLC内部の動作が想像できる

PLC用ソフトウェア開発スキルと、マイコン用ソフトウェア開発スキルの合わせ技の例です。
PLCもマイコンで作られており、マイコン用ソフトウェアがPLCの中で動作しています。横河電機、三菱電機といったPLCの製造元が、マイコン用ソフトウェアの開発を行っています。
私の場合は、PLCに近いマイコン用ソフトウェア開発を経験したことで、PLC用ソフトウェア開発を行いながら、PLC自体の動作を想像することができるようになりました。
PLC自体のバグを発見したという経験もあります。

5-2. システム全体を見渡せる

PLC用ソフトウェア開発スキルと、Windows用ソフトウェア開発スキルの合わせ技の例です。
PLCのみで構成されるシステムは非常に小規模なものに限定されます。
ソフテックで開発するシステムは、パソコンやタッチパネルといったユーザインタフェースを持ち、PLCと通信を行うことで1つのシステムを構成していることが多いです。
PLC用ソフトウェア単体のスキルしか持ち合わせていなかった頃には難しかったのですが、Windows用アプリケーション開発も経験したことで、システム全体を見渡すことができるようになったと思います。

複数人で開発を行う場合、それぞれが担当するソフトウェアのインタフェース部分で問題が発生することが多いと考えます。
例えばPLC側を担当していた場合、通信相手となるパソコン側ソフトウェアの作りを意識しながら開発を行うことで、結合時の問題を未然に気付ける可能性があります。
システム全体を見渡すことで、ソフトウェア開発の無駄を省くことができ、開発効率が上がると考えています。

マルチスキルは、単純にできることの数が増えるだけではありません。
各スキル同士の相乗効果で、ソフトウェア開発全体において大きくプラスに働くと考えています。

6. おわりに

紹介した失敗から8年が経過しました。
その後も数々の失敗を繰り返しながら今に至っています。
失敗はありますが、その中から多くのことを学び、少しずつではありますが成長していると信じています。

当時に比べればスキルの幅もだいぶ広がったと思います。
しかし、どのスキルも奥が深く、極めるには、まだまだ程遠いと感じています。
ソフトウェア開発という職業は、常に新たなスキルを取り入れ、日々勉強し続ける必要があると考えています。
今後も精進しスキルを磨いていきたいと思います。

(M.S.)


関連ページへのリンク

関連するソフテックだより

ページTOPへ