Krakenでシニアエンジニアとして活躍するということ
JosさんはKrakenでペイメント&コレクションチームのシニアソフトウェアエンジニア兼チームリードとして働いています。ラインマネージャーであり、テックリードでもあります。Josさんに、Krakenの環境、仕事の内容、そしてそこで働くことがなぜこれほどやりがいがあるのかを伺いました。
Josさんはオランダの自宅から、日本企業でリモートワークをしていました。CEOから大阪オフィスで働いてみないかと誘われたことをきっかけに、1年間日本に移住することを決めましたが、その後、将来の奥さん、日本の食べ物、そして日本ならではの新しい体験の数々に恋をしてしまいました。
日本にいる間に日本を楽しむ上で大きな要素は、日本語を学んで、人と実際に会話ができるレベルになることだと思います。そうすると、いろいろな素晴らしい経験が得られます。
その会社で数年にわたりさまざまな役割を経験した後、自分のスキルを新しい環境で試したいと考え、2022年にKrakenへ入社しました。Josさんは、「これまでに得た経験を活かしたかったし、世界をグリーンエネルギーでより良くし、最新のテクノロジーでエネルギーの世界を変革していくというミッションを掲げているKrakenに、とても惹かれました」と話します。
Krakenの開発と運用を担っているのがKraken Technologiesです。Krakenは世界中で使われており、各地のさまざまな規制や法律に準拠するように適応させる必要があります。Josさんは、「僕たちの仕事は、どこにいてもそうしたインテグレーションが正しく機能するようにすることです。最大の難問は、『どうやって1つのソフトウェアシステムを、すべてに対応できるように保つか』ということですね」と言います。
さらにこう続けます。「日本では、Krakenを日本の市場に合わせてローカライズすることが主なゴールです。日本の送配電事業者のやり方は、日本特有のものです。そこからデータを取得する方法も、こちらで開発しなければなりません。例えば、自宅の外にあるメーターの情報を私たちのデータベースに取り込み、あなたにいくら請求することになりそうかを計算し、その金額をお知らせする、というところまでですね。電話、LINE連携、メール、SMSを含め、すべてのカスタマーコミュニケーションもこのプラットフォームを通じて行われます。」
同じプロダクトを、設定を変えながら世界中の人が使っているため、コードベースは非常に巨大なものになります。Josさんは、「1日休むと、masterブランチは300〜400コミット進んでいます。デプロイは1日にだいたい160回、世界中に対して行われています。プルリクエストを出すたびにCIが走り、プラットフォーム全体で4万件以上のテストが動きます。マージボタンを押しても、悪いことが起こらないだろうという安心感がありますね」と話します。
世界のどこかでKrakenがデプロイされていない時間は、ほぼありません。常に動き続けています。
これほど大規模で使い込まれたコードベースでは、テクニカルデットが生まれるのは避けられません。ただ、多くの企業と一線を画している点として、Krakenでは定期的にそのテクニカルデットに向き合う時間を取っていることが挙げられます。Josさんは、「月に1度、抱えているテックデットを一覧して、それだけに集中して取り組める日があります。例えば、あるメンバーが型付けまわりの問題を大々的に修正していて、そのおかげで最終的にmypyというパッケージをアップデートできるようになる予定です。そういった取り組みがプロダクトのレベルを継続的に引き上げてくれて、新たなテクニカルデットをできる限り避けられるようになっています」と語ります。
Josさんは最初の6ヶ月を、コードベースに徐々に慣れていく期間として過ごしましたが、今では複数のリーダーシップロールをうまく両立しながら、チームが成功するために必要なものを揃えられているかに注力しています。「オフィシャルな肩書きはSenior Software Engineerです。テックリーダーシップと、いわゆるピープルマネジメントの中間のようなポジションですね。私の場合、ペイメント&コレクションチームの一つのチームリードを務めています。ラインマネージャーでもあるので、私にレポートするメンバーもいます。厳密な意味でのHR部門はないので、人事的なことも私の責任範囲に入っています。さらに、東京ガスとのインテグレーションプロジェクトではテックリードとして、ペイメント、コレクション、ビリングの各チームを統括しています」と話します。
自分のチームも、その上のレイヤーの人たちも、みんなが私を支えてくれていると感じています。過労だと感じることはまったくありません。サポート体制があることで、すべてが良い方向に向かいます。
入社当初、Josさんは日本のファイナンスチームに所属していました。しかし昨年、日本・ニュージーランド・オーストラリアの各チームが統合され、新しいリージョナルチームが組成されました。ストレスの多い時期ではありましたが、チームに情報を共有し続けることで変化をうまく乗り切り、以前より強くなれたと感じています。「日本のチームには本当に誇りを持っています。APACレベルの組織に移行しつつも、リージョンとして非常に強い形で存在感を示せていると思います。リージョン内で、チーム構造やさまざまな新しいロールを世界に先駆けて試してきました」と言います。
入社して以来、Josさんは、サポートが手厚くリラックスした職場環境づくりにどれだけ力を注いでいるかに感銘を受けています。「マントラとして、『ストレスを感じたら、マネージャーにそのストレスを渡してほしい』というのが強くあります。マネージャーがストレスを感じたら、その上のマネージャーに渡し、さらにその上へと伝えていきます。もちろん、『プロダクションを壊してしまった』とか『このデッドラインに間に合わせるのは大変そうだ』といった形で、誰もが何かしらストレスを感じる場面はあります。でも、きちんとコミュニケーションさえ取っていれば、助けてくれる人がたくさん控えています」とのことです。
私たちは強く「ノーブレイムカルチャー」のもとで働いています。ミスは起こるものですが、重要なのはそれにどう対応するかです。誰しも一度はmainブランチをうっかり壊してしまったことがありますが、テストのおかげで、そのコードが本番環境まで届いてしまう可能性は非常に低くなっています。
メンバーは皆、初日から大きな自律性を与えられます。面接を通過したこと自体が、その人が信頼に値し、自発的に動けるというサインと見なされるのです。Josさんは、「会社としては、最終的に、みんなが『自分が好きなこと』『自分が得意だと思うこと、あるいは得意になりたいと思うこと』に取り組むことを奨励しています。テックデットの解消にまっすぐ取り組む人もいれば、過去の経験を活かして改善を提案する人もいます。入社から数週間のうちにプロポーザルを出す人もいて、そういう動きは会社として大いに歓迎しています。『これがデベロッパーのテンプレートで、やることはこれ』といった決めつけはありません。人それぞれ強みは違うので、その強みを最大限に活かして、全員のパフォーマンスを引き出したいと考えています」と話します。
JosさんがKraken入社後に最初に実装したプロジェクトの一つが、ソーラーパネルを利用している顧客が、電力グリッドに戻したエネルギーに対して対価を受け取れるようにする仕組みでした。顧客や業界のクライアントから必要な情報を集めるために、複数のチームが協力して進めるプロジェクトであり、その一端を担えたことを誇りに思っているそうです。
Krakenは、エンジニアたちの努力に対して、新しいチャンスという形で報いることで、彼らをエンパワーしています。Josさんは、「まじめさや関心の高さを示すことで、最終的には自分が行きたい方向へと進んでいけます。そこに可能性があり、その領域に関わりたい、そしてその部分をレベルアップできると示した人は、そのままプロジェクトリードに昇格してきました。社内でチームを異動することも、一般的にとてもやりやすいです。ある分野でより良いデベロッパーになるために、別の分野で時間を過ごしたほうがいい、と考える人もいます。私は個人的にはそうした異動はしていませんが、いろいろな人がチームを行き来しているのを見てきましたし、それがネガティブに捉えられたことは一度もありません」と言います。
本気で人に投資する時間をかければ、その人たちを維持し、幸せでいてもらうことは、その人たちが新しい仕事を探し始めてしまうより、はるかに大きなメリットになります。
Josさん自身はオフィスでチームと一緒に働くことも好きですが、現在はフルリモート&フレックス勤務で働いており、そのおかげで家族と過ごせる時間が増えたことをありがたく感じています。「大阪にはオフィスがないので、その点は良い言い訳になっていますね。私はとても早起きで、たいてい朝7時半ごろから午後4時まで働いて、4時になったら息子を保育園に迎えに行きます。例えばジュニアデベロッパーが新たに入社した場合などは、オフィスに来ることをより強く推奨していて、チームリードもサポートのためにオフィスにいることが多くなります」と話します。
リーダーとして、部下に対して良いワークライフバランスのロールモデルになることは重要だとJosさんは考えており、その一環として、定期的に休暇を取ることも含まれています。Krakenには「無制限休暇」ポリシーがあり、病気や子どもの世話など、個人的な用事で休みが必要になったときにも、「有給を取り損ねるのでは」という心配をする必要がありません。Josさんは、「ニュースで語られるような、『無制限休暇があると、逆に誰も休暇を取らなくなる』という状況とは違います。最終的には、いくつかの休暇プールがあります。そのうち一つは日数が決まっていて、日本では23日だったと思いますが、その日数はすべて取るように勧められています。その上で、人生ではいろいろなことが起きますし、もう少し休みを取りたいということもあるでしょう。そこから先は、基本的にあなたの裁量に任されています」と説明します。
部下から休暇申請が来たときは、基本的にはそのまま承認します。もし契約上の重要なデッドラインが危うい状況であれば、そもそもそのタイミングで休みを取ろうとはしない、というレベルの信頼関係があるからです。
Josさんにとって、Krakenに入社してから一番のチャレンジは、「心地よくないことに、心地よさを感じられるようになること」でした。「知らないことがたくさんあっても、それは全然問題ないのです。『これをやってほしい』と言われても、それが何なのか見当もつかない、『その略語はそもそも何の意味?』ということもあります。そういう状況を受け入れて、とりあえず動き出し、人に話を聞きながら理解していくことが大事です。そういった柔軟性やプロアクティブさが求められる点は、私が以前経験してきた環境とはかなり違いました。大きなチャレンジですが、楽しいチャレンジでもあり、自分自身の成長にもつながっています」と話します。
Josさんは、常に学び続けたい人、大規模なコードベースを深く掘り下げたい人、そして世界をより良くしたいと考えているデベロッパーにKrakenを勧めています。「テックカンパニーで働くことがどういうことだったかを、再発見できる場所です。潜っていける機会は無限にあり、一緒に学ぶことに同じくらいモチベーションの高い仲間がいて、一緒にプロダクションを壊して、そして直すことができます。この会社でうまくやっていくには、ある種のタイプの人である必要はあります。でも、物事を自分で理解していくのが好きで、自由度の高い環境でそれを楽しめる人にとっては、間違いなくぴったりの場所だと思います」と語ります。