HOME > ソフテックだより > 第258号(2016年5月18日発行) 現場の声編「仕事に生きた学生時代の知識」

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

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


ソフテックだより 第258号(2016年5月18日発行)
現場の声編

「仕事に生きた学生時代の知識」

1. はじめに

私はソフテックに入社して4月で14年目に突入した社員です。
高校は理数科、大学は工学部の情報系学科と、どっぷり理系の私ですが、学生時代に学んだ知識を果たして仕事に生かすことができていたのだろうかと、ふと疑問に思いました。
私にとって学生時代は、既にひと昔以上前となりますが、これから社会に出る学生の方々にとって少しでも参考になればと思い、当時を振り返り紹介してみようと思います。

2. 学生時代に習得した知識は仕事に生かせたか?

大学時代は情報工学を専攻しており、ソフトウェア開発という今の仕事に直接結びつく勉強をしていました。
ソフトウェア開発に興味があり、勉強した知識が生かせると考え、ソフテック入社を希望しました。
入社して丸13年ソフテックで仕事をしてきましたが、「学生時代の知識をどれくらい仕事に生かすことができただろう?」と振り返ると、恥ずかしい話ですがパッと思い浮かばないものですね。強いて挙げるとすれば以下のものでしょうか。

  • 初仕事で使用したC言語が大学の必修科目であったため、文法など基礎的な部分は習得済みだった。
  • 卒論でWebアプリケーション開発を経験していたことで、開発とはどういうものであるか、ある程度事前にイメージを持っていた。(今思うと大した開発ボリュームではありませんが…)
  • 大学時代、趣味で自作PCにハマっていたことから、開発環境の構築やPCの選定などでPCの知識が役立った。

学生当時もっと真面目に勉学に励んでいたのであれば、もう少し挙げられたのかもしれませんが、残念ながらすぐに思いつくのはこんなところでした。

更に深く学生時代を思い出すと、さすがに情報工学の知識は仕事全体を通じて役立っていたと思いました。
実感したのは、入社後受けた基本情報技術者試験、応用情報技術者試験に合格したときでした。当然ながら学生時代に習っていたものが多く、比較的スムーズに勉強を進めることができました。どちらの試験も一発で合格することができ、学生時代に勉強していて良かったと思えた瞬間でした。

大学時代のカリキュラムを改めて眺めると、上で挙げたプログラミング言語の科目以外にも、データ構造・アルゴリズム、信号処理といった科目も仕事に役立っていたと思いました。
少し具体的な例を挙げると、信号処理の授業で習ったサンプリング定理(標本化定理)です。
一言で言うと、「アナログ信号をデジタル信号に変換するとき、元の信号の2倍以上の周波数でサンプリングすれば信号を正確に復元できる」というやつです。
なぜか授業のこの部分だけはとても印象に残っており、教室の風景までも思い出すことができます。
この定理にある「元の信号の2倍以上」という部分を仕事の場面で直感的に使っているなと思いました。具体的に以下の通りです。

タッチパネル(三菱電機社製GOTを想定)のアラーム機能を利用して、システムの異常状態を収集することが私は良くあります。
タッチパネルはPLCと通信しており、一定周期でPLC内のメモリを監視しています。
PLC内のあるビットデバイス(OFFとONの2つの状態を持つメモリ)がONになると、タッチパネルはアラーム発生と認識して記録を取ります。また、OFFになるとアラーム復帰と認識して記録を取ります。

ここで、タッチパネルがPLCのビットデバイスを1秒周期で監視しているとした場合、サンプリング定理より2秒以上の周期でPLCのビットデバイスを変化させる必要があることが分かります。

サンプリング定理を用いた具体例
図1. サンプリング定理を用いた具体例

図1①の例では、元信号の周波数fc = 0.5Hz、サンプリング周波数fs = 1.0Hzですので、サンプリング定理 fs≧2fc を満たしています。
サンプリング結果も「OFF→ON→OFF→ON…」と、元信号の変化を正確に取得できていることが分かります。

図1②の例では、元信号の周波数fc = 0.67Hz、サンプリング周波数fs = 1.0Hzですので、サンプリング定理 fs≧2fc を満たしていません。
サンプリング結果も、「OFF→ON→ON→OFF→ON→ON」と、ところどころ「ON→OFF」の変化を取りこぼしてしまっていることが分かります。

また、大学4年生の時、人工知能の研究を行う研究室に在籍していました。卒論のテーマも人工知能をeラーニングシステムに適用して効率良く学習者支援を行うというものでした。
現在ディープラーニング(深層学習)の発展により、世の中は第三次AIブームのまっただなかにおりますが、そのディープラーニングの基礎技術であるニューラルネットワーク(人間の脳をモデルにした情報処理モデル)も大学時代に授業で習っていたものでした。 仕事に直接生きる部分ではないかもしれませんが、世の中の動向を理解する上でこの知識が生きていると感じました。
他にも今気付いていなくても、今後の仕事で役立ってくる部分はあると思っています。

大学時代に勉強した内容を全て覚えていて、必要なときにすぐに取り出せる状態にあれば理想ですが、それは無理な話だと思います。
しかし、何かの拍子に「これはあの時に勉強したな」と思い出し、何を勉強すれば良いかがピンと来るだけでも、学生時代の勉強が大いに生きていると考えています。

3. 仕事をする上で必要な知識

ソフテックでは様々な業界のお客様からお仕事を頂きソフトウェア開発を行っています。 私の場合には、防災、飲料、半導体、自動車部品、製鉄、製紙といった業界のソフトウェア開発をこの13年間で経験してきました。

業界が違っても、情報工学、プログラム言語の文法といった必要とするごく基本的なスキルは変わりません。ただ、これだけではソフトウェア開発には不十分であり、基本スキルに加え業界特有の知識を習得する必要があります。
例えばビール工場向けの仕事であれば、ビールの醸造設備の知識や、ビール製造工程に関する知識も必要となります。また、制御対象が変われば、プログラムの作り方も変わってきます。

この業界特有の知識が良い仕事をできるかどうかのカギとなると考えます。
業界のことをある程度知らなければ、まず要求仕様を理解することができません。
要求仕様が理解できなければ設計もできないし、ましてプログラムを作ることもできません。
お客様から言われた通りにソフトウェアを作るだけであれば、それほど高度な知識は要らないかもしれませんが、その業界のプロであるお客様に対して、より良い仕様、システム提案を行うソフテックの仕事となると、更に深い知識習得が必要となります。

私の学生時代の知識というのは、大学の授業や書籍、ネットなど、教材が溢れており、やる気さえあれば比較的容易に習得できるものであったと思いました。
しかし、ソフテックで仕事をする上で重要となる知識は、教材を探すこと自体に苦労するということも珍しくありません。
幸いソフテックにいると、周りに深い知識を身に着け活躍している同僚がたくさんいますので、情報共有することでスキルアップするという方法もとることができます。
何をすればスキルアップできるのか、自ら動き情報を集め、継続して学習していくということが何より大事だと思いました。

4. おわりに

今思うと、学生時代にもっと勉強していればなぁと思うところもあります。
アルバイトと勉強を両立していたことで、大学の勉強以外でも得るものが多くありましたので後悔はしていませんが。

今ならば、仕事で必要なものを勉強するため、おのずと目標が明確になっておりますが、学生時代の私は「将来はソフト開発関係の仕事をしようかな?」程度の漠然な考えしかありませんでした。もう少し目標が明確になっていれば、だいぶ違ったように思います。
例えば、なんとなく「ソフト開発の仕事」ではなく、「制御系のソフト開発をしたい」と一段具体的になるだけで、授業への取り組み方も変わっていたように思います。

今さらではありますが、今回の執筆にあたって学生時代の自分を振り返ることで、明確な目標を持つことの大切さを実感しました。
今後も更なるスキルアップを目指し、目標を持って日々精進していきたいと思います。

そして、偶然にも在学中にこの記事を目にした方がいましたら、早めに具体的な目標を設定することをお薦めしたいです。仕事に就いて学生時代を振り返った時、胸を張って学生時代の知識が生きていると言えるためにも。

(M.S.)


関連ページへのリンク

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

ページTOPへ