最近、業務改善のツールをExcel VBAでひたすら作っています。がっつりプログラミング。1KLはいかないけど、500Lはいきそうな規模感。そこそこな規模になってしまった。これ誰がメンテするんや。私がいなくなったら確実に改修できない代物です。マニュアルと注意事項はしっかり作っておかねばならないツールができかけています。これ誰がメンテするんや……。(ちょっと後悔)
こういったツールを作るのは初めてではありません。Excel VBAではないけれど、前職で.NET Frameworkを使ってWindowsアプリケーションを開発した経験があります。最近、そのときのことをよく思い出します。あのときは尊敬する上司と2人であるツールを開発していました。設計から実装、そしてテストまで全て自分たちで行う。データベースを使ったシステムをがっつり開発したのはあれが初めてでした。データベースを使ってExcelに出力する、という点で今作っているものと似てるから余計に思い出すのだと思います。
今思うと、私の教育も兼ねた案件だったと思います。システムの改修案件が多い中、一から設計してシステムを作り上げる、という貴重な経験を積ませてもらいました。
当時はあーでもないこーでもないと議論を重ねるのが楽しかった。速度を出すためにはどうすればいいか、スマートな設計とは何か、どう作れば汎用的なシステムになるか。
調査して、実装して、動かして、また調査して。その繰り返し。でもその中で上司からいろんなことを学べるのが楽しかった。そのときの私にはない視点をたくさん与えてくれました。納期に間に合わなくてGWに出勤する羽目になったのも今ではいい思い出です。ちょうど6年前のことかも。
今作っているツールは全て1人で設計して試行錯誤して正解とは何かを考えながら作っています。ツールの作りについて相談できる人なんて職場にはいません。使い勝手は聞けるけれど、「システムとしてどう作るのがベストか」なんて話をできる人がいるわけもありません。(元)エンジニアは私だけだもの。
簡単なツールは1人でも十分ですが、そこそこ規模のあるものを作るには誰か相談できる人がいた方が楽しいなぁ、と感じています。ある程度自分の中で正解は持っているけれど、やっぱり悩むことはあるしそのときに議論したり相談できる相手がいると開発にも身が入るんだよねぇ。