見出し画像

LABO DAYとは何か?

LABO DAYとは何か?

Tech Reisでは
毎月の最終日を「LABO DAY」として設定し
社員が通常の業務を離れて自由に開発活動に取り組む日としています。
この日は、新しいアイディアを試したり、
新しい技術を学ぶ絶好のチャンスです。

LABO DAYの目的

社員が自己成長を促し、将来のキャリアに役立つスキルを習得すること
を目的としています。
具体的には、社員が自分の未来のために時間を投資し、
今までとは異なる新しい技術や方法に挑戦する機会を提供します。

技術者のリスキリング

PHPが得意なエンジニア、Aさんの例を見てみましょう。
AさんはPHPでの開発が主な仕事ですが
もしいまGo言語の実務経験を積みたいと思っても
未経験のためGo言語の仕事のオファーを獲得するのは難しいでしょう。
お客様からしてみれば
即戦力でないAさんに仕事を依頼する理由がありませんよね。

このように仕事で新しい技術にチャンジしようと思ったとき
未経験の壁は大きな障害になります。

特に技術経験が浅い若手のエンジニアほど
仕事をしながら新しい言語にキャッチアップしていくことは難しく
キャリアが最初に習得した技術の延長線上に規定されてしまう可能性が高いのです。

LABO DAYは社員が効率よく技術のキャリアチェンジを行い、
望むキャリアを手にするために有効
です。

未来に備える時間

日々の業務では優先度の高いお客様の問題解決に追われがちで
重要だけれどすぐに必要ではないタスクは後回しになりやすいです。

社員に「もっとプライベートの時間を使って頑張れ」というのは簡単ですが、個々の努力に依存するのは属人化をまねくので良い策とは言えません。

会社に所属しているだけで
社員各位が無理なく効果的に自身のキャリアを良い方向に導いていける
そんな最良のプラットフォームづくりの一環として
LABO DAYは非常に重要な役割を果たします。

将来への賢い投資

投資についての一般的な説明を借りるならば
「投資」は今持っている資源を将来の利益のために使う行為です。
具体的には、
今の時間を使ってすぐには見返りがないかもしれないスキルの習得に充てることです。
これは将来的に大きなリターンを得るための準備と言えます。
LABO DAYはこの「投資日」として、社員が新しい技術を学び
長期的に自身の市場価値を向上させる機会を提供します。

お客様への還元

日本国内ではまだ7割の企業がChatGPTを禁止していますが

私も最初はおもしろ半分で利用していたChatGPTが
今や生産性を上げるために必要不可欠な存在
になりました。

たとえば私は以下のタスクはChatGPTを用いて
日単位でも1時間以上は作業時間を短縮できている感覚はあります。

  • MySQLにサンプルレコードを挿入するSQLの生成

  • APIリファレンスからGo言語の型定義を自動作成

  • 簡単な関数のコーディング

  • 関数のテストケースの自動生成

  • TypeScriptからGoへのコード変換

つまり1ヶ月に22時間分(22営業日の場合)の作業時間を短縮できているのです。

お金に換算してみましょう。

私は単価110万円/月のエンジニアなので時給は
110万円÷(22営業日 x 8時間) = 6,250円/時
となります。

毎月1営業日(8時間)のラボデーの時間を差し引いたとしても
1ヶ月あたりのお客様のコストを
6,250円 x (22 -1)日 = 131,250円削減できた

という見方もできます。

また、LABO DAYを機会に習得したAIツールを積極的に
現場(お客様の開発チーム)に提案し
評価頂いたことで月額単価を10万上げてもらった

といった実績も社内でちらほら出始めているので
社員育成の中長期的な方向性として筋は悪くないと考えています。

LABO DAYのたった6つのルール

LABO DAYはこれから紹介する6つのルールを守れば
チームで自由に考え、開発して良い決まりです。

  1. チームワークすること

  2. 面白い OR 実用的なシステムを作ること

  3. 成果を公開すること

  4. 未経験の技術・領域を扱うこと

  5. AIを活用すること

  6. ペア/モブプログラミングすること

1.チームワークすること

SESエンジニアはお客様のシステム開発支援という形で仕事に携わるため
お客様や他エンジニアと円滑にコミュニケーションを取れるよう訓練することには価値があります。

新しい技術を自由に学びながらも
リーダーやファシリテーターといった普段できない役割にチャレンジすることで、エンジニアにとって新たな気付きが生まれることを期待しています。

いますぐには、現場でリーダーやファシリテーターにはなれないという人も

「リーダーの人はこういう視点でものを見ているのか」
「だとすると、細かいけれどリーダーが気にされているこういうところをもっと共有するようにすれば、お役立ちできるのではないか?」

というように想像力がはたらくようにもできるので
取り組む姿勢次第で現場の人の気持ちを察して先回りする能力を身につけることも可能です。

2.面白い OR 実用的なシステムを作ること

社員それぞれにとってLABO DAYを主体的で有意義な時間にしてもらうために作成するシステムに
「面白いもの」または「実用的なもの」
という条件をつけています。

「面白い」というのは脳を活性化するために重要な概念ですし
「実用的なもの」つまり役に立つものは、誰かに使って喜んでもらえるという貢献心をくすぐるので、モチベーション高く活動するための要素として
大切にしています。

「面白いかどうか」「実用的かどうか」はチームメンバーの主観で決めて頂きます。普段の業務とは異なり
成果物を作るために技術をキャッチアップするのではなく
技術をキャッチアップするために、成果物を作る

自分たちの自己満足で面白いものを作り、楽しくやった結果
後々役に立つスキルが備わっていたというのが理想です。

ものづくりって本来楽しいものですしね。
(大人になると忘れてしまいます)

3.成果を公開すること

「公開する」の定義は
不特定多数の目にとまり、システムの存在や振る舞いを認知してもらえる状態にする」としています。

技術のキャッチアップをするのであれば個人で参考書を読んだり
新しいライブラリを沢山触ってみるという方法もあると思います。

しかし私はどんなに小さくても
システムを作り切る過程で得られる経験値に勝るものはない
と考えています。

「自由な開発」と聞くと楽しくかんたんな気がしますが
実は「自由」というのはハードルが高いです。

  • 開発期間から逆算して
    最低限どれくらいの品質のものが今のチームで実現できるのか?

  • 技術セットは何を採用すると良いのか?

  • ユースケースは?

  • ステックホルダーは?
    開発手法は?

  • 一から作るのか、使えるライブラリや既存コードはないか?

など考えることはいくらでもあります。

あえてルールをたった6つに絞っているのも
存分に頭を使って柔軟に問題を解決してほしいという意図があります。

4.未経験の技術・領域を扱うこと

社員それぞれが1つ以上の未経験の技術・領域に触れること
をルールにしています。

たとえばJavaエンジニアがTypeScriptを書いたり、Swiftを書くのはアリです。
普段フロントエンド・エンジニアをしている人が
バックエンドエンジニアとしてRest APIのコードを書いたり
インフラエンジニアとしてTerraformやAWS CloudFormationを使いAWSリソースのコード化に取り組むなんてのもアリでしょう。

5.AIを活用すること

これから先、
AIをどれだけ使いこなせる人材になれるかが
多くの人のキャリアを大きく分ける
と私は信じています。

したがってメンバーそれぞれに、何かしらの方法でAIに触れてもらいたいと考えています。

たとえば以下のような例が挙げられます。

  • コーディングにChatGPT/Copilotを利用する

  • ChatGPT APIを使っておしゃべりボットを作る

  • DALL-E3を使って画像生成サービスを開発する


Tech Reisに所属するエンジニアは1年後には

こんな感じのエンジニアになってもらうことを期待しています。
(厨二全開ですいません。男はおっさんになっても少年なんです。)

6.ペア/モブプログラミングすること

少なくとも1日1回はペア・プログラミング、モブプログラミングをしてもらいます。

アジャイル開発を経験したことがあるエンジニアならペアプログラミング
モブプログラミングの意義は言わずもがなかと思いますが、
たとえば開発経験が浅いエンジニアをドライバー(コードを書く人)、
ベテランエンジニアをナビゲーター(コーディングをフィードバックをする人)
という2つの役割に分けると
経験が浅いエンジニアはリアルタイムでベテランエンジニアのフィードバックを受けながらコードを書くので、普段教えてもらえないベテランの考え方や細かいテクニックや便利なツールを学ぶことができます。

ベテランエンジニアは人に技術を教えるためには自身がきちんとした知識を身に着け、それをわかりやすく噛み砕いて説明する力が必要になります。
一見ナビゲーターの役割にはメリットがないようにみえますが、
ナビゲーターの役割を通して、自分の中で曖昧だった知識をより正確に学習する良い機会になったり、わかりやすく説明する訓練の場にもなります。

また、それぞれのエンジニアにとって当たり前だと思って開発している考え方や使っているツールなど、他のエンジニアから見ると目からウロコの発見があることも珍しくないので、そのような相乗効果も期待しています。

LABO DAY活動の評価

相互評価制

11月末までに各チームが作った成果物の中で
最も優れているシステムだと票されたチームを優勝
とします。

各チームメンバーは、自分のチーム以外のチームの成果物の中で
最も良いと思うシステムに1票投票する権利があります。
匿名で投票してもらい、その結果最も得票数の多かったチームを最優秀と評します。

ちなみに代表の私も、平等に1票、良いと思ったチームに票を入れます。
個人的に人を評価するのは好きではないですし、社長賞のように特定の人の個人的な評価よりは、より多くの人が良いと感じたという結果を評価に換算するのが良いと考えます。エンジニアのキャリアを考えた場合でも
社内の上司や代表のように特定の個人に評価されることを意識するよりも、
どうすれば世の中(市場)に評価されるかを考えてもらうようにした方が
社員それぞれの付加価値は上がっていくからです。

優勝チームに10万円の懸賞金

優勝チームにはなんと!!賞金10万円が授与されます!!
チーム山分けですが、その内訳けもチーム内で話し合って決めてもらいます。
たとえばAさん、Bさん、Cさんが属するチームが優勝したとします。

みんな頑張ったから3.333万円ずつ山分けでいこう
という平和な案でも良いですし、

Aさんはプライベートの時間も使って頑張った、
BさんはLABO DAYの時間はチームに大いに貢献した
CさんはLABO DAYの日は50%の確率で有給を取って休んだ
という結果をもとにAさん5万円、Bさん4万円、Cさん1万円にするのもアリです。

チームで決めた賞金の内訳を、リーダーが私にこっそり伝えると
翌月(12月)の給与に賞金額が上乗せされます!

賞金を出すようにしたのは、余興半分、活動のモチベーションを高める意図が半分です。
賞金目当てにプライベートな時間を使ってシステムのクオリティを高め
優勝の確率を上げるというのもルール違反ではありません。
ルールは最初に決めた6つ以外にないのですし、
きっかけが何であれ、開発が楽しくなってプライベートでも開発するような社員が1%でも出てきたら、それは労使(会社と社員)両方にとって良いことです。

活動風景

LABO DAYはフルリモートで活動しています。
おまけでSlackの各チームの活動風景を貼っておきます。

一番最初にチーム名決めたり目標設定しているところですね。
チーム名からもいかにふざ…自由に取り組めているかが伺えます!

ゲートガーディアンチーム

トトロとマリルリチーム

桜の木の下で出会った僕らは異世界に転生し御三家を目指すことになった

さいごに

最後まで読んでいただきありがとうございました!

Tech Reisは正社員エンジニアを絶賛募集中です!

主にモダンなウェブ開発、クラウド開発、アジャイル開発に特化した社員を中心に活動しています。

ご興味頂けたらGreenや自社HPも覗いてみて頂けると嬉しいです!


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