見出し画像

みんなで育てるpaizaの開発カルチャー

みなさんはじめまして、こんにちは、こんばんは。
paiza株式会社で開発部隊を取り仕切っております、高村と申します。

paiza株式会社では、ミッション・ビジョン・バリューのビジョンとして、「IT人材のスキル/経験を可視化する成長プラットフォーム」を掲げており、これを日々意識しながら、サービスの成長戦略を検討・具現化しています。

開発部隊は、こういったサービスの成長戦略の具現化や、長期的にエンハンスしていくための保守性向上を中心に、サービス成長のために必要なことを多角的にやっていく部隊です。
paizaが提供しているサービスも、それに関わるみんなも、もちろん使っていただいているユーザーも、「いかに成長し続けられるか?」ということをとても大切にしています。

開発部隊として、いかに成長し続けられるか?

「いかに成長し続けられるか?」が非常に重要というのは、もちろん開発部隊も同様です。

私自身は、エンジニアが長期的に成長していくためには、開発カルチャーが非常に大事なことであると位置づけています。
カルチャーが何かを一言で表すのは難しいですが、個人の思いや活動・習慣を土台にして発生するチーム/組織全体の活動・習慣、さらにそれらを通じて生み出されていく空気感(後から来た人が、強く意識せずに自然に馴染んでいくような状態)であると考えています。さらに、開発カルチャーとなると、そこに開発に関する技術的なエッセンスも関わってきます。

イメージとしては以下の図のような感じです。

開発カルチャー

持論ですが、開発カルチャーは、上から押し付けられたものではなく、エンジニア自身が、「課題を設定→改善→全体に広めていくという活動を通じて定着→さらに課題を設定し改善し続ける」という無限ループが大事で、それを伝播させていくことで文化と呼べるものになると考えています。
paiza はスタートアップ企業ということもあり、昔は誇れるような開発カルチャーはなかったのですが、みんなで少しずつ作り上げて今に至ります。 この記事では、いままでみんなで培ってきた当社の開発カルチャーを簡単に紹介したいと思います。

これまでに培ってきた開発カルチャーの例

いまから紹介する開発カルチャーの例は、私がすべてを発案/浸透させたわけではなく、各メンバーが自発的に提案して、徐々に浸透していったもので、その空気感そのものが、とてもすてきだなと思います。

PaizaHackDays

paizaでは、社内の#ideathonというSlackのチャンネルに、「paizaでこういうことをやったら面白いのでは?」というアイデアを全社に向けて投稿しておく風土があります。

具体例としては、以下のようなものがあります。
・サムネイルサーバを導入して、SNSのシェア画像をにぎやかしたらどうか?
・paiza版の技術記事のキュレーションサービスを作ったら面白いのでは?
・エンジニア採用人事向けの動画学習コンテンツがあったら世の中のためになるのではなかろうか?

PaizaHackDaysは、月に2日ほどの時間を取って、そのideaのプロトタイプを具体化していくというものです。2020年の2月から始めた活動ですが、徐々にアウトプットがでてきています。
これによって、「エンジニアのモチベーションアップ」「技術的なチャレンジがしやすい」といったよい空気が生まれています。

先日公開した「PaizaTechTrend」は、その取り組みから生まれたサービスのひとつです。以下の記事で詳しく紹介していますのでよければごらんください。今後他にも紹介していきます!

PaizaTechLunch

エンジニアが「日頃疑問に思っているけれど、なかなか答えが出ないようなこと」や「技術的に面白そうな動画や LT 資料」を取り上げ、ランチの時間などを使って定期的にディスカッションする取り組みです。
これによって、「エンジニア全員の目線の引き上げ」「構想レベルの知見の共有」ができ、エンジニアのレベルアップにもつながっています。

PaizaBrokenViewHunters(仮) (ui_notes 対応)

paizaの各サービスで、サイト上の見た目の崩れがあった場合、 # ui_notesというSlackチャンネルに投稿するルールを設けています。投稿された課題は自動的に Trello でチケット化されます。チケットは定期的に時間をとって消化し、継続的に表示崩れを改善しています。投稿は社内の誰でも可能で、気づいた人が挙げることになっています。
これによって、「自分たちのサービスを自分たちでよくしていく当たり前の気持ちを高める」「俺のpaizaをもっとよくしたい」といった情熱につながっています。

PaizaTroubleShooters(仮)(障害対応のzoom生放送)

個人開発ではなかなか出会えない、障害対応時の考え方や行動について、シニアエンジニアの生きた知見を盗んで学べるように、「エンジニア未経験の方」のために、私が始めた活動です。
※ あくまでも社内に向けた放送であり、公開はしていません。

インフラの基本的な知識やログの確認方法、問題の切り分け方、サービス復旧を第一に考えた行動指針などを共有するのに役に立っています。また、自分自身の緊張感も高まったり、スキル上げをする気力向上にもつながっています。

もちろん障害対応は、発生しないに越したことはありませんが、対応するのがレアケースだからこそ、大きなスキルアップや気付きにつながるので、前向きに問い組んでいく文化がここにはあります。paizaのチーム内では、「目指せ!!障害対応の奪い合い!!」みたいな話が出てくるほどで、とても熱いです(笑)

PaizaEngineerBootcamp

paizaには、ITエンジニア未経験からWebフルスタックエンジニアに転向してきた方が2名います。もともとの職種でやるべきことをやって成長した上で、そこにソフトウェアエンジニアのエッセンスが加わるキャリアは、paizaのサービスとしても、強く成長できるのではないか?と考えています。

そういうキャリアを本気で目指す人と、ぜひ一緒に成長したい!!という思いから、エンジニアのOJT制度を構築中(2020/10月現在もOJT中)で、そのOJT制度をPaizaEngineerBootcampと呼んでいます。こちらについては、OJTが一周したら、別記事として投稿していきたいと考えています。

PaizaDX(DeveloperExperience)研究会(仮)

Developer Experience(開発者体験)というのは、明確に定義された言葉ではなく、受け取り方によって千差万別です。「paizaにおけるDXとはなんだろう?」ということを考え、各メンバーから出てきた意見について「何かできないだろうか?」とディスカッションするための時間を作っています。この時間の中から、前述の「PaizaHackDays」などの活動も生まれています。

PaizaDX(DeveloperExperience)向上Days(仮)

エンジニアの工数の2割程をつかって、さまざまな改善に当てる活動です。
この時間をつかって、これまでに以下のようなことを実現しました。

・インフラのコード化(Ansible,Terraform)
・Python で作られていた、著しく保守性が悪い機能の Rails での作り直し
・SPOF 部分の改善
・保守性の悪いコードのリファクタリング
・自動テストの拡充
・セキュリティ対応
・CI の高速化
・不要コードの削除
などなど

上記のような形で、多角的に時間を使っており、Developer Experienceの向上、長期的な生産性の向上、そして安定稼働につなげています。

おわりに

今回は、簡単にpaizaの開発カルチャーについて紹介しました。

もちろん、今後もっとよい開発カルチャーにしていきたいと思っていますし、paizaの規模も、そういった開発カルチャーを自分で考えて、みんなでディスカッションしながら浸透させていくことができるフェーズです。

paiza 株式会社では、あなた自身の成長とともに、paiza を成長させたいエンジニアを積極的に募集しています。paiza の成長に貢献しながら、自分自身の実力も高めていきませんか? ご応募をお待ちしています。


この記事が気に入ったらサポートをしてみませんか?