クラウドワークス エンジニアブログ

日本最大級のクラウドソーシング「クラウドワークス」の開発の裏側をお届けするエンジニアブログ

散らばったAWS LambdaのGitHubリポジトリをモノレポ構成にしてメンテナンスコストを削減する

初めまして。crowdworks.jpのSREチームに所属しています @ciloholic です。
入社してかれこれ1年経ちますが、筆を執る機会がなかったため、今回が初エンジニアブログとなります。

この記事では、入社して3か月ほど行なっていた「AWS Lambda周りのメンテナンスコスト削減」の取り組みを紹介していきます。

背景

crowdworks.jpでは、多くのエンジニアがさまざまなGitHubリポジトリに色々な言語でLambdaを活用してきました。GitHubリポジトリは30個以上、使用言語はNode.js / Ruby / Goとさまざま、CI/CDもCircleCI / GitHub Actionsとバラバラです。

SREチームでは、定期的に各種言語のEOL対応やライブラリのアップデート作業を行なっているのですが、GitHubリポジトリもそれぞれ異なる、使用言語もCI/CDもバラバラだったので、メンテナンスコストが多くかかっていました。

続きを読む

crowdworks.jp開発チームに大阪在住エンジニアが現れた!【入社半年体験記】

記事イメージ画像

こんにちは!2022年9月より株式会社クラウドワークスのエンジニアとして働いている得能です!

2023年2月末で入社から半年経過する節目にエンジニアブログを書かせていただくことになりました!

今日はクラウドワークスに入社してからの半年を振り返っていきます。また、

  • 前職の有給休暇中に業務委託で働かせていただいた経験
  • 大阪からリモートワークで東京のメンバーと仕事をした経験
  • オフィス勤務から完全リモートワークに変わっての感想

など私ならではのエピソードも話していくので、転職する際の参考にしていただければと思います!

続きを読む

デザインシステムを作るのはなぜ難しいのか

こんにちは、crowdworks.jp のデザインシステム構築に携わっているエンジニアの @t0yohei です。最近は日々デザインシステム難しいいいいと思いながらあれやこれやと考えているのですが、開発者の観点から何が難しいと思うのかをせっかくなので共有したいと思います。

デザイナーの観点からのデザインシステム構築については、一緒にやっているデザイナーさんがブログを投稿していました。よろしければ合わせてどうぞ。

デザインシステムを導入する為にやって良かったこと5選|YUCCA|note

余談ですが、デザインシステムに関わるエンジニアって何エンジニアなのでしょうか?デザインエンジニア?フロントエンドエンジニア? 自分はデザインをしないし(できないし)、元々は Rails エンジニアだったのでフロントエンド専門というわけでもなく、一体何者なんだろう...?と日々迷走しています。自分が何者かはわかっていませんが、やりがいを持ってデザインシステムの構築に取り組んでいます。よろしくお願いします。

続きを読む

OpenAPIとMSWを使ってユーザーのフォロー機能を実装した話

サムネイル

はじめに

こんにちは。

crowdworks.jpでユーザー向けの施策・機能開発を行うチームでエンジニアをしている駒井です。

2022年10月にクラウドワークスに入社してから早4ヶ月が経ちました。 crowdworks.jpでは負債解消の一環で、一部のRuby on Railsのerbで作られた画面をVue.jsに置き換える取り組みを行っています。(社内ではVue.js化と呼ばれています。) この記事では、施策チームで現在注力しているcrowdworks.jpのクライアントプロフィール画面のVue.js化の中で、ユーザーのフォロー機能を実装した際に扱った技術などについて紹介します。

対象について

本記事ではVue.js化を行っているクライアントプロフィール画面にある、プロフィール画像やフォローボタンが配置されている サイドバーの フォローボタン を対象として取り上げます。

クライアントプロフィールサイドバーのフォローボタン

続きを読む

2023年2月の crowdworks.jp フロントエンド活動

こんにちは、CrowdWorks のジャンヌチームのエンジニア Bugfire です。

crowdworks.jp では複数のチームでフロントエンドの実装・改善をしています。

この記事では前回の crowdworks.jp のフロントエンド活動を振り返る 2022 のその後の活動について報告します。

最近のフロントエンド活動

  • フロントエンド開発に関わるメンバーが増え、賑やかになってきています!
  • 技術的な負債解消活動にて erb で記述されていた既存画面を徐々に Vue.js 化しています
  • デザイナーを中心として作られているデザインシステム(Norman)におけるコンポーネント設計と実装が進んでいます
  • Storybook のバージョンを 6.3 から 6.5 へアップデートしました
  • 前年に webpack へ移行した結果、フロントエンド関連を Railsディレクトリから分離できました
    • app/javascript ディレクトリから typescript 以下に移し、Rails に対して依存しないような構成になっています
    • ビルド対象の依存関係が単純に記述でき、CI や Linter の設定もすっきりしました
  • Markuplint を Storyshots に適用しました (crowdworks.jp のフロントエンド活動を振り返る 2022 にありますが詳細は後述)
  • フロントエンドではありませんが、フロントエンドで先行していた OpenAPI の定義を Rails のバックエンド開発でも活用しました
    • Request Spec の中で committee-rails による型チェックを行うようにしました

Markuplint を Storyshots に適用しました

続きを読む

© 2016 CrowdWorks, Inc., All rights reserved.