OpenWork Tech Blog

オープンワークの開発チームが届ける、情報プラットフォームを支える技術と文化

開発プロセス

モチベーションの低い仕事はミスが増える?施策の背景を理解する大切さ

仕事のモチベーションとバグの発生率には深い関係がある?日々の施策の実装を通じて気づいた、モチベーションが低いとバグが増えるという経験をもとに、より良いコードを書くための考え方を紹介します。特にABテストの実装を通じて学んだ、施策の背景を理解…

「機能テスト」でむやみに悩むのをやめたい。テストサイズの導入検討

自動テストを書きたいけれど、テストの種類や範囲に迷うということを解決。Googleが提唱するテストサイズ(Small、Medium、Large)の考え方を活用し、実践的なテスト管理方法を紹介。Symfonyフレームワークを使った応用例も合わせて解説します。

CI実行時間を73%削減しました

画像提供: Pexels エンジニアのビリーです。 今年はCI改善PJに取り組んできましたが、その結果、CI実行時間を50分から13分に削減することができました。そのやり方を紹介していきたいと思います。 課題 CIの実行時間は2024年5月には50分以上かかっていました…

ふりかえりの目的を見つめ直した話

いちど立ち止まって 背景 インフラチームの小川です。 自分たちのチームでは例に漏れずスプリントの終わりにふりかえりを行っていますが、ここ最近はゆるやかな形骸化を感じていました。具体的には、以下のようなことがたびたび起きていました。 アイデアや…

テクニカルライティングで文章の書き方を体系的に学ぶ

「技術的な内容を読み手に分かりやすく伝える手法」であるテクニカルライティングについての原理原則を紹介しています。テクニカルライティングの原理原則を利用することで文章の「書き方」が体系的に分かり、読み手の認知負荷を下げることができます。

もっとポジティブなプロジェクトを目指してFun, Done, Learnを始めてみた

チームの関係性強化を目指してふりかえり手法「Fun, Done, Learn」を始めました。 始めた理由や現在の開催方法、得られた効果について紹介します。

【Symfony】データを小分けに取得してバッチのメモリ使用量を減らす

良い感じにリファクタできました Webアプリエンジニアの加瀬です。 バッチのリファクタを行ったのですが、データ取得の方法を少し工夫してメモリ使用量を小さくすることができました。 色々な場面で活用できそうと思ったので書き留めておこうと思います。 環…

KPT に Blog レーンを入れて BKPT にしたけど断念した話

始めるのは簡単だが、辞めるのは難しいものだ インフラチームの小川です。 背景 テックブログ記事を継続的に書く組織文化を作りたい、ということを常々思って頑張ったり頑張らなかったりしています。 まずは所属するチームからということで、インフラチーム…

生産性を上げるための効率的なコードレビューとは?

Webアプリエンジニアの大橋です。 オープンワークではGitHub上で1人以上のレビュアーがコードレビューをし、approveすることを必須としています。 レビュアーはプロジェクトチームごとに中堅以上の正社員エンジニアが担当していますが、レビュアー自身も開発…

"小さな"ドキュメントでより良い開発体験を。「世界一流エンジニアの思考法」のTipsを開発に取り入れてみた

Web開発エンジニアの森山です。 2023年10月に出版された、ソフトウェアエンジニア牛尾剛さんの「世界一流エンジニアの思考法」という書籍を読みました。この中で紹介されていた「小さなドキュメントを実装前に書く」という方法が良さそうだったので、やって…

ノーミーティングデーでラグジュアリーな一日を

とりあえず参加して欲しいと言われたミーティングは断るの図 インフラチームの西川です。 チーム内でノーミーティングデーを取り入れたところ、意外と良い反応を得られたので共有したいと思います。 ノーミーティングデーとは 導入の経緯 実施間隔 実施期間 …

自動テスト実行時に作られるデータは邪魔

こんにちは。Webアプリエンジニアの藤原です。 今回は自動テストで行った改善について紹介したいと思います。 課題 テストデータの消し忘れによる不整合データ 解決方法 どういう機能を提供してくれるのか 想定以上のメリット 注意 E2Eテストは未対応 最後に…

iOSアプリのリアーキテクチャ MVVMからTCAへ

ネイティブアプリエンジニアの入江です。 OpenWorkのiOSアプリのアーキテクチャは、MVVMからTCA(TheComposableArchitecture)へ移行中です。 今回は初投稿ということで、実際TCA化やっていてどうかみたいな、広く浅いテーマの記事にしたいと思います。 ※この…

スクラム開発で直面した課題と解決策

新年あけましておめでとうございます。 Webアプリエンジニアの大橋です。 本年もOpenWork Tech Blogをよろしくお願い申し上げます。 さて、オープンワークのほとんどの開発プロジェクトではスクラム開発を導入しています。 今回は私が所属していたプロジェク…

デッドコード削除の記録〜求人応募編〜

Webエンジニアの入江です。 2児の親なのですが、衣替えの季節になると毎回子供の服が足りないなと思ってしまいます。成長期は大変。 さて、OpenWorkはクチコミサイトの印象を持たれる方が多いと思われますが、実は求人掲載も行っています。これまで、主に外…

障害通知を改善した話

Webエンジニアの入江です。 リモートワークしているのですが、部屋が寒くて、こたつでお仕事したい今日この頃です。 ブログ投稿のハードルを下げたいので、ライトな記事も投稿してみようかと思います。 弊社のエンジニアは、主に5〜6個のプロジェクトチーム…

大規模案件を安全にリリースするために考えたこと

OpenWorkリクルーティング はじめまして。Webアプリエンジニアの村井です。 OpenWorkリクルーティングのプロダクトチームで2年弱、開発リーダーをしていました。大きな案件の開発、スクラム導入、複数プロジェクト合同での開発......など色々なことがありま…

オープンワークでテスト駆動開発(TDD)を導入するまでの6ステップ

Webアプリチームの西川です。 オープンワークでテスト駆動開発を導入したのですが、その時の反省も踏まえて手順をまとめてみました。 ステップ1. なぜ導入するのかを明確にする アプリケーションが動作する綺麗なコードを書く これが刺さるなら一番良いです…

ペアプログラミングの効果と工夫したこと

Webアプリエンジニアの大橋です。 オープンワークでは、プロジェクトによってペアプログラミングを実施しています。 私が所属するプロジェクトでも今年の3月頃からペアプログラミングを実施しました。 自分のペースでコツコツと作業できるのがエンジニアの醍…

開発における認知負荷を低減するためにオープンワークで実践していること7選

Webアプリチームの西川です。面談でよく話題に挙がることをうまくまとめたいと思っていたところ、「認知負荷」というキーワードである程度まとめられそうだったのでまとめてみました。 認知負荷とは 「ワーキングメモリで利用される心理的労力の総量」として…

インフラチームのスクラム開発 2022 Spring

馬がスクラムして…るように見え...なくもない インフラチームでスクラムマスターをやっている小川です。今回はインフラチームのスクラム開発についてご紹介できればと思います。 なぜスクラム開発を導入したのか オープンワークにおけるインフラチームの業務…

自動テスト改善の歴史

警報装置の定期メンテナンスはとても重要 Webエンジニアの入江です。気づけば入社5年目、かなりの古株になってしまいました。 勤続5年で、2週間の休暇が取得できるのですが、このコロナ禍、果たしてバカンスできるのでしょうか・・。 さて、弊社では、有志で…

リファクタリングプロジェクトがいかに素晴らしいかを伝えるための記事

アイキャッチ猫 こんにちは、Webアプリチームの西川です。異世界転生したら猫の爪をうまく切れる能力がほしいです。 オープンワーク株式会社に入社して10ヶ月ほど経ちました。 入社してから現在までリファクタリングプロジェクトに所属しています。 リファク…

めざせスクラムマスター

「そこに3つの役割があるじゃろ?好きな役割を1つ選ぶのじゃ。」 Web開発エンジニアの入江です。 娘とともにポケモンマスターを目指して旅をしています。 ゲームボーイ世代なので、UXの進化にただただ驚くばかりです。 さて、2021年4月から弊社はスクラム導…

20,000行のソースコードを削除した話

こんにちは。Webアプリチームの大橋です。 この4月、新生活を迎えた人も多いことでしょう。 OpenWork開発部門でも新入社員エンジニア6名を迎え、フレッシュな風が吹いています。 彼らが早く一人前のエンジニアとして活躍できるよう、全社員でサポートしてい…

毎日のリリースをSlackから実施できるようにした話

こんにちは。Webアプリチームの村岡です。 コロナの影響で外出しづらい日々が続いていますが、せめて気分だけでもとZoomのバーチャル背景を風景にして日々旅行気分を味わっています。 今回はオープンワークのリリースとその自動化についてのお話です。 オー…

スクラムはじめました

山頂を目指して歩き始める。新しいことを始める時の感覚に似ている。 こんにちは、オープンワークのアプリプロジェクトでスクラムマスターをやっている頼です。舌下療法で花粉症を克服しマスクフリーになったのですが、今度はコロナと戦うためのマスクを探し…

オープンワークサーバーサイドの過去〜現在

こんにちは、ネイティブアプリエンジニアリングマネジャーの頼です。 2018年アプリチームの立ち上げから早1年が経ちました。手探りの中始まったオープンワークアプリの開発ですが、ファーストリリースを乗り越えようやく安定した開発体制が整いつつあるのを…

GCPで機械学習の開発サイクルを高速で回すための、Cloud Buildで小さく始めるML-Ops ~GitOpsを添えて~

構成図 こんにちは。インフラチームでWEBエンジニアをしている田中 晶です。 朝夕の寒気が身にしみ、ふと歩けば日だまりが恋しく、舗道に散る落葉に冬を想う季節になってきました。 巷ではインフルエンザも流行っており、消費税も増税したので、日本の消費も…