見出し画像

育児休業明けに感じた、 SaaS 活用による働きやすさ

こんにちは、もずくストッカーです。ナビタイムジャパンで Web サービスの開発を担当しています。

今回は「育児休業明けで復職したばかりのエンジニアが、仕事の感覚を取り戻しながら感じた『 SaaS 活用による働きやすさ』」をお伝えしたいと思います。

自己紹介

はじめに、筆者について簡単に自己紹介します。

  • 入社十数年目の30代女子。子供2人

  • 業務歴はサーバーサイド開発中心。データ開発や営業支援も経験有り

  • 2018年末〜2020年夏/2021年春〜2022年3月に産休・育休取得し、2022年4月(先月)復職

復職前(休職中)の状況

「休職中は時間がたくさんあるから、仕事の勉強も少しはできるかな…」という淡い希望は簡単に打ち砕かれ、休職中は育児に追われる日々でした。筆者は時間の使い方が上手くなかったこともあり、仕事に関わる勉強をする時間はまったく確保できませんでした。

2022年3月の復職前リモート面談にて所属事業や担当業務を聞き「もうすぐ復職だし、的を絞って少しは勉強しておかなくちゃ」と思ったものの、コロナ禍による保育園登園自粛要請の影響で復職ギリギリまで育児メインの生活に…。結局勉強はできず、復職直後から満足に仕事ができるイメージは正直ありませんでした。

復職直後に感じたこと

記事執筆日時点で、復職からちょうど1ヶ月が経過しました。

筆者は休職前からサーバーサイドエンジニアとして働いており、復職後もサーバーサイド開発を担当しているので、「担当課題(タスク)を確認する」「コードを書く」「分からないことは質問/相談する」「コード書き終わったら検証する」などの大まかな仕事の流れは覚えており、すぐに思い出す(行動に移す)ことができました。

しかし、技術面の勉強不足かつ久々の開発業務に自信がない上、時短勤務なので「フルタイム勤務だった頃よりも時間を大切にしないと、アウトプットが少なくなってしまう」という不安が頭をよぎることが増え、時短・仕事効率化できるものはどんどん取り入れていきたいと感じる日々を送っていました(今も送っています)。

そこで、ここからは「育児休業明けで時短勤務の筆者が、開発業務の各場面でどのように働いているのか、また、どんな効率化を経て働きやすさを感じられたか」をご紹介します。

復職者が感じた、 SaaS 活用による働きやすさ

課題の管理

開発を始める前に避けては通れない、課題(タスク)の管理。「〇〇機能を△日までに実装する」といった課題の管理には、ナビタイムジャパンで全社的に導入されている Atlassian 製ツールの Jira を使用しています。「課題の管理」と一言で説明してしまいましたが、TODO の内容に限らず、進捗や備忘録の記入、完成した機能のスクリーンショット貼付に作業時間の記録など、様々な情報を書き込むため頻繁にアクセスするツールです。

Jira 自体は筆者が休職する前から使用しており、使い方に迷うことは特にありませんでした。ただ、筆者休職前の Jira は社内のオンプレミスサーバーで稼働していました。アクセス集中や大容量のデータアップロード等でサーバーがダウンし課題の閲覧/更新ができなくなることや、「バージョンアップで公開された新機能を使いたい」と思っても、オンプレミス版のバージョンが古く、バージョンアップが済むまで新機能を我慢をしなければならなかったり…と大小様々な痛手を経験してきました。

この問題について、ナビタイムジャパンではオンプレミス版からクラウド版への移行を2020年に行いました。おかげで、筆者が抱えていた悩みはいずれも解消し、課題の更新途中にサーバーダウンして作業が中断してしまうことや、新機能公開から有効化までのリードタイムにヤキモキすることから解放され、ツールの利用に集中できるようになりました。

Jira だけでなく後述の Bitbucket と Confluence もクラウド移行されたため、開発業務の必需品に対する不安・不満が解消されたことに加え、心なしか各ツールの応答速度も改善されたように感じられることは(これはマシンスペックやインターネット回線など他の要因かもしれませんが)、筆者の働きやすさに大きくプラスになっています。筆者の休職中に導入された新機能も多数あるようなので、これから使っていくのが楽しみです。

※ Jira のクラウド移行について詳細は、次の記事をご覧ください。

ソースコードの共有

開発作業の大半を占めるであろう「コードを書き、共有する」という作業。ソースコード管理においても、ナビタイムジャパンでは Atlassian 製ツールの Bitbucket を使用しています。

筆者が休職する前は Java や Python のコードを書く機会が多く、エディタには IntelliJ を使用していました。現在は Golang などのコードを書くようになり、エディタも Visual Studio Code に乗り換えました。使用するエディタは各チームまたは個人が自由に選択できます。一部エディタの有償ライセンスについては会社が費用を負担してくれる点も、働きやすさの嬉しいポイントです。

各種エディタの豊富な開発補助機能には今も昔も助けられてばかりですが、コードを書いた後の一場面でストレスに感じる問題があったことを、今回の復職直後に思い出しました。それは、書いたコードを共有する際の「コミットメッセージ」です。

# コミットメッセージの一例

XXX-2178 :heavy_plus_sign: gomock 追加
XXX-2110 :ok_hand: 文字列連結を Builder ではなく Join 使うようにした
XXX-2178 :wrench: 読込シナリオをワイルドカード指定にした
XXX-2110 :bulb: TODO 更新

筆者の所属チームでは、コミットメッセージ先頭に「Jira の課題番号」を記述するのがルールになっています(上記例の「XXX-2178」「XXX-2110」が課題番号です)。これは課題番号をキーに Jira と Bitbucket を連携させることで、 Jira の課題内容と Bitbucket のコード変更履歴とが相互に参照できるようになり、仕様確認や不具合原因調査といった開発者が欲しい情報へのアクセスがしやすくなるためです。

この『コミットメッセージ先頭に「Jira の課題番号」を記述する』作業が思いのほか大変で、コミット毎に課題番号を手入力するのが面倒だったり、開発ブランチが変わると課題番号も変わる(ことが多い)ため、番号を間違えないよう注意しなければならなかったりします。うっかり課題番号を書き忘れてしまったり、過去のコミットメッセージ履歴を再利用した結果誤った課題番号でコミットしてしまうミスも起き、情報アクセス効率化のために行っているはずの作業が、逆にコード共有作業効率を悪化させていると感じていました。

解決方法を調べてみると、Git フックを利用してコミットメッセージのテンプレートを動的に生成するやり方がありました。

.git/hooks ディレクトリ配下に prepare-commit-msg ファイルを作成し、ブランチ名から Jira 課題番号を抽出するスクリプトを記述します(下記例)。

#!/bin/bash

# 現在のブランチ名 (feature/XXX-2178-prototype) を取得
branch_name=`git rev-parse --abbrev-ref HEAD`

# ブランチ名を Jira の Issue ID (XXX-2178) に置換
issue_id=$(echo $branch_name | sed -nE 's/[a-z]+\/([A-Z]+-[0-9]+)-.+/\1/p')

# コミットメッセージの冒頭に Jira の Issue ID が書かれるようにします
if [[ ! -z $issue_id ]]; then
 sed -i -E "1s/^/${issue_id} /" $1
fi

これだけです!

スクリプトの作成が終わったら動作確認です。コミットメッセージには Jira 課題番号を書かずに、任意の文章のみ記述してコミットしてみます(下記例)。すると…

# 任意のテキストファイルを作成 → バージョン管理に追加するコミットを行う
% git add dummy.txt
% git commit -m ":books: お試し用のファイル追加した"
[feature/XXX-2178 ac74ebe] XXX-2178 :books: お試し用のファイル追加した
 1 file changed, 1 insertion(+)
 create mode 100644 dummy.txt

# コメントの先頭に課題番号(XXX-2178)が書かれている!!!
% git log --oneline -n 1
ac74eb (HEAD -> feature/XXX-2178-prototype) XXX-2178 :books: お試し用のファイル追加した

この一手間で、コミット毎に Jira 課題番号を書き込む作業から解放されました。コミット一回あたりの節約時間はほんの数秒ですが、累計すればそれなりの時間になりますし、加えて課題番号の記入ミスまで撲滅できるようになり、一石二鳥です。休職前からやっておけば良かった…と少し後悔しました(笑)。

分からないことが出てきたら (1) モブプロ

開発中に遭遇する「分からないこと」は色々ありますよね。その中から今回は、2つのケースに焦点を当ててみます。

1つ目は「モブプロ(モブプログラミング)」です。

筆者は復職してから、開発を担当するサービスも使用する言語も新しい(初めて経験する)ものになり、右も左も分からないことだらけです。そのため、チームの有識者から仕様・技術の両面におけるアドバイスを受けながらコードが書けるモブプロタイムは、たくさんの知識をインプット出来るとともに短時間で成果をアウトプットできる(コードを書ける)、実にありがたい時間となっています。

筆者の休職前からモブプロ自体は実施されていましたが、コロナ禍の今日でもほぼ毎日のペースでモブプロが活発に行われているのは、リモートミーティング普及のおかげだと感じています。

コロナ禍以降、ナビタイムジャパンでは、新型コロナウイルス感染拡大防止の政府の要請に応じて「出社日」と「在宅勤務日」を切り替えるハイブリッド勤務を取り入れています。モブプロは複数のエンジニアが集まって画面(エディタやドキュメント)を見ながら会話を交えて進めていくのがオーソドックスですが、リアルに集合することが出来ない在宅勤務の日でも、リモートミーティングツールの Google Meet を用いて出社日と変わりなくモブプロを実施しています。

個人的には、リアル参加型モブプロだと自分の立ち位置が画面から遠くなった場合に、画面の字が小さくコードが読みづらいといった悩みも抱えていましたが、リモート参加型だと遠慮なく画面に接近できるので(笑)、在宅勤務日のモブプロの方が捗っている気がします。

分からないことが出てきたら (2) チーム外への問い合わせ

2つ目は「チーム外への問い合わせ」です。

「この API に△△パラメータがあるけれど、○○パラメータと同時指定できるだろうか?」や、「××データの仕様が知りたいので、ドキュメントを見せてもらいたいな」といった疑問(問い合わせたい物事)が、開発をしていると必ず出てきます。

ナビタイムジャパンでは、コミュニケーションツールの Slack を用いて社内問い合わせの一次対応を受ける仕組みが、バックオフィス部門含め整えられています。 Slack ワークフローおよびアプリを活用し「フォームに必要事項を入力すると、担当者に問い合わせの通知が届く」ものから「入力された問い合わせ内容に応じて bot が自動応答して、その場で案内/解決してくれる」ものまで様々なソリューションが提供されています。

筆者の休職前は、プロジェクトによって問い合わせの受付方法がバラバラで「問い合わせをしたいけど、問い合わせの仕方を確認するのに時間が…」という事も多々ありました。しかし、筆者が復職するまでの間に全社でコミュニケーションツールの Slack 移行が行われ、そのおかげで「社内の誰かに問い合わせたいことが出てきたら、まず Slack を探れば大概のゴール(担当プロジェクトへ問い合わせを送信)にたどり着ける」構図が出来上がってきています。

復職したての人間は、マシンのセットアップ関連含め問い合わせをしたくなる場面が数多くあるので、この手の時短術は大助かりです。

※ Slack ワークフローとアプリの活用事例については、次の記事をご覧ください。

その他の SaaS 活用シーン

ここまで「育児休業明けで時短勤務の筆者が、開発業務の各場面でどのように働いているのか、また、どんな効率化を経て働きやすさを感じられたか」をお伝えしました。時短勤務の筆者にとってこれらの SaaS 活用は最大の時間節約術であり、慣れない開発業務における心強い味方でもあります。(時短勤務でない人にも同じことが言えるような気もしますが、ありがたさをより実感出来ているということで…)

簡単にではありますが、他にも筆者の役に立っている SaaS 活用事例をご紹介します。

  • CI サーバー

    • オンプレミスからクラウドへ移行し、リモートアクセス実現に加えてスケーラビリティが大幅に向上

      • 以前は「前のビルドに2時間かかっていて次に進めない」や「日次のサーバー再起動失敗でリリース物作成が間に合わず、リリース延期」など、トラブルばかりでした

    • Bitbucket や Slack との連携により、リポジトリの更新をフックに CI サーバーでビルド/テストを実行 → 成功・失敗がメッセージ通知され、 CI サーバーに直接訪れずともシステム運用が可能に

  • 勤怠管理システム

    • 出勤/退勤の打刻や休暇等申請が、在宅勤務時も操作可能に

      • 以前は出社してからでないと申請できませんでしたが…申請の手間が減らせて助かっています!

さいごに

ここまで「育児休業明けで復職したばかりのエンジニアが、仕事の感覚を取り戻しながら感じた『 SaaS 活用による働きやすさ』」をお伝えしました。

コロナ禍に休職期間を過ごしたこともあり、現在となっては当たり前ともいえる事例中心でしたが、復職したての社員には驚きと感動の連続で「この体験を文章に残さずにはいられない…!」という気持ちから記事を執筆しました。

この記事を通して、現在育児休業等で休職中の方や、これから休職/復職を予定・検討している方に「 SaaS をはじめとした様々なツールの活用や、短時間勤務や看護休暇などの育児社員向け制度、そして家族の協力(←大事です!)があれば、復職後も安心して働ける」ことをイメージしていただけたら、幸いです。

復職したては自分自身の生活リズムも変わり、順応していくのも大変ですが、頼れるものには頼って効率よく仕事をしていきましょう!