HRシステム「COMPANY® 」開発チームが真剣に雑談する「WHIならではの仕事の楽しみ方」とは?
株式会社Works Human Intelligence(ワークスヒューマンインテリジェンス、以下、WHI)は、1996年に産声を上げた大手法人向け統合人事システム「COMPANY® 」を中心とした製品・サービスをHR領域で展開し、約1,200の大手法人グループを支えているHRテック業界のリーディングカンパニーとして知られています。
企業理念として『「はたらく」を楽しくする』を掲げており、柔軟な発想で自由にチャレンジできるカルチャーを持っているのが特長です。エンジニアが開発の過程を楽しめる環境作りに力を入れていることもあって、ユニークなメンバーが集結していることで知られています。
そこで、今回は同社の「COMPANY® 」人事給与システムの開発に携わっている横松 正樹氏、納谷 良介氏、和波 佳保氏、山田 展子氏に「WHIならではの仕事の醍醐味」や「これからの野望」、「仕事を一緒に楽しめる人材像」について語り合っていただきました。
目次
プロフィール
Product Div. Dept長(CJK プロダクトオーナー)
2000年 中途入社
Product Div. Grp長
2009年2月 中途入社
Product Div. エンジニア
2016年4月 新卒入社
Product Div.Product PR Grp. エンジニア
2003年4月 新卒入社
https://qiita.com/e99h2121
@e99h2121
統合人事システム「COMPANY® 」の人事給与システム開発チームが集う
――「COMPANY®・人事・給与」=「CJK」開発に携わる
山田 展子氏(以下、山田):
今回、ここに株式会社Works Human Intelligenceにて、法人向け統合人事システム「COMPANY® 」内の「CJK」と社内で呼んでいる人事給与システムの開発に携わっているチームの面々が集まっています。ちなみに「CJK」とは「COMPANY®・人事・給与」の略です。
はじめに、進行を担当する私から自己紹介をします。私は開発に携わり20年目となる母のエンジニア(5歳娘と3歳息子)です。Qiitaでは『エンジニアフェスタ2021』で総合賞をいただいたり、トップコントリビューターとして活動をしています。そのせいもあって、社内では「Qiita芸人」と名乗っています。他にも『Women Developers Summit』に登壇しており、『Developers Summit』でもお話をさせていただく予定です。開発者体験向上に奔走しています。
『Qiitaエンジニアフェスタ2021』総合賞・受賞記事
エンジニアはどこまで本を読めばよいのか 良質なインプットと勉強のススメ
横松 正樹氏(以下、横松):入社以来ずっと開発に携わっています。勤怠やワークフローシステムなどの製品にも関わってきましたが、人事給与(CJK)の製品開発を一番長くやっています。元々は文系でしたが、モノを作る側に回りたいとの思いもあって未経験でしたが中途入社しました。
旅行が好きで、旅行するために仕事をしているようなところがあります。最近は海外に出れないので、どうやったら海外旅行気分を味わえるのかを考えて実験したりしています。
納谷 良介氏(以下、納谷): 開発職は12年目です。COMPANY® の人事給与(CJK)に長く携わっています。主に税や社会保険関連の手続きなど法定系の業務に関する法改正対応機能の領域を手がけています。法定系機能のクラウドサービスはいくつかありますが、そのうちマイナンバー管理を行う『MKS(My Number Keeping System)』や、オンラインでの行政手続きをサポートする『LOS(Legal Output System)』といった製品に関わってきました。
和波 佳保氏(以下、和波): 2016年の新卒入社です。理系の大学を卒業していますが、プログラミング専門ではなく開発経験はありませんでした。入社1年目は自分が一番苦手だと思っていることにチャレンジしたかったので開発職を希望して、そこからキャッチアップして6年目です。
最初の3年間はタレントマネジメントシステム(以下、タレマネ)系のチームにいて、今の部署に異動して人事情報管理のチームにいます。最近の仕事は、半分は保守開発として問い合わせ対応や不具合改修をしていて、もう半分は新規機能の設計と開発内で使うツールの改善など、様々なことに興味を持って取り組んでいます。
COMPANY® 開発ならではの仕事の面白さとは?
――影響の大きさこそCOMPANY®開発一番の醍醐味!
山田:「CJK」開発部署内では「ジェケトーーク!」という、若手、ベテランに関わらず皆で雑談する集まりが、毎週、開かれています。今回は、その公開版といったイメージで雑談できたらと思っています。さっそく皆さんには「お仕事の醍醐味」を聞いていきたいと思います。
私は保守やバージョンアップといった仕事を経験していましたが、一番長いのが「CJK」です。非常に多くのお客さまに使っていただいているのがうれしくて、仕事の醍醐味を感じています。横松さんは、どうですか?
横松:COMPANY® で扱う給与の振り込み件数は約430万人分(※1)です。日本の総雇用者数は6600万人(※2)ほどなので、そのうち約7%がCOMPANY® で給与が振り込まれていることになります。その人の家族のことを考えると相当数の人がCOMPANY® による振り込みの影響を受けているのです。
しかも、そのほとんどが都市部にいるので、電車に乗ったら1車両の中にCOMPANY® で給与を振り込まれている人や影響を受けている人が高確率で、しかも結構な人数がいる可能性が高いです。規模が大きい、日本中のサラリーマンに影響を与えているプロダクトに関わっているのが仕事の醍醐味だと思っています。
(※1) ※2020年12月末時点の契約法人におけるCOMPANY® 給与の契約ライセンス数合計
(※2) 総務省 2021年労働力調査より
山田:ユーザー数とか規模感からすると、本当にそうですね。そういう意味でいうと納谷さんも関係が深いと思います。
納谷:私は法改正があったら対応する、世の中の変化を受けて仕事が発生するプロセスにいます。そのため、リリースと同時にほぼ全ユーザーが利用することになり、すぐに多くのフィードバックが来るのが醍醐味ですね。
最近のモダンなクラウドサービスでは修正が適用されたら、すぐ利用されるのが普通のことかもしれませんが、COMPANY® はオンプレミスで利用するエンドユーザーもおり、新機能に対する反応がすぐにもらえないケースもあります。その意味で法改正対応は、パッケージソフトウェア主体である弊社サービスの中でも比較的早く利用されて反応が得られるのが良いと思っています。
他の純粋な機能強化に関しても、法定系と同様、素早く利用できるような仕組みにしていきたいです。
山田:やはり、お客さまに価値を届けられている、という感覚が仕事の醍醐味につながっているのですね。業務基盤系もユーザー数を考えると、とても大きな影響力があるわけですが、和波さんはどうですか?
和波:業務基盤となる人事マスタは全ユーザーが必ず使うので影響力の大きさは感じますね。また、この人事マスタを基盤にCOMPANY®の機能が成り立つので、ユーザーはもちろん、社内の他のチームの開発者も「お客さま」のような感覚があります。私はフレームワーク周辺を担当するチームにいるので、他チームの人がフレームワークを使うときに使い方を聞かれるという意味では「使ってもらっている」という感覚は社内でも味わえていると思います。
私がタレマネのチームにいた3年間はパイロット開発的な感じだったので、ユーザー数が多くない機能を自分たちで「こういうのがあったらいいよね」といった感覚ベースで作っていました。
3年目に異動をして初めてお客さまの声をいただく経験をして、醍醐味というよりも「やっていて良かったな」と思いました。毎日の問い合わせへの対応や開発からの質問に答えていく中で「助かりました」と言ってもらえる。そういう些細なことが毎日続いている経験が個人的には好きです。
ずっと続けていて「ありがとう」って言われるのが良いし、そういう意味ではこれが仕事の醍醐味かなと感じます。
――難しいことへ挑戦するからこその面白さ
山田:他の開発者のことも考えているのは凄いと思います。逆に開発をしていて「大変だったな」とか「難しかったな」と感じるのは、どんなことですか?
和波:フレームワークを持っているチームにいると、何か1行を修正したくても、その修正が他の機能に関わったりしますし、正直、影響範囲が見えづらいことがあるので「ここが悪い」とわかっても、すぐに修正できないもどかしさがありますね。
それと、今のチームで3年やってきていますが、これまで20年間、積み重ねられてきたCOMPANY® のソースコードを自分の担当範囲ですら読み解けていないこともあるので、都度、解読していくことに難しさを感じることもあります。
横松:私はその難しさみたいなものがあるから面白いような気がするんだよね。簡単だったら、きっと、すぐに飽きてしまうんじゃないかな。そういったパズル要素と「こうやったら上手くいくかな?」といった一か八かのようなゲーム感覚のある取り組みがあるから私自身は長続きできた気がしています。実際は大変ですが(苦笑)
和波:言われてみると、全部わかりやすかったら、たしかにあまり面白くない気はします。
山田:私は、そういった難しいことをひっくり返して「うれしい」につなげていくのが楽しいと思っています。
――一番「うれしさ」を実感する瞬間は、エンドユーザーが自分が作った機能を使っているのを直に見たとき
山田:仕事をしてうれしかったことも皆さんに聞きたいです。
私はクライアント先に伺ったときに印象に残っているエピソードがあります。
現地に行ったら、お客さまから「COMPANY®が起動しない」と言われました。焦って確認した所、ウィンドウを最小化していただけだったのですが(笑)、そのあと無事起動して、自分が作ってコンパイルしてビルドしたソフトウェアがエンドユーザーの画面で動いているのを見て、使われていることがリアルにわかって楽しかったです。
役に立っていると実感できてうれしかったですね。皆さんは、そういった経験はありますか?
横松:私もお客さま先に出ていて、そのお客さまから「今月からここ、こうなっているんですよね。便利になりましたよ」とある機能に注目されて言われた経験があります。実はそれが前月に自分が行った修正だったんです。「それ直したの俺!」と反応したいのを抑えながら、開発担当ではないことになっていたので「COMPANY®ではちゃんと改良を進めているんですよ」と控えめに喜びながらもクールに言いました(笑)
自分が作った製品を多くの人が触ってくれて、さらに変化にも気づいてもらえているのを知ることができて、凄くうれしかったですね。
山田:歴史が長いことはCOMPANY® のキーワードの1つだと思っていて、時間を積み重ねていることを実感しています。
横松:歴史が長いという点では良し悪しもあるけど…資産も負債もあるという意味でね。まぁ広い意味で面白さの1つだと思っています。納谷さんはどうですか?
納谷:自分はエンドユーザーに説明に行ったときに「こういうことできないの?」と聞かれて「実はこの前やったんですよ」と話したり、「法改正に対応できて助かっています」と言われたりすると、やっていて良かったなと思います。
歴史が長いと、トラブル対応とか上手くいっていない場面に対応しなければならない状況に陥ることも多いですが、感謝の声をいただくとCOMPANY® がユーザーの役に立っていて価値があることがわかります。そうやってバランスを取らないと自信を喪失しちゃいますよね。
――WHIでは問い合わせ対応も保守も新規機能開発も同じ人が並行して行う。だからこそ圧倒的に成長できる
横松:ふだんからエンドユーザーからの問い合わせを受けているので、ユーザーが言いたいことが、すぐわかるのだと思います。ユーザーとの距離が近いのは実はエンジニアが問い合わせを見ているからだと感じますね。
納谷:私もそう思います。COMPANY® は既存機能が膨大です。そのため、新しく配属されてきたエンジニアに、担当領域にまつわるエンドユーザーの悩みとか、COMPANY® を使っていて難しいポイントといった感覚をどうやって伝授していくべきだろうかという悩みは常にあります。
横松:そこはたしかに難しいよね。
納谷:もちろん、座学に使う教育資料などを充実させる努力は継続していかなければいけないのですが、やはりトラブルシュートをすることで厚みが増すことはあると思います。「ありがとう」と感謝されて自信がつく面があるので。
横松:エンジニアは、作っているときは自分が天才だとか、修正しているときは完璧だと思っていて「今回はバグなんか1つもないぞ」と気持ち良くコーディングしたりしているわけです。それが評価フェーズになって、ミスがたくさん出てきて、少しずつ現実に戻されていくことになります。そのまま進めていたらソースコードの拙さや危うさに気づけないことがあるんじゃないかな。
さらにリリースした後でも、エンドユーザーから問い合わせやクレームを受けることで過去の自分の開発を振り返ることができて、「そうか、あんなことしちゃいけなかったんだな」(苦笑)とか「あそこは慎重にやらなきゃいけなかったんだな」とわかっていくのだと思います。問い合わせを見ないとエンジニアは成長できないのかもしれません。
和波さんはタレマネから、人事系、しかも基盤に異動して、当初は振れ幅が大きくて問い合わせ対応に使う時間の配分が全く変わったのではないですか?
和波:そうですね。問い合わせの対応は最初の3年間はあまりしていなかったので、全く違う組織に来たような気持ちになりました。
横松:それはそうだろうなあ。でもそれがないと、やはり面白くならないと思います。新しい機能を開発するときも「こういうのがあったらいいな」って急に頭の中に出てくるわけではないと思うんです。
問い合わせに答えたり、不具合のロジックを見つけて影響範囲を考えて修正して積み重ねたりしていくうちに、「こういう作りにしなきゃ駄目だ」みたいなことがわかってきて自然に自分の中に形作られていくのだと思っています。
新しい発想は頭に降って湧いてくるものではなく、誰かに教えられるものでもない気がしています。もちろん、一部の天才みたいな人たちは閃くのかもしれませんが。
山田:様々な問い合わせに対応することが機能強化の発想のきっかけやモチベーションにつながっていくんですよね。
歴史を積み重ねてきた製品を進化させるという野望。一歩一歩改善していくことの難しさとワクワク
山田:「これから、こんなことがしたい」といった野望のようなことはありますか?
横松:やはり、マイクロサービス化を進めていきたいと思ってます。今の機能の中から業務のまとまりで切り出して、それを個別のサービスにして、そのサービス単位で1日に何回もデプロイするみたいな、そういう世界にしたいなと思います。
納谷:リリースサイクルを早めるのは重要ですね。もし早くなったら、いろいろと改善していくと思います。それが一番「CJK」としては改善すべきポイントかもしれませんね。実際は超えるべきハードルはいろいろとあるとは思いますが実現したいです。それと、モジュール化もやりたいです。
横松:中でも法改正というのはすべてのユーザー、すべてのバージョンで基本的に同じ内容になるはずなので、その部分を切り出して統一ロジック化するというのは理想的な形かもしれないよね。それが『LOS(Legal Output System)』というサービスになっているのだけど、帳票出力部分のエンジンをクラウドに乗せて、そこだけ修正すれば、ある程度の法改正に対応できるようになっているのは、我々開発にとっても面白いし、エンドユーザーも利便性が高くなるので良い切り出し方だったと思っています。
そういう実現可能な一部分から、すぐ乗せていくのはアリですね。それと、バージョンに依存しないような、ツール的な出し方で製品の外側に置きつつ製品の一部として使ってもらうやり方も1つの方法といえます。何かそういう正攻法にこだわらないのも私はいいなと思っています。
納谷:高速にデプロイできる製品の担当とも連携して、「CJK」本体も何かそういった方向にしていきたいですね。
山田:和波さんはAPIなどに取り組んでいて何か「こんなことをしたい」と思うことはありますか?
和波:今、APIの設計・開発をしていますが、基本は「CJK」とは切り離して考えています。どうやってデプロイするかとか、どういうアーキテクチャにするかといったところからゼロベースで考えている感覚です。「CJK」のサイクルとは異なり、より早くエンドユーザーに提供できるような形でやっています。
同じ手法で「CJK」全てをやるのは難しいと思うので、少しずつ、最も修正を当てたい場所だけでも切り出していきたいと考えているところです。正直、そういう部分のスキルが豊富にあるわけではないので、スキルのあるメンバーが注力できるように環境整備をしていきたいと思っています。
納谷:ところで、APIの設計・開発では何をしているのですか?
和波:APIの開発は「社員情報検索」から取り組んでいます。CJK上で保持しているあらゆる人事データを、エンドユーザーが自由に組み合わせて取り出せる機能です。
横松:WHIの「パートナー戦略」の基盤になる部分です。WHIは現在、COMPANY®が保持している人事データを他のソリューションへAPI連携できるようにして、より利便性を高めようと動いていますが、その連携の肝となるのがこのデータを取り出す「社員情報検索」という機能です。面白いなと思ったのは、この機能そのものをAPI化するという方向ではなく、この機能により取り出した結果のデータをAPIで連携させるという点です。ユーザーが取り出す定義を作れば、結果的に連携先に合わせて必要なものは連携できるという設計になっているんですよね。
納谷:「社員情報検索」の結果をコールするAPIなんですね。
和波:そうです。
横松:そうすると、安全に、しかも柔軟性を高くできるという話です。一般的に考えると「社員情報検索」をダイレクトに呼ぶ発想になりそうですが、そうなるとセキュリティや権限など考えないとならないことはとても多くなります。そうではないところに「なるほど!」と私は面白さを感じました。
納谷:なるほど、面白そうです。
横松:先ほどの和波さんの話ではないですが、いきなり全体を見て対応を考えようとすると大きすぎて見えにくくなると思うんです。そうではなくて「どこからやっていったら効率的で面白くできるかな?」と考えていかないと、やはり楽しくはならないんじゃないかなという気がしますね。
COMPANY® のソースの修正頻度の高いところ、法改正が頻繁に発生するところとか、そういう部分を狙って切り離して考えてみるという方向がいいんだろうと思いますね。めったに修正が入らない箇所はそっとしておく、という感じです。面白くなりそう、ワクワクしそうなところを切りとって取り組むことが大切だと思っています。
スモールスタートにして、小回りが利くところからやっていく発想を皆さんに持ってほしいと思っています。
山田:WHIが新しいことにトライしていることが伝わったらうれしいですね。
色々なことに挑戦し楽しみながら、ユーザーはもちろん、開発者自身もハッピーになるにはどうすべきかをとことん考えるべし!
山田:話が変わりますが、「こういう人と働きたい」とか「未来志向が強い人と働きたい」と考えることはありますか?
横松:様々なことを笑いに変える力を持った、面白い人と働きたいですね。
山田:最近、採用活動でカジュアル面談をしたのですが、参加した学生たちは「フロントエンドをやりたいです」とか「ゲームや映画が好きで、ゲームをやりたい」と話していました。「自社のサブシステムも1つ1つをゲームの1面だと思ってやっていくと楽しいよ」とか「いかに仕事を楽しくするか考えながらモノを作るのは楽しいよ」とか、先ほど話した規模感の話で「ユーザーがたくさんいてすごくテンション上がるよ」と話をしていたら、自分自身もなんだか気分が良くなっていましたね。
納谷:どの仕事でもそうかもしれませんが、エンドユーザーの役に立っていることによろこびを感じられる人がいいですね。
横松:私はツール、言語、環境とかも全部ひっくるめて、何でもいいんじゃないかなと思っています。何でも面白くしていける余地があるんじゃないかなと思っているからです。何かにこだわって、たとえば「to C」の領域でなければならないとか、エンタープライズではないといけないとか、こんな言語を使っていないとイヤだとかいったように自分で方向性を狭めてしまうのはもったいない気がします。
仕事や業務として何かをやる以上、どこかに制約は必ずあります。その与えられた制約の中から柔軟に面白い要素を見つけていけば、制約は面白くするためのルールなんだって思えるんじゃないかって気がします。知らないことをキャッチアップしていくときは何をやってても面白い部分がありますしね。
業界や製品、言語に制約や特性がある中で、そこを逆手に取って面白くするにはどうしたらいいか、効率的にするのはどうしたらいいか、ユーザーも我々もハッピーになるにはどうしたらいいか、みたいなことを考えられる人が、皆に望まれている人なんだと思います。
山田:何が面白いか面白くないかなんて、やってみないとわからないですからね。
横松:そう、やってみないとわからないです。旅行でも、事前情報であまり面白そうじゃないと思っていても行ってみたら面白いことがあるし、名物料理も見た目は「えっ!?」って感じても食べてみたら美味しかったりします。
今、コロナ禍で旅行も行きにくいですが、家の近所でも海外旅行に行った感が味わえるんですよ。
この前、日本語がわからない人になった前提で、アフリカを旅行する荷物を背負って家の近所を散歩してみました。言葉が分からない前提だと看板や標識、表札が単なるデザインに見えるんですよね。すごく新鮮でした。面白かったし、ちょっとした旅気分を味わえました(笑)。コロナ禍での近所の散歩ですら、ですよ。目線を変えるだけで楽しくなるんですよ。
始める前から印象を決めてしまうことが、いかに人生をつまらなくするかということを問題視した方がいいと思います。与えられた状況をどうしたら面白くできるのかっていう視点が重要ですね。面白くできる要素は、どこにでも転がっているわけですから。
山田:皆さんに、このマインドを受け取っていただけたらと思います。
編集後記
株式会社Works Human Intelligence(WHI)は、企業のミッションとして、『全てのビジネスパーソンが「はたらく」を楽しむことができる社会の実現』と同時に、『WHIの経営陣/社員である自分たちが最も「はたらく」を楽しむ』ことを掲げています。
顧客のため、を第一に考えつつ、そのために解決しなければならない難しい課題にどう立ち向かったら面白くできるのかを真剣に思索し、「楽しさ」を創造していくワークスタイルを紹介いただいて、「目から鱗が落ちた!」という方も多いのではないでしょうか?
そんなWHIでは、現在、新たな仲間を募集しているそうです。本記事の対談を読み、興味を持たれた方はぜひ応募要項等をチェックしてみてください。
取材/文:神田 富士晴