今年6月、DONUTSは会計ソフト「ツカエルシリーズ」を開発・運営するビズソフト株式会社をグループにお迎えしました。これに伴い、ビズソフトは株式会社ジョブカン会計に社名変更し、ジョブカンの新機能として同社が開発した会計業務機能「ジョブカン会計」を8月24日にリリースしました。
そこで株式会社ジョブカン会計で取締役を務め、自らも長年エンジニアとして第一線で活躍している藤原尚紀に、DONUTSの共同創業者 根岸心がインタビューを行いました。その内容を全3回の特別編集版でお届けします。
第1回では、藤原のエンジニアとしてのキャリアや、ここでしか聞けない裏話をご紹介します。DONUTSやジョブカン、エンジニア職にご興味をお持ちの方、必見です!
インタビュアー(左)
株式会社DONUTS 共同創業者 根岸心
インタビュイー(右)
株式会社DONUTS ジョブカン事業部 副部長 CTO
株式会社ジョブカン会計 取締役 藤原尚紀
【藤原尚紀 プロフィール】
1989年 日本マイコン株式会社入社。エンジニアとして「弥生シリーズ」の開発に従事
2004年 「弥生会計」スクラッチ開発のプロジェクトマネージャーを経てビズソフト株式会社に合流、開発部長就任。その後「ツカエルシリーズ」を開発
2019年 ビズソフト株式会社取締役就任
2021年 株式会社ジョブカン会計に社名変更、取締役に就任
ーエンジニア歴30年以上!
根岸:このインタビューでは、私が気になっていることを色々と聞いてみたいと思っています!早速ですが、社内でもいろんな人に聞いたんですけど、意外と藤原さんのスキルやご経験など、知らない人が多いみたいです。
現役でエンジニアとしてコーディングに携わり続けている方って、実はあまりいらっしゃらないですよね。最近まで35歳定年説も囁かれていたような職種ですし、日本でもようやくプロダクト開発のソフトエンジニアとして、長年に渡って活躍する人も増えてきたような印象はありますけど。
藤原:そうですよね、私もなかなかの古株ですが、ジョブカン会計には、60代でなお現役でコーディングをしている人もいますよ。
私は1989年の日本マイコン株式会社入社を機に、この業界に入りました。実は当時フリーターで、妻の実家で夕飯をお世話になっていた私に、義母が新聞の切り抜きで求人情報を紹介してくれたのが入社のきっかけだったんです(笑)
まだWindowsが発売されたばかりで普及するレベルになく、マイクロソフト社が開発したMS-DOSが主流だった頃で、ビル・ゲイツの名前が日本でも広く知られ始めた時代です。
その頃の日本マイコンはワープロやゲーム・パチンコのプログラムも開発するなど、幅広く事業を展開していました。プログラミングのメインにはC言語を使用しており、ゲームはassemblerだけで書き起こしていましたね。
私は販売管理系でエンジニアをしていましたが、ゲーム担当のエンジニアは趣味がプログラミング!といった、いわゆるオタク気質な社員も多く、休憩時間にプライベートで作ったものを見せてもらって、製品より高いクオリティに驚いたこともありました。
そのような環境で販売管理系ソフトやお絵描きソフト、ワープロやゲームを開発していました。入社3年目にWindows3.1が発売されることになったのですが、その頃はみんなNEWS(Network Engineering WorkStation)というUNIXワークステーションでMS-DOSのプログラムを書いたり、UNIXでコーディングしてテストだけを実機のパソコンで行っていました。まだ、社内LAN環境も満足に整備されていないような時代の話です。
ー受託システムの開発業務を一貫して担当
藤原:入社後は3年ほど、受託販売管理系の業務システムの担当として、客先に出向き、要件出し・仕様作成からコーディング、テスト、クライアント向けのマニュアル作成まで一貫して携わっていました。しかし当時はシステムが既に導入・稼働しているのに、集金に行かないと費用が未払いのクライアントも少なくない時代でした。あれは世の中の不条理を痛感しましたね…(笑)
その頃弥生チームは、C言語で弥生を作るためのライブラリーを作っていたので、私も実際にシステムを作るときは、弥生のライブラリーを使用していました。ターゲットOSがMS-DOSだったので、MS-DOS上でウィンドウを実現させて、自分たちの好きなMacのキャプションをまねて、MS-DOS上にウィンドウシステムを作り上げていましたね。仕事が一番楽しかったのもその頃だったかもしれません。
OS標準で提供するGUIがなかったので、当時流行っていたPC-9800シリーズのVRAMに直接描画し、ポップアップを表示して閉じた場合は、直前に裏VRAMに退避していたメモリを復元するなどして独自のウィンドウを実現していました。
根岸:すごい!完全にハードウェアを把握した上でのコーディングですね。
藤原:そうですね。今のWebエンジニアは、そういうデバイスにアクセスする楽しさや奥行きを体感する機会に、あまり恵まれないのがもったいないなぁと思っています。あとMS-DOSは複数のプログラムが同時起動しないので、自分で全てを占有出来るというのがいいんですよね。
根岸:確かに、シンプルで全体を理解しやすい部分はありますよね。
藤原:あと、制御系のプログラミングについては、レンタルビデオ店や石油コンビナートの倉庫の商品の出し入れを自動化する、「自動倉庫」を制御できるプログラムを作った仕事が印象深いですね。実際に目の前で、あの大きなシステムを動かせたときは感動しました!
根岸:ソフトウエアのエンジニアとして、そうしたハードウエア的なところでスケールの大きい体験ができるのは、貴重ですよね。
ーキーバインドが特徴的な「弥生」
藤原:入社5年目ぐらいまでは、旅行会社や印刷会社の受託開発を主に担当していました。そんな中でWindows版の弥生シリーズを発売するという話が決まり、これまでのノウハウを活かし、販売管理のエンジニアリーダーとして開発チームに加わることになりました。
根岸:Windowsになって、弥生のAPIの仕様や考え方は大きく変わりましたか?
藤原:今までWindowsのようなOSを扱ったプログラムを作ったことがなかったので、みんなが使うためのシステムのベースを作るという意味では、エンジニアとしてはとても新鮮で高揚感もありました。
特に会計・販売系では帳簿の一覧入力に対応するのが最大の鬼門で、それをいかに作り上げるかが重要でした。当時は伝票形式が主流で、仕訳帳や売上帳に取引を直接入力できるものがない中で、弥生が支持されたのはそこを実現できたのが一番の理由だったと思います。会計のことをよく知らないオタクな人間が独自の嗜好で作っているので、Ctrl+Q+Rで先頭に移動するなど、キーバインドもちょっと独特なんですよ。
また、エンジニアにとってラッキーだったのは、勤怠のように会社独自の複雑なルールがなく、会計は比較的定型な業務なので正解が一つで作りやすかった部分もあります。直接入力できるメリットに加えて、当時家電量販店を中心に販売され、市場を席巻していたOBCやミルキーウェイの「大番頭」などは非常に高額でした。一方で弥生は比較的安価で操作性や利便性も良く、多くの支持を集めました。その後はWindowsの仕様に柔軟に対応し、PCにもプリインストールされるようになったことで急速に市場に浸透しました。でも、業務で使用する側にとっては、MS-DOS版のほうがよかったのかもしれませんね…断然早いですし。
ーデータベースの設計も自分たちで
根岸:結局、業務で使用する場合は、必ずしもWindowsである必要はないんですよね。Windows版に切り替えた際は会計の共通基盤を用いたんですか?それとも販売管理に特化した基盤にしたんですか?
藤原:販売管理のWindows版を開発する際は、会計とは別の基盤を採用しました。これは会計の共通基盤自体が販売管理を考慮せずに作られていたことが大きな要因です。
実はWindows版の弥生会計を作ったのは元々社内LANやインターネットなどを導入したり、ゲームやワープロを作っていた技術系のチームなんです。あまり会計のことを熟知していないチームがWindows版を作ったので、少し時間もかかり2年ほどで完成しました。実はその前にone codebaseでMS-DOSとWindows両方で動かせるものを作るプロジェクトも立ち上げたんですが、MS-DOSでマウスを制御するのが技術的に難易度が非常に高く、頓挫してしまいました。
会計は使用している言語がBorland C++、販売はマイクロソフトのVisual C++と異なっていましたし…それぞれが違う言語で基盤とデータベースを設計していましたね。
根岸:あの当時は、データベースの設計も自分たちでしていたんですか?
藤原:MS-DOSの弥生は自前で作っていました。でも自前でリンクを張っていたことで、切れてしまうことも頻繁にあり、お客様からのクレームもよく受けましたね。
根岸:データベースから自分で作るとか、今ではあまり考えられないですよね。
藤原:SQLも使えたんですが、あの当時はとても遅かったので、SQLは使わずにISAMの部分だけでやっていました。メモリで自分たちでキャッシュして作ったほうが早かったんですよね。
根岸:これまでの話を聞いていると、MySQLのMyISAMテーブルとか、btreeのインデックスの構造とか、基盤の原始的な部分を直接触るような開発を経験されてきたんですね。
藤原:最近の若手エンジニアを見ていると、いかにSQLを書くかということに執着している部分があるように思います。ブラウザで動く限りは自分たちのメモリを自由に確保できないので、ある意味これは仕方ない点かも知れません。SQLを使っていないところは全てメモリにキャッシュして、独自の構造を作り上げるので、非常にナイーブなコーディングが必要となります。私も何回か経験がありますが、ミスをすると致命的なことになるんですけどね。
次回は、会計ソフト開発を中心とした裏話や、ビズソフト株式会社設立の背景について、根岸がエンジニアならではの視点でインタビューした内容をお届けします。どうぞお楽しみに!