こんにちは。ビズアシスタントオンライン(以下ビズアシと省略)の開発メンバーの宮城です。 光栄にも、エンジニアブログを執筆させていただく機会を頂きました。
ということで、
クラウドワークスだけじゃないってことを、ここらへんでハッキリさせておこうぜ
について話していきます。大分挑戦的な見出しですが、内容はいたって真面目です。
私が参画している ビズアシ開発チーム の紹介を軸に、「クラウドワークス」のサービス以外を開発している人たちが どんな体制で開発をしているか について、簡単に説明していきたいと思います。
目次
対象読者
この記事は以下のような読者を対象としています。
- ビズアシについて知りたい人
- クラウドワークスの開発体制について知りたい人
- 各チームがどういう働き方をしているのか知りたい人
「クラウドワークス」以外のサービスって?
さっそくですが、皆さん。 クラウドワークス社が運営しているサービスって複数あるの、知ってました?
これが意外とあるんですね。 私が参画しているビズアシ以外にも、クラウドログとか、クラウドテックとか、クラウド....なんたらとか。 まぁとにかく、いろいろクラウドしている会社なんです。
基盤サービスが人材リソースを対象としたサービスなので、 そのバックボーンを活かすことができる 人材リソースを取り扱ったサービス が多いんですね。 細かく知りたい人は、公式ページを参照してみてください。
開発体制について
では開発はどのような体制で行っているかというと、クラウドワークス社では各事業毎に開発チームを分けて、完全分業制で行っています。
いい感じの解説画像がなかったので、自炊しました。ザックリしすぎてわかりにくかったらスミマセン。
説明すると、大きな事業のチーム(例えばクラウドワークス)には、チームメンバーが11~30人程度おり、 その中で更に専任チーム(インフラ、フロントなど)に分けて開発を行っております。
小規模のチーム(例えばビズアシ)の場合は、チームメンバーが3~10人程度で、 全メンバーフルスタックで課題に取り組むケースが多いです。
クラウドワークス社ではこういった形で、事業ごとにチーム編成を分けて、日々の業務にあたっています。 (複数チームに所属しているスーパーエンジニアさんもたくさんいます。)
ビズアシスタントオンラインについて
さて、それでは私が所属している ビズアシスタントオンライン について紹介していきます。 まずどんなサービスなのか?というと...
スキルがあるのに働けない人と企業をマッチングするサービス
になります。
...え、簡単すぎ? ですよね、はい。
具体的なサービス紹介は主旨から外れるので、公式ページを貼っておきます。 興味のある方は、是非こちらをご覧になってください。
ビズアシ開発チームについて
続いて ビズアシ の開発風景について紹介していきます。
チーム構成
ビズアシ開発チームのチーム構成は、以下の様になっています。
- マネージャー(MG): 1名
- プロダクトオーナー(PO): 1名
- エンジニア: 3名
だいぶ少ないですね。この人数なので、感覚的にはスタートアップベンチャーです。 簡単に各ポジションについても説明しておきます。
プロダクトオーナー(PO)
POはチームのリーダーに当たる人です。
聞き慣れない人もいるかもしれませんが、 クラウドワークス社では 必ず 1つのサービス に1人のPOがアサインされます。 この文化については、別の記事で紹介されております。非常に面白い内容なので、是非見てみてください。 現在のビズアシPOはカリスマ的スーパー(ウー)マンが担当しており、私も足を向けて眠れません。日々感謝。
https://engineer.crowdworks.jp/entry/team-join-po
マネージャー(MG)
MGはいざという時に便利アイテムをくれる謎の老人みたいな存在です。(雑)
MGは、直接的に開発業務に関わることはありませんが、 チームの問題解決をサポートしたり、企業全体の課題などに対応してくれたりします。 会社の都合とチームの我儘に、常に板挟みの大変な役職です。たぶん神です。
エンジニア
手足であり働きアリでありなんでも屋さんです。私もこれです。みんな上位職に転職しようと頑張ってます。
ビズアシ開発チームは以上のメンバーで構成されており、毎日あくせく課題に取り組んでいます。
ビズアシの開発風景
ここからは、普段ビズアシ開発チームがどんな環境で開発しているのか、 もう少し具体例を出して紹介していきたいと思います。
システムの垣根がない
冒頭で簡単に触れましたが、ビズアシはその規模から全員フルスタックで業務にあたっております。 そのため、 このシステムはこの人 といった、担当がありません。 Aさんがフロントやることもありますし、インフラ構築をやることもありますし、 Bさんがバックエンドからお茶汲みまですることもあるのです。 (お茶は冗談です。みんなリモートなので、各自茶をいれてます)
関係各所との連携のため、担当が固まるケースももちろんゼロではありませんが、 原則として、 担当者はいない をベースの理念として開発を行っております。
タスクはやりたい人がやる
各タスクは、 そのタスクをやりたい人がやる ようにしています。 同じエンジニアでも、背景や経験が異なります。またそれによって、それぞれ興味がある分野が違ったりすると思います。 ビズアシではそういった個人の志向や要望をなるべく尊重し、 個人がやりたい仕事をする ようにしています。 (やりたくも無いことをやらされるのは非常にシンドいですし、モチベーションも上がりませんよね。)
私は入社前まではRuby等を使ったバックエンドが主だったのですが、入社後は私の意志を尊重してもらい、TypeScript等のフロントエンド周りのタスクを中心にやらせて頂いております。
他にもAWSに興味がある人はAWSに、サーバサイドに興味がある人はサーバーサイドをやったりと、 各自が自分の希望するスキルを伸ばしていける環境を作っています。
決まり事がない
実は現在のビズアシ開発チームは発足から半年くらいしか経っておりません。 ビズアシは5年近く継続しているサービスですが、これまでの開発は業務委託エンジニアに依頼するなど、正規の開発チームがない状態で開発をしておりました。
なので、正式にチームができたのは、去年。 チーム年齢は1歳未満ということになります。産まれたてのホヤホヤチームです!
チームが若いというのは、決まり事もないのです。 (うるさいPMも、謎のレガシールールも、レガシーガーディアンも、そんなものは存在しないのです!)
そのため、うちでは、 「こういう時ってどうするべきなんだ?」 「他チームではどうしてるんだろう?」 「普及しているやり方は?」 みたいな会話をしょっちゅうしてます。(笑)
直接そういったことを指揮するポジションや勢力に依存していないので、自由にできている、というのも大きいと思いますが、 メンバーは全員フラット。なにかルールを作る際も、必ず全員が意見を出し合い、チームで決めるようにしています。
使ってる技術は?
エンジニアブログなので、ビズアシで使用している技術についても、一応紹介しておきます。 まずは、クライアントサイド。
- React
- Typescript
- Electron
特徴的なのは、やはり Electron
の開発があることでしょうか。
クラウドワークス全社をみても、 Electron
を使った開発をしているのはビズアシだけになります。
続いて、バックエンド。
- Ruby on Rails
- Python
- Flask
クラウドワークスでは馴染みの Ruby on Rails
を始め、Flask
という Python
のフレームワークを使用しています。
Flask
は軽量でサッと実装できるのが便利なようですネ。(ヨクワカッテナイ)
さて、最後にインフラまわりとその他です。
- AWS
- Heroku
- Terraform
- CircleCI
みんな大好き AWS
は、うちでもバリバリ使ってます。また、一部のシステムでは Heroku
を使用しています。
ここらへんは古いシステムの名残だったりして、今後人的リソース次第ではありますが、AWS
に統合していければ良いかなって感じです。
まとめ
ここまで読んでいただき、ありがとうございました!
クラウドワークス社では、クラウドワークス以外にもたくさんのサービスを作っております。 日々、様々なチームが様々な課題に取り組んでいる、そんな光景が少しでも伝えることができたのなら幸いです。
また、業務はチーム別々ですが、社内にはチーム以外のメンバーとコミュニケーションを取るための取り組みやイベントも沢山あるので、 チームの垣根をこえてウェイウェイしたい人も大歓迎です。
以上、ビズアシ開発チームの宮城からでした。 ありがとうございました。
We're hiring!
クラウドワークス社では、様々なポジションのエンジニアを募集しております。 ご興味のある方は、ぜひご連絡ください!