目的にあった効率化を図る

2023/07/26【本体設計部のお仕事/メッセージ】

本体設計部のMasegiです。本体設計部では、計測器本体の設計業務を担っており、当社は自社開発製品メーカーなので、私たち自身で仕様書を作り、実際に量産までもっていくのが仕事です。

そんな私から今回投稿するのは、私の得意分野であるプログラミングとの出会いの話から考察した、「効率化」に関する話です。

ファミリーコンピュータが発売されてから40年が経ったそうです。発売当時、釣りと虫取りが好きなアウトドア少年だった私ですが、これらのコンピュータ機器と出会ってプログラミングに心を奪われ、気がつけば今、目の前のPCにかじりついてソフトウェア関連の業務を行っています。人生を左右する出会いの一つだったと思います。

さて。その頃夢中になって読んだコンピュータ雑誌に、あるプログラムテクニックが記載されていました。計算速度アップを目的としたもので、かけ算の実現に足し算をできる限り使わないというものです。

当時のコンピュータに採用されたCPUは汎用的なかけ算の機能が備わっていないものがほとんどで、大体は内部のプログラムで足し算を複数回行うことで実現していました。5×5は+5を5回繰り返すという感じです。この場合繰り返し判定と足し算を5回実行する時間がかかりますが、実はビットシフトというx2だけできる命令を使うと、5x2x2+5と3回の計算で済み、速度をほぼ倍にすることができます。数行で済むかけ算処理が俗に言うスパゲッティコードとなり、可読性は下がり入力の手間も増えますが、計算速度アップにはベストな手法です。時には泥臭い力技も有効なのだと深く感心し、さらにプログラミングにのめり込んだ覚えがあります。

もちろんコンピュータが進化した現代で件のテクニックそのものは通用しませんが、私は今も時折、あの時の感動を思い出し、目的にあった手段で業務を効率化するよう心がけています。

例えば、試作プログラムを組むとき、あえて似たような機能のコードをまとめずに分けて書いたりします。最初にコードを入力する時間は増えますが、後々の機能変更や改造のしやすさでトータルの作業時間を短縮できるだろうと考えてのことです。

あるいは、資料や試作品の完成度が低いまま関係者への回覧に踏み切ることもあります。普通ならやり直しの無駄が生じ、回覧する方々の時間も奪うところですが、自分の勘違いで設計の方向性が間違っていた場合、アドバイスによって早めの方針転換で事なきを得るかもしれません。特に最近は迷うことがあれば、遠慮なく周りの方の力と時間を借りるようにしています。

一見回りくどい非効率なこれらの行動が必ずしも良い結果に繋がるとは限りませんし、むしろそのまま目論見が外れて怒られることも多いです。しかし杓子定規な目先の作業効率化は、本来の目的を見失ったり思考停止に繋がる恐れがあります。お客様が気付かないニーズを形にする当社にとって、とても危険な事だと思います。 いまだ試行錯誤の連続ですが、本来の目的を意識して効率化を図ることで、短期間に良い製品をリリースできるようになるはずです。これが私にとって最も効率的な会社貢献だと信じて、今後も精一杯考えて、業務に取り組んでいこうと考えています。

これを読まれる皆さんは、いかがでしょうか。効率を求められ無駄を排除しようとする時代ですが、特に新しいものの開発や制作においては、先々の可能性を見据え、あえて、多少のまわりくどい道をたどっておくことが、万が一のトラブルや変更時にもリカバーできる仕事になると思います。

参考になれば幸いです。