システムエンジニアって何をしてるの?
ATACKSを担当させて頂いているY.D.です。
今回は私がブログの執筆担当ということですので、以前から考え続けていたテーマについてお話しさせて頂きます。
テーマ:システムエンジニアって何をしているの?
(以下、システムエンジニアはSEと省略します)
答え:小学生でも理解できるマニュアルを作成しています
そもそも、このテーマは何を意図しているのか?と疑問に思われる方が多数だと思います。
これはSEの仕事の成果ではなく、仕事の過程を問うたものです。
SEの仕事の成果というのはある意味分かりやすくて、お客様(あるいは市場)のニーズを読み取って、アプリ(業務ソフトだったりWebサービスだったり)をご提供させて頂く、という事になります。
身近な例では、マイクロソフトさんのExcelなどOffice製品だったり、GoogleさんのGoogle MAPなども、SEの仕事の成果と言えると思います。
それでは、SEの仕事の過程とは何でしょうか?
言い換えますと、SEはどのような手順を追って、アプリの提供を行っているのでしょうか?
このテーマについて、もちろん専門用語を用いて一つ一つ丁寧にご説明差し上げれば、もちろん説明可能なのですが、もうちょっと噛み砕いて説明できないかなぁと以前から模索しておりました。
その結果が、先ほどの一文です。
「小学生でも理解できるマニュアルを作成しています」
これは一体どういう事でしょうか?
順を追ってご説明いたしますが、まずは前提となる知識が必要です。
コンピュータは、小学生並みの単純作業しかできない。
※ ただし超高速。
8割ぐらいの方は、え?と思われたと思います。
自動車が自動で動き出したり、将棋や囲碁がプロに勝ってしまう時代に何を言っているのか?と。
でもそうなんです。
自動運転だったり囲碁だったり、パソコンは一見するととても複雑そうなことをやってのけているように見えます。
しかし実は、それらの動作の一つ一つを分解してみていくと、実はものすごく単純な事しか行っていません。
なんなら、パソコンの動作は全て、マニュアルとして書き起こすことが可能です。
(しかも読み書き四則演算ぐらいしかないので、簡単に理解できると思います)
このマニュアル通りに進めれば、小学生でもパソコンと同じ事が出来ます。
なんと、小学生でもプロに勝ててしまいます!
こう書きますと、小学生とパソコンの違いは何だろう?という話になると思います。
答えは上に書きました通り、速度の違いです。
確かにマニュアルを読み進めれば誰でも同じ事ができます。
ただし、このマニュアルは何万ページになるか何億ページになるか、膨大な量に成り得ます。
人間にかかるとマニュアルを読むだけで人生が終わりそうな量ですが、パソコンなら一瞬で作業が完了します。
ここが大きな違いです!
例えば、今どきのパソコンなら数十億回の足し算が1秒で可能です。
人間が1秒に1回計算できたとしても数十年かかってしまいます。
文字通り桁違いの速さですね。
ここまでのお話を整理しますと、パソコンは単純な(小学生でも解る程度の)マニュアルしか理解できないけど、超高速に遂行することが出来る、となります。
ということでSEはパソコンのために、小学生でも理解できる程度のマニュアル作りをお仕事としています。
以上。
……で終わっても良かったのですが、もう少しだけ。
マニュアル作りと単純に書きましたが、これが意外と難しいお仕事になります。
何が難しいかと言いますと、小学生でも理解できるような単純なマニュアルにする必要がある、ところにあります。
例えば、「あなたの業務をこれからはパソコン任せにする」というのは「あなたの業務を小学生任せにする(ただし超高速)」、という事になります。
という事は、マニュアルはできる限り詳細に書く必要があります。
「本を棚にしまう」
これだけだとベテランは理解できるかもしれませんが、小学生には不十分です。
「あなたの机の上のハリーポッター第一巻を、東に30メートル進んだ先にある本棚の、上から3段目にしまう」
このような感じになります。
しかし実はこれでも不十分です。
- 机の上に同じ本が10冊あった場合はどうするのか?
- 本棚が36メートル先にあった場合はどうするのか?
- 本棚に空きがなかった場合はどうするのか?
- 途中で転倒して骨折した場合はどうするのか?
- 隕石が降ってきた場合はどうするのか?
などなど、考慮するべきことはたくさんあります(笑)
(笑)と書きましたが、SEって本当にこんなことを真面目に考えて、マニュアルを書いています。
そんなほとんど起こりえないことを考えてどうするの?と思われるかもしれませんが、1%でも起こり得るのなら、きちんとマニュアル化する必要があります。
なぜかといいますと、パソコンは単純で応用力がないから。
1つでも想定外があると、たちまち動作を停止してしまうか、変な結果を引き起こしてしまいます。
最悪、人が死んでしまうかもしれません。
小学生向けのマニュアルの難しさはここにあると思います。
他にも考慮すべきことがあります。
それは、正確に書くこと、です。
「100円のリンゴと80円のミカンを購入したら、20円だった」
ちょっと感が良い人なら、マイナスとプラスの計算違いだということに、すぐに気が付くと思います。
しかしパソコンはそうは行きません。
マイナスと書かれていたら、その通りに計算します。
÷と書かれていても、何の疑問ももたずに実行してしまいます。
実際、このような1文ぐらいだと気づきやすいのですが、何万何億ページのマニュアルになっても、同様に1文字の間違いもなく、マニュアルを書き上げる必要があります。
まだあります。
それは、曖昧さの排除です。
「オーブンに火をつけて、こんがり焼き色が付けば完成です!」
というのはご想像の通り、パソコンには理解できません。
人によって判断基準が異なるようなものは、パソコンは判定することができません。
「きれいな青空を書く」
こういうのもNGですね。
「この写真と比べて、同じ色になれば完成です!」
パソコンに理解できるように書くとすればこうなると思います。
誰が判断しても同じ答えに辿りつけるようなマニュアルを書き上げることが重要です。
あと一つ、考慮すべきことがあります。
それは、本当にそのままマニュアル化すべきなのかどうか、です。
「段ボール箱にりんごを詰める」
これでも間違いではないのですが、
「発泡スチロール箱にりんごを詰める」
場合によっては、こちらの方がより良いかもしれません。
そして、実はここが一番難しいです。
なぜなら、「どういった形がベストなのか?」という問いは、誰も正解を持っていません。
パソコンに出来ること出来ないこと、コストの多寡、人との関わりなど、環境によっても幾分と変わってきますので、場合によって千差万別なマニュアルが完成し得ます。
各々のSEは、まさにこの部分で腕を競い合っている、と言っても過言ではありません。
ということで結論。
ここまで長々と書いてきましたが結局、「小学生向けのマニュアルを作っています」という事になります。
ただし、どういった形がより良いかなぁとか、こういった想定外はないかなぁとか、ベテランなら阿吽の呼吸で対処できそうなところも、かなりの時間を割いて考えています。
SEはいつもここに書いているような事を考えながらお仕事を行っていますので、SEの人にお会いされる機会がありましたら、「一緒に小学生向けのマニュアルを作成しよう」という気持ちで臨まれるのが良いと思います。
お互いの気持ちが通じ合って素晴らしいアプリ(業務ソフト)が生まれると思いますよ。
今度こそ以上。
お問い合わせ
株式会社タダノシステムズ
電話 087-839-5545
受付時間 8:30-17:00 [ 土・日・祝日除く ]