Opt Technologies Magazine

オプトテクノロジーズ 公式Webマガジン

エンジニアの1日 Vol.1 ~Re:朝から始める在宅勤務~

alt

Tech Magazine編集部の @v2okimochi です!

弊社エンジニアが普段どのような働き方をしているのか、「エンジニアの1日」シリーズ第1弾をお届けします。 これからどんどん追加していきます。

今回は私自身の1日を取りあげます🎉🎉🎉

エンジニア プロフィール

@v2okimochi

  • 東京本社勤務
  • 2019年 新卒入社
  • 学生時代の専攻は情報ネットワークと教育工学
  • 広告運用業務を支援する社内向けプロダクトに携わっている
    • 実際の広告運用、けっこう大変
    • できる限り自動化したいおきもちがある
  • 技術スタックは Clojure, TypeScript + Vue.jsなど

Spacemacsに入信しました。

1日の流れ

08:00 リモートで業務開始

弊社エンジニアは、新卒OJT期間など一部を除いて基本的に裁量労働制です。 各自がベストパフォーマンスを出すことを重視しており、そのための時間の使い方は個人やチームへ大幅に委ねられています。

私も現在は裁量労働制です。私は朝型ですが、朝の通勤は魂に毒なので、昼まで在宅勤務です。

会社ではMacBookを支給されていますが、私はWindowsユーザなので、自宅ではWindows10 Proを使って開発しています。エディタSpacemacsでTypeScriptを書く際のコード自動整形がうまくできていなかったので、設定を直してからフロントエンド(画面側)の実装をします。ソースコードはTypeScript + Vue.jsです。

今日は担当プロダクト (広告運用支援)の画面に「ユーザ検索」機能を実装します。プロダクトの利用ユーザを入力・選択することで、そのユーザに関連する広告の情報を絞り込めるようになることを目指します。

このプロダクトは、大まかにはフロントエンド + REST API + データベースの構成です (インフラ側の説明は省略します)。実はデータベースに対する絞り込み処理などはREST API側で既に実装済みなので、フロントエンド側では「選択されたユーザの情報を使ってREST APIにリクエストを送る」という処理に注力します。合わせて既存コードのリファクタリングも提案してみたりします。

12:00 昼休憩してから出勤

自宅で昼食をとってから出勤します。今日は半熟卵入りのラーメンを食べました。

外食を控えると、何気に食費が節約されたりします。

14:30 出社、業務再開

会社に着いたので業務再開です。通勤は片道1時間30分かかりますが、昼は電車が空いていて助かります。

フロントエンドの実装とリファクタリングを終えて、GitHub上でチームメンバーに「PR (Pull Request)レビュー」を依頼します。他者から見て実装に見落としがないか、もっと良い書き方はないか、などを確認します。問題なさそうであればLGTM (Looks Good To Me)となり、ソースコードがdevelopブランチ (本番前の確認用)へマージされます。 レビューは無事LGTM、私の変更部分がマージされました🎉🎉🎉

また、チームメンバーから依頼されていたPRレビューも終えたので、そのソースコードをdevelopブランチへマージします。これは、先日新規追加した「APIサーバのヘルスチェック機能」をインフラ側で利用するための変更でした。

alt

15:00 デイリー報告会とリファインメント

私が所属する開発チーム (5人)では、毎日30分を使って「昨日からの進捗報告 (デイリー)」と「新たに生まれたタスクの詳細化 (リファインメント)」を行っています。

私は今日行った開発作業と、この後に行う予定について報告しました。

15:30 開発の続き

次の機能を開発している最中、画面側の挙動がおかしいことを発見しました。先程マージした変更の中にバグがあることがわかってしまった……😇 新機能の開発を中断し、Webブラウザ上のコンソールを見ながらバグ原因の特定と除去をします。マージを切り戻して調査開始です。

調査の結果、リファクタリングに漏れがありました😇 私がリファクタリングした画面とは別の画面にて「リファクタリングで消したコードを参照している部分」が残っており、存在しないコードを見に行ってエラーが発生していたようです。

本来は各画面で使うデータを個別に持つ設計でしたが、既存コードでは他画面のデータを使ってしまっていました。無事に解決できてほっとします。

17:00 サイクル振り返りと計画会

今日は1サイクルの最終日です。私が所属する開発チームでは、1サイクル = 5営業日として「このサイクルでどんなタスクを取るか (たとえば、どんな機能を作るか)」を決めてから開発します。サイクル最終日には、「今サイクルの振り返り」と「次サイクルのタスク決め」を行います。

私が持っていた今サイクル分タスクは、惜しくも完了できませんでした (先程のバグを見つけた機能)。悔しい……。

次サイクルでは、バグ除去分の再マージを目指すタスクと、既存の検索機能の拡張タスクを取りました。元々検索できていたデータに加えて、他のデータも一緒に検索できるようにします。バグ除去は完了のめどが立っているので、すぐに取りかかれそうです。

alt

18:00 業務終了

定時なので帰ります (裁量労働制なので定時の概念はありませんが)。昼に時間が空いていたので、働いていたのは7時間30分でした。

今日は会議が入っていましたが、何もない日はさっさと帰ってしまうこともあります。12:00に来て16:00過ぎに業務終了、なんてこともありました。裁量労働制の目的に沿って、「成果を出せていれば時間の使い方はかなり自由」です。

まとめ

リモート作業や実際の開発、チーム内ミーティングなど盛りだくさんの1日でした。弊社には夜型のエンジニアも多く、午前中は執務室が寂しい……なんてこともあります。

リモートなら「朝型だから早めに出社」だけではなく、「あえて昼に出社する」という選択も可能ですね!

打ち合わせなど周囲の人とうまくコミュニケーションを取って調整することで、「自身の最高のパフォーマンスを出す環境」を自分の手で生み出すことができる……それを感じる1日でもありました。

自分らしい働き方の参考になればと思います。

以上、エンジニアの1日 Vol1~Re:朝から始める在宅勤務~ でした!


Opt Technologiesでは新卒エンジニアを募集中です!ご応募はこちらから!