見出し画像

コラム:久しぶりにプログラミングをしました!

大知俊基(ぼす)

実は私、もともとシステムエンジニアなんです。某大手ITベンダーに入社した当初は、大型の汎用コンピュータのシステム設計やC言語やCOBOLなどを扱うプログラミングがお仕事でした。お客さまは金融系が多かったのでそれなりに厳しいお仕事だったと思います(今から20年以上前の話です ^^;)。「久しぶりのプログラミング?何をいまさら??」と思われるかもしれませんがこれには事情があって…

とあるお客さまからのご依頼で業務改善のお仕事をしています。お客さまが受注された案件ごとに管理するべき情報が多岐にわたり、案件の増加に伴い管理の負荷が多くなってきたためその仕組みを一緒に構築する、というお仕事です(人材育成のお仕事そのものではないのですが、その関係で知り合ったお客さまが困っていらっしゃったので私のスキルや経験がお役に立てば、という想いからお受けしました)。

ひと通りの要件確認と管理項目の洗い出しが終わり、管理するためのツールも決まりました。あとは実際に現場での運用に入り調整段階になったのですが、ここで追加のリクエストが入りました。「管理する項目の中に締め切りのある日付が存在する。期日までに確実に対応するために、締め切り日の1週間前の項目だけを抽出しToDoを可視化してほしい」というものです。

管理するツールはExcelです。ですので日付のセルに条件付書式をつけてセルの色を変えるなどアラーム表示することは容易にできます。ただ、案件が増えてくると元の表が大きくなり色が変わったセルを目視で探すのは少々手間です。手作業で該当する項目を抽出するのも間違いや漏れが生じる可能性があります。

表の大きさが一定でないという条件のもと正確に該当の項目を抽出するには
プログラムで実装するしかありません(Excelのマクロを組む必要があります)。昔取った杵柄、「いっちょうやってみるか!」ということでExcelのマクロに初めて挑戦してみました。

やることはいたって単純なのです。元の表から条件に合う項目を抽出して別のシートに転記するこれだけです。ただ、やりながらだんだん思い出してきました。プログラミング言語でコンピュータ動かすためには曖昧な指示はできないんです(当たり前ですが…)。どのファイルのどの位置からどこまでのデータを読み込み、どういう条件のデータを抽出し、どのファイルのどの位置にどんな形で転記するのか、いちいち手取り足取り指示しなくてはなりません。

そしてやり始めると面白くなってきました!やっぱり私はモノづくりが好きなんだなぁとつくづく思います。マクロの記述ルールにも慣れてきて、少しずつ意図した処理が実装できるようになる。分からない処理はネットの情報を検索・調査しながら試行錯誤してみる。ロジックを組みながら実行・検証を繰り返し、段々最終形に近づいていく。他のお仕事をやりながらの対応でしたが、3日目についに完成しました!

何度も何度も「実行ボタン」を押して、目の前でマクロが動くのを悦に浸りながら見ていました(笑)。少々危ない感じになってきましたので(汗)、ここら辺で少し話の方向を変えて今回の出来事の意味を考えてみたいと思います。

私にとっては、これからの仕事のやり方やスタンスについて改めて考え直すいい機会だった、と感じています。
変数やファイルをきちんと定義しないとコンピュータは動きません。何事も前提を曖昧にしないことが大切です。ロジックが間違っていてもコンピュータは動きません。誰もが納得し認識できる事実を積み上げることも重要です。

今回のことで、仕事の幅や可能性も広がりました。それ以上に、当たり前のことを当たり前にやることの大切さを改めて認識できました。
またひとつ、希望の光が見えた瞬間でした。

_/_/_/_/ ホープワークニュースレター vol.23_/_/_/_/
<希望の便り from ホープワーク協会>2024.3.8