OpenWork Tech Blog

https://techblog.openwork.co.jp/

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

フィード

記事のアイキャッチ画像
KPT に Blog レーンを入れて BKPT にしたけど断念した話
OpenWork Tech Blog
始めるのは簡単だが、辞めるのは難しいものだ インフラチームの小川です。 背景 テックブログ記事を継続的に書く組織文化を作りたい、ということを常々思って頑張ったり頑張らなかったりしています。 まずは所属するチームからということで、インフラチーム内でいろいろと施策を試しているところです。 いろいろ考えている図 Blog レーン チームで毎週行っている振り返りではおなじみの KPT を使っていますが、そこに Blog レーンを追加して BKPT としました。 Blog レーンでは、記事の題材 (案も可) をアイテムとして管理し、担当者のアサインやステータスの確認などを行っていきます。 左端に Blo…
1ヶ月前
記事のアイキャッチ画像
phpstan-deprecation-rulesでPHP+Symfonyの非推奨コードを一覧化する
OpenWork Tech Blog
とある日に先輩と食べに行ったランチです はじめに phpstan-deprecation-rulesとは なぜやったか 使い方 インストール phpstan.neonの作成 コマンド実行 トラブルシューティング 工夫したこと 特定エラーの除去 外部ライブラリのdeprecationのみ検知 GASで自動整形 注意点 最後に はじめに オープンワーク株式会社の23卒Webアプリエンジニアの室永です。入社から1年が経とうとしており時の流れの早さを痛感しています。さよなら、新卒1年目... 最近、次回バージョンアップに向け、現行バージョンでのdeprecation(非推奨コード)の一覧化を行ったので…
1ヶ月前
記事のアイキャッチ画像
エンジニアリングマネージャーの業務と魅力
OpenWork Tech Blog
マネージャーの姿 Web開発グループのグループマネージャーをやっている大力です。 現在当社は拡大路線をとっており、エンジニアもさることながらエンジニアリングマネージャーのニーズも高まっています。 エンジニアリングマネージャー、なかなか集まらないんです。採用活動でもエンジニアリングマネージャーになると急に難易度が上がるように感じています。 そこで、本記事で私がこの会社でマネージャー業務として『どんなことをやっているのか』を書くことで、マネージャー候補へのアピールとか敷居を下げるようなことができないかと思って筆を執りました。 まさに、当社の掲げている『「働く」のすべてをオープンに』の一環とも言えま…
1ヶ月前
記事のアイキャッチ画像
try! Swift Tokyo 2024に参加してきました
OpenWork Tech Blog
ノベルティでいただいたありがたき御守り。 イベント概要 セッション ワークショップ The Composable Architecture Open Source Swift Workshop まとめ iOSエンジニアの入江です。try! Swift Tokyo 2024に参加してきたのでそのレポートになります。 イベント概要 try! Swift Tokyo 2024 ■ 参加日時 2024/3/22~24 セッション3/22・3/23 ワークショップ3/24 セッション 最初の2日間はセッションが続きます。 タイムテーブル コンテンツはスピーカの任意の言語で話されますが、同時通訳機が配布さ…
1ヶ月前
記事のアイキャッチ画像
MySQL Shell で DB 同期処理が速くなった
OpenWork Tech Blog
速くなった インフラチームの小川です。育児効率化という名目で白物家電を買い替えまくっています。(あると思います) 最近はデータベースの同期処理を書き直していました。もともとは mysqldump を使ってダンプした SQL をストレージに保存し、別 DB にロードするようなシンプルなものでした。しかし、サービス成長によるデータの増加で「同期が遅い」「ストレージを一時的に大きく消費する」といった課題が浮き彫りとなってきました。特に前者は顕著で、サービス開発に影響が出ることもありました。 これらの課題を MySQL Shell を使って改善できたのでカンタンに紹介します。なお、本記事は AWS 上…
1ヶ月前
記事のアイキャッチ画像
【AWS】アカウント移行による切り替えが完了しました
OpenWork Tech Blog
ぎっくり腰が癖になりつつある今日この頃。つらいです。 インフラチームの長崎です。 はじめに 「切り替え」ってどんな事をしたのか 1.エンジニア全体のプロファイル切り替え&動作確認 本対応を行うにあたっての事前準備 切り替え日程の調整 切り替え手順の作成 エンジニアへの説明会 2.修正したソースコードのリリース 本対応を行うにあたっての事前準備 ソースコードの修正 リリースできる枠の確保 3.通知の切り替え 本対応を行うにあたっての事前準備 通知箇所の調査&手順作成 発生した問題 GithubのPRで動くCodebuildテストが失敗する 今後のアクション はじめに このブログは下記の続きになり…
2ヶ月前
記事のアイキャッチ画像
社内ハッカソンに参加してみた
OpenWork Tech Blog
2024年1月、フットサルで初蹴りして腰を痛めました。 インフラチーム 長崎です。 社内ハッカソンとは 「ひとりひとりが輝く、ジョブマーケットを創る。」というオープンワークのミッション達成に繋がる、ユーザーへ新たな価値が提供できる機能を開発する為に開催されました。 1チーム4~5名体制で、約1週間の検討、開発期間が設けられ発表となります。 テーマは、「OpenAIモデル」 今まさに話題の技術を使って、ユーザーにとって有益な機能を考えていきました。 なんで参加したのか 存在は知っていたけど、これまで参加する機会がなかったので自分の成長と興味本位で参加しました。 あとは、優勝賞品が結構豪華だったか…
3ヶ月前
記事のアイキャッチ画像
Elasticsearchの検索ロジックを変更してクチコミキーワード検索速度を改善した
OpenWork Tech Blog
Webアプリエンジニアの加瀬です。 2023年の3月にクチコミをキーワード検索できる機能をリリースし、その後検索速度の改善を実施しました。 Elasticsearchの検索ロジックを変更することで検索速度の改善を実現したのですが、その時の対応内容について今回書き留めてみたいと思います。 クチコミキーワード検索機能について OpenWorkに掲載されている求人に応募すると、OpenWorkのサービス内で利用可能な「応募特典」が一定期間解放されます。この応募特典の1つに「クチコミキーワード検索」機能があります。 各企業のクチコミをキーワードで検索できます クチコミキーワード検索機能を利用することで…
4ヶ月前
記事のアイキャッチ画像
「AI就活相談」をリリースして、クローズしました
OpenWork Tech Blog
Webエンジニアの入江です。息子(4)の難しい要求仕様に対応するため、日々アジャイルでプラレールを作っています。AIレイアウトシミュレータとか需要あるんじゃないかと思っています。 さて、少し時間が経ってしまいましたが、2023年7月に「AI就活相談」という機能をリリースしたので、情報をまとめたいと思います。 どんな機能? OpenWorkでは、就活を終えた先輩からのアドバイスとして、「就活レポート」という機能を提供しています。 techblog.openwork.co.jp 今回は、ユーザの入力した相談事項に対して、就活レポートをベースに先輩AIがアドバイスしてくれる機能を実装しました。データ…
4ヶ月前
記事のアイキャッチ画像
【AWS】リソースのアカウント移行やりました
OpenWork Tech Blog
先日海釣りへ行って、43.5cmと中々良いサイズの甘鯛を釣りました。 インフラチームの長崎です。 アカウント移行とは なぜやったのか 大まかな移行の流れ リソース調査 移行方針の検討 EC2 RDS S3 DynamoDB SNS Security Group Route53 動作確認の検討 移行対応 NW その他リソース 動作確認 大変だったところ リソースのterraformへの取り込み 動作確認で想定外のエラー (案外忘れがちだった)Route53プライベートホストゾーンへのVPC関連付け まとめ アカウント移行とは 移行と書いてはいますが、既存リソースを旧アカウントから新アカウントへ移…
4ヶ月前
記事のアイキャッチ画像
生産性を上げるための効率的なコードレビューとは?
OpenWork Tech Blog
Webアプリエンジニアの大橋です。 オープンワークではGitHub上で1人以上のレビュアーがコードレビューをし、approveすることを必須としています。 レビュアーはプロジェクトチームごとに中堅以上の正社員エンジニアが担当していますが、レビュアー自身も開発を担当しており、チーム内のレビュアーが少ないと負担が大きく、レビューが開発のボトルネックになりがちです。 私も今期(10~12月)はチームのほとんどのメンバーのレビューを担当しており、試行錯誤しながら進めてきましたので、ここで共有したいと思います。 Draftでレビューリクエストしてもらう Saved repliesを活用しました good…
4ヶ月前
記事のアイキャッチ画像
vorkers.com から openwork.jp にドメインを移行した (SEO版)
OpenWork Tech Blog
オープンワークSEOチームの黒田です。 2023年8月8日、OpenWorkはサービス名に合わせてドメインを「vorkers.com」から「openwork.jp」に変更しました。 OpenWorkは毎月の訪問者が何百万人となりますが、こういった大規模サイトのドメイン変更の事例はあまり公開されておらず、学びも大きかったため参考になれば幸いです。 ※以前にドメイン変更についてはインフラ視点での記事がありましたが、この記事ではSEO視点でドメイン移行の手順をまとめます。 ドメイン変更時期をどう決めたか 事前準備 ①新ドメインの取得 ②サイト訪問シミュレーション ③移行手順の整理 ④モニタリング準備…
4ヶ月前
記事のアイキャッチ画像
"小さな"ドキュメントでより良い開発体験を。「世界一流エンジニアの思考法」のTipsを開発に取り入れてみた
OpenWork Tech Blog
Web開発エンジニアの森山です。 2023年10月に出版された、ソフトウェアエンジニア牛尾剛さんの「世界一流エンジニアの思考法」という書籍を読みました。この中で紹介されていた「小さなドキュメントを実装前に書く」という方法が良さそうだったので、やってみてどうだったのかを書きたいと思います。 「世界一流エンジニアの思考法」はどんな本? 実践方法「小さなドキュメントを実装前に書く」 【実践】開発に取り入れてみよう 【感想】やってみて良かったこと 1. 仕様の確認が必要な内容を事前に挙げることができる 2. 実装をスムーズに進めることができて気持ちが良い 最後に 「世界一流エンジニアの思考法」はどんな…
4ヶ月前
記事のアイキャッチ画像
AIモブプログラミングでトイルの削減を加速する
OpenWork Tech Blog
インフラチームの西川です。 当社ではSRE活動の一環としてトイルの削減を行っています。 その取り組みについて少し紹介したいと思います。 トイルの削減とは ChatGPTさんによる解説は以下です。 SRE(Site Reliability Engineering)は、Googleが提唱したサービスの信頼性と効率を向上させるためのアプローチです。SREは、開発と運用を結びつけ、サービスの信頼性や性能に焦点を当てます。"トイル"は、SREの文脈では「手作業で継続的に発生する、重要でない作業」を指します。これには、サービスの安定性に寄与しないルーチンな作業や手動のプロセスなどが含まれます。 SREにお…
5ヶ月前
記事のアイキャッチ画像
自己学習習慣者になりたい
OpenWork Tech Blog
意識高い系の記事と見せかけて実は意識低い記事 こんにちは、インフラチームの西川です。最近太ってきたので運動しようと思い色々調べていたところ、厚生労働省のページに「運動習慣者」という定義があるのを見つけました。 www.mhlw.go.jp ふと下記のように「運動」の部分をそのまま「自己学習」に置き換えて「自己学習習慣者」と定義しても良いのでは、と思ったので考えをまとめるために記事にしてみました。 週2回以上、1回30分以上、1年以上、自己学習をしている者 エンジニアはなぜ自己学習しないといけないのですか? そもそも自己学習って必要なの? という意見もあるかと思うのでChatGPTさんに聞いてみ…
5ヶ月前
記事のアイキャッチ画像
【Terraform】M1 Mac使っていると必ず引っ掛かる(かもしれない)providerエラー問題!
OpenWork Tech Blog
食生活見直して最近3kg痩せました。 インフラチームの長崎です。 痩せる為には、筋トレより有酸素運動より食生活を見直すのが一番効率が良いと痛感しました。 このブログで書く事 環境 よく引っ掛かるprovider周りのエラー なぜエラーになるのか? 解決方法 手動でソースからbuildしてインストールする 補足 m1-terraform-provider-helperを使ってインストールする 補足 私が引っかかったポイント M2/M3でもm1-terraform-provider-helper は使えるか? 結局使いやすいのはどっち? まとめ このブログで書く事 M1 Macだけがよく出力される…
6ヶ月前
記事のアイキャッチ画像
プライバシーマニフェスト対応 Appleの審査が通ったのでまとめてみた
OpenWork Tech Blog
プライバシーマニフェスト対応 プライバシーマニフェストとは何か PrivacyInfoファイルを作成し、完成させる NSPrivacyTrackingについて記載する NSPrivacyTrackingDomainsについて記載する NSPrivacyCollectedDataTypesについて記載する DataType Linked to User Used for Tracking Collection Purposes PrivacyAccessedAPITypesについて記載する NSPrivacyAccessedAPITypeを追加する Privacy Accessed API Re…
6ヶ月前
記事のアイキャッチ画像
ECS AutoScalingとEventBridge Schedulerを利用したスケーリング定期自動化
OpenWork Tech Blog
はじめに OpenWorkのサービス構成 Webサーバーのスケールアウト/イン バックエンドリソースのスケールアップ/ダウン まとめ 最後に はじめに オープンワークでは2023年7月スタートのカンテレ・フジテレビ系月10ドラマ「転職の魔王様」(成田凌さんが主演、小芝風花さんヒロイン役)とコラボし、ドラマ枠内でインフォマーシャルを放映しておりました。(詳細はこちらのリンクをご参照ください。) www.youtube.com 放映に伴うアクセス増加を見積もった結果、WebサーバーとWebサーバーから利用している一部のリソースの増強が必要という事がわかりました。 ドラマの放映期間は2か月超に及ぶの…
6ヶ月前
記事のアイキャッチ画像
これからのフロントエンドはエンジニアとデザイナーどっちが作っていく?
OpenWork Tech Blog
はじめに こんにちは。Webアプリエンジニアの生永です。 弊社では、Webアプリエンジニアがバックエンドもフロントエンドも一貫して実装対応をしています。 バックエンドは基本的にWebアプリエンジニアしか触ることがありませんが、フロントエンドはデザイナーも実際に実装対応をしています。 今年の頭にFWのメジャーバージョンアップを行い、その中でフロントエンドのVue.jsが2から3になりました。 半年近く、触れてみて知見も深まってきたところだったので、改めてWebエンジニアとデザイナーとを巻き込んで知見の共有会を行いました。 そして、知見の共有に併せて、今後フロントエンドの開発はどのようにしていくの…
6ヶ月前
記事のアイキャッチ画像
GitHubコマテク集
OpenWork Tech Blog
インフラチームの西川です。 当社ではGitHubを利用しています。いろいろ便利な機能があるのですが社内でコマテクを募集してみたところ意外と知らないものがあったので共有してみます。 行動の見える化 特定コミットのリンク取得 通知 行動規範 ガイドライン .github リポジトリ テンプレートリポジトリ タグをたくさんプッシュさせない ドラフトプルリクエスト チケットの自動リンク化 ベースブランチの更新を取り込む まだレビューが終わってないプルリクエストの一覧化 レビュアーの自動割り当て コードの所有者 ファイル単位でレビュー済みをチェックする レビュー中のファイルを全部閉じる 具体的な修正を提…
6ヶ月前
記事のアイキャッチ画像
PHP8.1、Symfony5.4でMyCLabs\Enum\EnumからEnum型に置き換える方法
OpenWork Tech Blog
Webアプリエンジニアの大橋です。 弊社では今年の年明けにPHP8.1、Symfony5.4にバージョンアップしたので Webアプリエンジニアチーム内で新しい機能について勉強会で紹介し合ったり、実際に使ってみたコードを共有しました。 その後は機能追加のついでや改善の一環として新しい機能を取り入れています。 今回はその中でもMyCLabs\Enum\EnumからEnum型に置き換えた方法について書きます。 MyCLabs\Enum\EnumからEnum型に置き換える before after ChoiceTypeをEnumTypeに置き換える 一部のcaseのみ表示したい場合は? Entityの…
7ヶ月前
記事のアイキャッチ画像
vorkers.com から openwork.jp にドメインを移行した (インフラ版)
OpenWork Tech Blog
ドメイン → www. → 草 (無理やりか...) インフラチームの小川です。毎週末、角上魚類に行っておつまみを買うのが最近のブームです。 今回はサイトのドメイン移行という、比較的レアな業務に携わることができたのでここに記事として残しておこうと思います。 ドメイン移行の背景 チーム体制 インフラチームが主にやったこと 作業の洗い出し Route53 ホストゾーン作成 新ドメインの ACM 作成 リダイレクトの設定 ドメイン移行後の環境構築 バッチスケジューラの設定変更/CDN の設定変更/S3 CORS 設定変更/監視設定の追加 リリース手順の作成 リリース 結び はまった点 課題 最後に …
7ヶ月前
記事のアイキャッチ画像
古よりある求人検索機能をリファクタしたお話
OpenWork Tech Blog
苦悶の表情 こんにちは。webエンジニアの永田です。今回は直近で行った求人検索機能のリファクタのお話をしようと思います。 OpenWorkには、新卒向け求人検索機能と、社会人向け求人検索機能が古より存在しています。 各機能はUIや機能面で様々な違いがあるにも関わらず、バックエンド、フロントエンドともに同じコードを使用しており、作りも非常に古いものでした。そこで各機能を分離した上で、新卒向けの方を最近のOpenWorkでの構成に則って1から作り直しました。 (社会人向けの方も来季以降作り直す予定です。) 供養の意味も込め、この件に関する工夫等を共有できればなと思います。レガシーコードのリファクタ…
7ヶ月前
記事のアイキャッチ画像
SRE留学 体験記
OpenWork Tech Blog
チームに新しく参加した人の図 インフラチームの住吉です。 オープンワークでは今期よりSRE留学という制度が始まりました。 SRE留学を通じて感じたことやどんなことをしたのかを共有したいと思います! SRE留学とは SRE留学に応募したきっかけ インフラに興味があった 人材価値の向上 実際にやったこと ファイルアップロード機能のアーキテクチャ改善 概要 改善 トイルの削減 概要 どうやったのか? before/after 留学してみてどうだったか? シンプルな感想 成長できたなと思うこと 最後に SRE留学とは 端的にいうとwebアプリチームの人材がインフラチームに移動し、二つの領域の知見を得る…
7ヶ月前
記事のアイキャッチ画像
ノーミーティングデーでラグジュアリーな一日を
OpenWork Tech Blog
とりあえず参加して欲しいと言われたミーティングは断るの図 インフラチームの西川です。 チーム内でノーミーティングデーを取り入れたところ、意外と良い反応を得られたので共有したいと思います。 ノーミーティングデーとは 導入の経緯 実施間隔 実施期間 期待する効果 チームメンバーの感想 メリット デメリット まとめ 最後に ノーミーティングデーとは その名の通りミーティングを一切やらない日です。 導入の経緯 ミーティングが入ると単純に時間が奪われるだけでなく、集中力が一度途切れてしまいます。 再度集中するまでに時間を要するのでパフォーマンスへの影響は意外と大きいです。 一日中集中できる状態にしたくて…
7ヶ月前
記事のアイキャッチ画像
Datadog のクラウドコストマネジメント機能(AWS コストの可視化)が見やすくて便利
OpenWork Tech Blog
Datadog のアイコン似の犬 はじめに 従来のコスト分析方法: AWS Cost Explorer と Amazon QuickSight Datadog のクラウドコストマネジメント機能 利用料金 利用開始 使ってみる しかし... 最後に はじめに インフラチームの大嶽です。アンケートに答えて AWS クレジットを獲得する仕事をしています。 インフラチームの業務はコストと切っても切り離せず、サービス運営に必要なリソースをなるべく安価に用意することが求められます。定期的に AWS Cost Explorer をモニタリングしたり、アノマリーを検知したら原因調査をしたりと、コスト分析は日々…
8ヶ月前
記事のアイキャッチ画像
AWS JumpStart 2023 for NewGrads 設計編 新卒体験記
OpenWork Tech Blog
弊社のアウトドア部で行ったキャンプ泊の焚き火です はじめに オープンワーク株式会社23年度新卒エンジニアの室永です。 5月31日から6月2日までの3日間、新卒1年目エンジニア向けのAWS研修に参加してきました(AWS触ったことが無い人でも付いていけるレベル感です)。 aws.amazon.com 去年の記事もあるので是非合わせて御覧ください。 techblog.openwork.co.jp AWS JumpStart 2023 for NewGrads 設計編 概要 ざっくりですが流れとしては以下です。 参加前に講義動画を4時間分視聴(非常に分かりやすかったです) YoutTube - はじめ…
9ヶ月前
記事のアイキャッチ画像
自動テスト実行時に作られるデータは邪魔
OpenWork Tech Blog
こんにちは。Webアプリエンジニアの藤原です。 今回は自動テストで行った改善について紹介したいと思います。 課題 テストデータの消し忘れによる不整合データ 解決方法 どういう機能を提供してくれるのか 想定以上のメリット 注意 E2Eテストは未対応 最後に 課題 テストデータの消し忘れによる不整合データ (テストデータの作り方に問題がある、という意見もありますが、それは一旦置いておきます。) 弊社の自動テスト、中でもいわゆるファンクショナルテストは開始時にFixtureクラスを使ってテストに必要な状態のオブジェクトを生成し、実際にデータベースにまで登録していました。 一応、テスト終了時にそれら作…
9ヶ月前
記事のアイキャッチ画像
テレワーク環境をよくする購入したモノたち
OpenWork Tech Blog
始めましての方は初めまして、そうでない方は初めまして。 Webアプリエンジニアの大力です。 テックブログに初投稿となります。 序 購入したモノたち紹介 SEとてペンは持つ コーヒーは文化だ エンジニアは腰が命 PC周りもメスを入れる まとめ 補遺 最後に 序 今回のテーマは「リモートワーク」です。近年のコロナ禍による副作用として、リモートワークは転職市場において重要な要素の一つとなっています。実際、私自身もオープンワークに転職した理由の一つは、前職で社長がリモートワークを中止すると宣言したことでした。 かつてリモートワークは、離島や特殊なフリーランスなど、非常に限られた条件下でしか行われない特…
9ヶ月前
記事のアイキャッチ画像
実践!Datadog活用 レイテンシ・SQL改善ドリル
OpenWork Tech Blog
こんにちは。Webアプリエンジニアの生永です。 Webサービスを作っていると、当初は問題なかったのに次第にパフォーマンス面でなかなか遅くなっていくことがあると思います。弊サービスにおいても、パフォーマンス面の問題がレスポンスまでの時間、レイテンシとして現れてきています。そんな問題の対応を最近2件行ったため、問題とその対応の解答例をご紹介します。 記事のタイトルにも記載している通り、今回は2つともSQL改善がテーマになっています。 まずは問題を見つけるところから Case1 大きくなったテーブルの検索速度劣化 問題の分析 解決策の検討 効果の確認 Case2 複数テーブル結合を伴う検索速度劣化 …
10ヶ月前