「許可より謝罪」。これからのエンジニアに必要な能力とは – 株式会社SmartHR 取締役CTO 佐藤 大資氏

■略歴
佐藤 大資(さとう だいすけ)
中学2年生の頃からプログラミングに夢中になる。大学では情報工学を専攻するも、既知の内容も多く中退。SIerに入社し、エンジニアとしてのキャリアをスタートさせる。その後はスタートアップから上場企業などのIT企業を渡り歩きキャリアを重ねる。インフラからウェブ開発、フロントからサーバーサイド、ネイティブアプリまで幅広い領域に対応。2015年7月、SmartHR(当時社名KUFU)にジョイン。現在に至る。

中2で「Visual C++」を購入

選定2

――そもそも佐藤さんが、コンピューティングやプログラムに興味を持つようになったのはいつ頃だったのですか。

小学生の頃です。当時流行っていた『ファミコン』に夢中になりました。次第に、自分の手でゲームを作りたいな、と思って、親にねだって中古のパソコンを買ってもらいました。機種名は忘れましたが、NEC製でした。そのパソコンでBASICを使い、コードを書いたのが、はじめてのプラグラミングだったと思います。ただ、当時はそこまでのめり込む、という程ではありませんでした。

――本格的にプログラミングをするように変わっていったのはいつでしょうか。

中学2年生の時でした。“ゲームを作りたい”という想いが強くなり、「Visual C++」を購入しました。そこからはどっぷりプログラミングにハマっていきます。大学も情報系の学科に進学しました。ところが、授業で習うことは既に知っていることばかり。次第に学校に行くのが退屈になっていきました。

――それで、結果的に大学を中退されたと。

はい。大学を辞めた後はSIerに入社しました。最初に任されたプロジェクトは、電設工事会社のシステム構築でした。いわゆるインフラ系です。工事の規模や概要を入力すると、過去の情報をもとに、見積金額がシミュレーションできるシステムの一部設計を任されていました。ただ、リーマンショックの煽りを受け、その会社が解散することになってしまって、一転してソーシャルゲームの開発会社に転職しました。

――幼い頃に憧れていたゲームづくりに、再び携わることになったわけですね。

はい。そこは、かなりハードな開発環境でした。当時は、インフラ開発の経験しかなかったのですが、いきなりWeb開発をすることになりました。しかも開発メンバーは2人だけで、そのうち1人はディレクター。つまり、エンジニアは私1人のみという状況でした。エンジニアだったら、このような状況に抵抗を抱く人も少なくないかと思います。
しかし、この環境で鍛えられたからこそ、今の私があると思っています。フロントエンドに限らずバックエンドまで、Web開発に関する一通りのシステム構築に携わることができましたから。

サイバーエージェントで「ベストエンジニア賞」を受賞

――その後移られたサイバーエージェントでは数々の賞を受賞されたと聞いています。

当時、サイバーエージェント(以下、CA)が採用していたシステムは、私にとっては一昔前のものに感じており、そのまま使い続けていくと不具合が出ることがわかりました。
そこで改善に乗り出します。開発手法は、開発担当者と運用担当者が協力する「DevOps」とし、Jenkinsを導入しました。その結果、アプリの品質向上はもちろん、納期の短縮やバージョンアップ時の不具合も改善されました。統合的かつ継続的な開発環境に変わったのです。こうした実績を認めてもらい「ベストエンジニア賞」をいただきました。

――課題解決という点では、現在携わられているプロダクトの開発にも繋がりますね。

はい。例えば、開発環境を改善するには、エンジニア一人ひとりの情報を汲み取る必要があります。そこで求められるのは、なんといってもコミュニケーション能力です。そのような仕事の進め方を続けていくと、自分の中でコミュニティ系サービスに対する心地良さを感じるようになっていきました。

――コミュニティ系サービスの開発に携わりたくなったのが、SmartHRにジョインした理由なのでしょうか?

はい。先のような状態でいた折、以前から面識のあった宮田(代表取締役)、内藤(取締役副社長兼CDO)から連絡がありました。
当時、既に『SmartHR』はリリースされていたのですが、そこまで深く内容を知りませんでした。
しかし2人の話を聞くと『SmartHR』に多くの魅力を感じました。
まず、社会貢献性の高いサービスであること。将来性が堅く見込めること。そして何よりまさに私がやりたいと思っていた多くの人が介在するコミュニティサービスであること。これらの理由から私は2015年7月、CAを退職し当社にジョインします。

労務業務を効率化する『SmartHR』

PC_dashboard (1)

――『SmartHR』のサービス内容を教えていただけますか。

煩雑な労務手続きをWeb上でシンプルに完結できるプロダクトです。例えば、『SmartHR』に従業員の情報を入力すると、で社会保険の書類が自動で生成され、役所へ赴くことなく電子申請を行うことができます。
人事労務担当者が煩雑な作業から解放され、採用や制度づくりなど、より価値のある業務に集中できることを期待しています。
社会保障それ自体はすばらしい制度ですが、一方で企業の人事労務担当者にとっては作業の負荷が大きく、アウトソーシングする会社もあるほどです。この根深い人事労務の課題を解決するために開発されたのが『SmartHR』です。

――ITを活用することで、労務業務に要していた負担や経費を低減させる効果があるということですね。

これまで、人事労務担当者は社会保険や労働保険に加入する従業員に対し、たくさんの書類を本人に書いてもらい、内容を確認する必要がありました。一方、『SmartHR』を使えば、従業員にメールでSmartHRに招待してログインしてもらい、手続きに必要な情報を記入してもらうだけです。
手書きではなく入力してもらうので記入ミスも減りますし、入力後は人事データベースとして活用できます。WEB上のデータベースなので、従業員情報の変更も簡単にできますし、社会保険労務士との情報共有、年末調整の書類作成、Web給与明細などの機能も備わっています。また、採用管理ツールや勤怠管理システムなど他社サービスとも連携しており、例えば、従業員情報をワンクリックで移行できるようにするなどして利便性を図っています。

―SmartHR上で役所への申請をカンタンに行うことができる。

―SmartHR上で役所への申請をカンタンに行うことができる。

―SmartHR上で役所への申請をカンタンに行うことができる。[/caption]―SmartHR上で役所への申請をカンタンに行うことができる。[/caption]

――実際にプロダクトを拝見したところ、画面もシンプルながら使いやすそうでUI/UXへの意識が伺えました。佐藤さんは、具体的にどのあたりの開発をされたのでしょうか。

ベースが設計された後、私は設計・開発手法の見直しや機能改善などを担当しました。現在はクライアント企業の規模も大きくなり、従業員数千名名規模の企業も増えてきています。例えば、1000名のユーザーが同時にアクセスしてもスムーズに動作するよう、改善を重ねていきました。

「スクラム開発」を導入し開発スピードをアップ

選定3

――『SmartHR』の開発や改善を進める上で、どのような点を注意・意識されましたか。

スピード感です。「できたものはすぐリリースする」、という意識をメンバーに浸透させました。仮に仕様が完璧でなかったとしても、まずはリリースし、ユーザーの皆様に使ってもらい、フィードバックをいただく。その際に役立つのが、「スクラム開発」という手法です。

――「スクラム開発」はまさにその名の通り、開発チームが一体となる特徴を持つ、アジャイル開発の一種ですよね。

サービスがスケールしていくにつれ、エンジニアはもちろん、携わるメンバーも増えていきます。するとどうしても、メンバー同士の情報量や共有意識もつられて薄れていってしまいます。
スクラム開発では、このような拡大に伴う組織設計の問題を解消するために、メンバー同士でこまめに確認し合う場を設けています。

――つまり、常にコミュニケートする場を設けることが、開発のスピードアップに繋がると。

はい。話し合いの場には、お客様をサポートするCSメンバーもいます。
ユーザーがどのような不満を抱いているのか、どんな機能を望んでいるのか。最新の情報をメンバー全員が共有していることで皆が自律的に動き、結果として開発スピードに反映されているのです。

ユーザーからのフィードバックを同じ情報量で把握し、開発中の機能が本当に必要かどうか判断し、スピード感、つまり開発期間を明確にします。するとその結果、各メンバーはその期間内に行うタスクがはっきりし、工数が正確に出るわけです。

――ところで現在は、どのような内容がテーマに上がっているのでしょうか。

機能改善を徹底することで、プロダクトの質を高めることを目標に掲げています。安定性、セキュリティ面の強化も図っています。1000名規模の組織でスムーズに動作することが当たり前となれば、それ以下の規模の組織での安定度はより増して信頼をいただくことができます。

――『SmartHR』のベンチマークや最終的な着地点はどのあたりだとお考えですか。

現在は企業の人事労務担当者に使っていただくサービスですが、いずれは働く全てのひとに有益なサービスにしたいと考えています。
一人ひとりが『SmartHR』のアカウントを持ち、勤怠管理など様々な場面で使えるようにしたいのです。さらに転職した際には、それまでの情報がシームレスに使えて、手続きが簡単になるようなプロダクトに進化させていきたいと考えています。

コーチ型のマネジメントでエンジニアの自主性を尊重

――定期的にメンバーが集まることは理解しました。しかし集まっただけで、情報の共有やコミュニケーションがスムーズにいかない、ということも他社では多く見受けられます。情報共有の場で気をつけていることありますか。

最終的にどんなプロダクトにしたいのか、といったゴールを明確にすることです。
メンバー全員で意見を出し合って、最終的なゴールとマイルストーンを決定していきます。基本的に、私のマネジメントはコーチ型です。コードレビューはしっかり行いますが、一人ひとりのエンジニアの意見や自主性を大切にしたいと考えています。

「プロダクトのゴールを30秒以内で説明しなさい」といったことを日常的に問いかけ、更に発表する場も設けてもいます。そのプロセスとして、プレゼン資料を作ることでイシューや作業工程が頭の中で整理され、人前に立ってスピーチすることで、コミュニケーション能力や責任感も育まれます。

勉強会の開催も頻繁に行っており、新しい技術を導入することにも積極的です。
業務にすぐ必要なものばかりではないかもしれませんが、将来役立つことも視野に入れながら選定し、学んでいます。最近のテーマは「機械学習」や「Docker」などです。

――現在だけでなく、中長期的なキャリア形成も意識されマネジメントを行っているということですね。その他にコミュニケーションのとり方や、マネジメントで意識されていることはありますか。

在宅やリモートワークを否定するわけではありませんが、メンバーとは顔を合わせてコミュニケーションするように心がけています。チャットやビデオ会議で意思が100%伝わるとは、私には思えないからです。

エンジニアの基本は課題解決。これからのエンジニア論

選定ラスト

――佐藤さんが考える優秀なエンジニアとはどのような人材なのでしょうか。ご自身のこれまでの歩み、多くのエンジニアをマネジメントされてきたご経験などを踏まえお聞かせください。

スピード感のあるエンジニアです。
先の話と関連しますが、エンジニアでキャリアを築くには、プログラムを作れてしまうスピード感がとにかく重要な要素です。テストレベルでも構いません。
領域問わず特定のコアスキルを持っていることも重要ですが、本当に必要とされる人材になるには、そこから一歩進んで、自分で思考できることが不可欠です。
プロダクトを作り上げるだけでなく、課題を自分で見つけ出し、フィードバックも自分で行うことのできるようなイメージです。
許可をとることに時間をかけるよりも、まずはやってみる。ダメだったら謝罪するような「許可より謝罪」タイプが、優秀なエンジニアだと私は思います。

――では最後に、今後のキャリア形成を考えているエンジニアに、アドバイスをいただけますか。

毎日の業務の中で課題を見つけること。それをどうやったら解決できるかを自分の頭で考えること。この二つをぜひ行ってください。
エンジニアの基本は、課題を解決することだと思っています。それはエンジニアリングに限りません。特にCTOになれば、技術以外でもさまざまな課題が生じます。日常の様々な場面で課題の発見と解決を意識することが今後のキャリアを考える第一歩になると思います。