OpenWork Tech Blog

社員クチコミサービスを運営しているオープンワークエンジニアによるテックブログです。

Web

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

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

自社開発の強みを活かしたスペシャルスカウト

Web

昨年OpenWorkで「スペシャルスカウト」サービスを開発、トライアル運用し、今年は有料サービスとして開始しました。 営業チームと開発チームが連携して作り上げたこのサービスを、開発メンバーの一員として振り返ってみました。

客先常駐(SES)を経てオープンワークへ転職し3ヶ月で感じたこと

オープンワークが入居する渋谷スクランブルスクエアと渋谷駅前 初めまして。オープンワーク プロダクトチームの藤本です。 2024年4月1日にオープンワークに入社し、約3ヶ月が経ちました。 私自身、前職を辞めて半年ほど転職活動を行い、現在のオープンワーク…

GitHub Copilotのコード補完とチャット機能の精度を高める使い方

Web

AIコーディングアシスタントであるGithub Copilotのコード補完機能とチャット機能の精度を高めるためのベストプラクティスを紹介しています。

テキスト校正をtextlintに任せて表記ゆれを減らしてみる

Web

こんにちは。「株式会社オープンワーク」ではなく「オープンワーク株式会社」の生永です。 文章を書くにあたって、タイポはもちろんのこと、組織内において定められている表記ルールに則さないことばを書いてしまったという経験をお持ちの方は少なくないので…

phpstan-deprecation-rulesでPHP+Symfonyの非推奨コードを一覧化する

PHPStanの拡張パッケージであるphpstan-deprecation-rulesを用いて非推奨コードを一覧化しました。使い方や工夫したことなども紹介しています。

Elasticsearchの検索ロジックを変更してクチコミキーワード検索速度を改善した

Web

Webアプリエンジニアの加瀬です。 2023年の3月にクチコミをキーワード検索できる機能をリリースし、その後検索速度の改善を実施しました。 Elasticsearchの検索ロジックを変更することで検索速度の改善を実現したのですが、その時の対応内容について今回書き…

「AI就活相談」をリリースして、クローズしました

Web

Webエンジニアの入江です。息子(4)の難しい要求仕様に対応するため、日々アジャイルでプラレールを作っています。AIレイアウトシミュレータとか需要あるんじゃないかと思っています。 さて、少し時間が経ってしまいましたが、2023年7月に「AI就活相談」とい…

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

Web

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

vorkers.com から openwork.jp にドメインを移行した (SEO版)

Web

オープンワークSEOチームの黒田です。 2023年8月8日、OpenWorkはサービス名に合わせてドメインを「vorkers.com」から「openwork.jp」に変更しました。 OpenWorkは毎月の訪問者が何百万人となりますが、こういった大規模サイトのドメイン変更の事例はあまり公…

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

Web

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

これからのフロントエンドはエンジニアとデザイナーどっちが作っていく?

Web

はじめに こんにちは。Webアプリエンジニアの生永です。 弊社では、Webアプリエンジニアがバックエンドもフロントエンドも一貫して実装対応をしています。 バックエンドは基本的にWebアプリエンジニアしか触ることがありませんが、フロントエンドはデザイナ…

PHP8.1、Symfony5.4でMyCLabs\Enum\EnumからEnum型に置き換える方法

Web

Webアプリエンジニアの大橋です。 弊社では今年の年明けにPHP8.1、Symfony5.4にバージョンアップしたので Webアプリエンジニアチーム内で新しい機能について勉強会で紹介し合ったり、実際に使ってみたコードを共有しました。 その後は機能追加のついでや改善…

古よりある求人検索機能をリファクタしたお話

Web

苦悶の表情 こんにちは。webエンジニアの永田です。今回は直近で行った求人検索機能のリファクタのお話をしようと思います。 OpenWorkには、新卒向け求人検索機能と、社会人向け求人検索機能が古より存在しています。 各機能はUIや機能面で様々な違いがある…

SRE留学 体験記

チームに新しく参加した人の図 インフラチームの住吉です。 オープンワークでは今期よりSRE留学という制度が始まりました。 SRE留学を通じて感じたことやどんなことをしたのかを共有したいと思います! SRE留学とは SRE留学に応募したきっかけ インフラに興…

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

Web

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

実践!Datadog活用 レイテンシ・SQL改善ドリル

Web

こんにちは。Webアプリエンジニアの生永です。 Webサービスを作っていると、当初は問題なかったのに次第にパフォーマンス面でなかなか遅くなっていくことがあると思います。弊サービスにおいても、パフォーマンス面の問題がレスポンスまでの時間、レイテンシ…

クチコミ転職診断をリリースしました

Web

こんにちは。Webエンジニアの永田です。 先日、クチコミ転職診断という機能をOpenWorkのWebサービス上でリリースしました! 15個のキーワードに対する印象を回答することで、自身とマッチングする企業が分かるという機能になっています。 アカウントをお持…

SymfonyデバッグツールバーでElasticsearch開発の生産性を向上しました

Web

はじめまして、Webアプリチームのビリーです。 Elasticsearchのおかげでユーザーはスピーディーに検索することができますが、Elasticsearchの開発は大変なことが多いです。それを楽にするために、symfonyのデバッグツールバーを活かしてカスタムなデバッグツ…

php8.1, Symfony5.4, Aurora MySQL3に更新しました

Symfonyエラー画面の右上にいるやつ(のつもり) はじめに 弊社では定期的にFWのメジャーバージョンアップを実施しています。 これまで、以下のような対応を行ってきました。 2015年:Symfony導入 techblog.openwork.co.jp 2016年:php5.6→7.0, Symfony2.3→2…

「就活レポート」の開発で苦労した点・工夫した点

Web

こんにちは。Webエンジニアの佐藤です。 先日、OpenWorkにて新機能「就活レポート」がリリースされました。 本リリースはWeb・ネイティブアプリ両方で行われましたが、今回はWeb側の開発において苦労した点・工夫した点などを綴りたいと思います。 就活レポ…

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

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

RedisからDynamoDBへデータを移行した

Web

みそ汁の具はわかめと豆腐が一番! こんにちは! みそ汁の美味しさに目覚めた、エンジニアの山元です。 この記事では、先日実施した求人閲覧履歴データのRedisからDynamo DBへの移行についてご紹介したいと思います。 移行の背景 OpenWorkは現在(2022年11月…

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

Web

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

障害通知を改善した話

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

審査画面を改善したら審査スピードが1.6倍になった

Web

Webアプリエンジニアの加瀬です。 オープンワークでは、Web履歴書を登録することでクチコミの閲覧が可能になったり、OpenWorkリクルーティングの求人に応募ができるようになります。 登録いただいたWeb履歴書に対して審査を実施しており、所属プロジェクトに…

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

Web

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

DIって、本当にいいものですね(SymfonyのAutowiringについて)

Web

はじめまして、Webアプリチームの永田です。 今回はSymfonyでDIを行うための機能、Autowiringについてお話ししようと思います。 DI, Dependency Injectionって何?という方は、まずそちらをググってみてください。分かりやすい記事がたくさんあります。 この…

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

Web

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

約1年間Webアプリエンジニアとプランナー(プロダクトマネージャー)を兼務してみて

「猛暑日」というワードを聞くと少し憂鬱になりますが、ビアガーデンや海の家で飲むビールを想像して、今年の暑さも乗り切ります。 こんにちは。Webアプリエンジニア兼プランナーの森です。 オープンワークには2020年の7月に、Webアプリエンジニアとしてジョ…