OpenWork Tech Blog

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

Web

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

とある日に先輩と食べに行ったランチです はじめに phpstan-deprecation-rulesとは なぜやったか 使い方 インストール phpstan.neonの作成 コマンド実行 トラブルシューティング 工夫したこと 特定エラーの除去 外部ライブラリのdeprecationのみ検知 GASで自…

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アプリエンジニアとしてジョ…

新卒エンジニアが3ヶ月間のリファクタで学んだこと

ほぼキャンプファイヤーと化した焚き火(オープンワーク山のぼり部キャンプにて) はじめに こんにちは! 春になり再びアウトドア熱が高まってきている、エンジニア2年目の山元です! 自分は今年の1月~3月の間、リファクタリングプロジェクト(以下、リファ…

Nikita さん、今までありがとうございました。

Web

概要 PHP の主要なコントリビュータの一人である Nikita Popov (@nikic) さんが、JetBrains を退職し PHP の開発から離れるということで、敬意を込めて少しだけ、PHP.Watchの記事を翻訳したいと思います。 Thank you, Nikita! | PHP.Watch PHP powers over 7…

PHP(7.4)・Symfony(4.4)へのバージョンアップ作業注意点

Web

version_up Webアプリチームの藤原です。少し時間が経ってしまいましたが、昨年に弊社で行ったPHPとSymfonyのバージョンアップ作業で苦労した点をまとめました。 何をバージョンアップしたのか Before After PHP 7.2 7.4 Symfony 3.4 4.4 このときSymfony3.4…

今年やらかしたこと 2021

テックブログ編集部の小川です。 春めきだつ今日このごろに今更感はありますが、社内のエンジニアを対象として、昨年 2021 年に「やらかした」ことを募ってみました。いただいた中から、いくつか紹介します。 存在しない URL にアクセスした場合、301 リダイ…

インターン生がリファクタPJに配属されて学んだこと

インターンの時期のオフィスからの一枚。渋谷で雪が降りました こんにちは。バターコーヒーの飲み過ぎで最近身体が黄色くなりつつある気がする、22卒内定者の佐藤です。 現在はインターン生としてWebアプリの開発に携わっています。 インターン生の実情や新…