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

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

【完全未経験】プログラミングスクールを経て、クラウドワークスに転職した話

はじめに

こんにちは、松尾です。 2022年9月からクラウドワークスでWebエンジニアとしてのキャリアをスタートさせた駆け出しエンジニアです。

業務内容としては、クラウドテックというフリーランスエージェントサービスの開発業務に取り組んでいます。 入社1ヶ月目の段階で、自分の書いたコードがプロダクトに反映されてて、「うぇーーーい」ってなってます。(笑)

この記事では「開発未経験だった入社前のプログラミング学習過程・転職活動」、「入社後に実際どんな会社だったのか」について事実をもとに語ります。

なので、以下のような方には参考になる記事だと思います。

  • 開発未経験からWebエンジニアにジョブチェンジをしようと思っている人
  • 現在、プログラミングスクールで学習中の人
  • クラウドワークスに応募しようか迷っている開発未経験 or エンジニア歴の浅い人

ただし、自分語りのポエム的要素も含んでいるので、必要な部分のみご覧ください。

続きを読む

Vue Fes Japan Online 2022 にクラウドワークスのエンジニアが登壇します

アイキャッチ:Vue Fes Japan Online 2022 にクラウドワークスのエンジニアが登壇します

Vue Fes Japan とは

Vue Fes Japan は Vue.js 日本ユーザーグループが主催する日本最大の Vue.js カンファレンスです。

Vue Fes Japan Online 2022 TOPページのスクリーンショット

日本における Vue.js 開発者たちによる発表や、 Evan You といった Vue.js コアコントリビューターの方たちも登壇されます。

今回、2018年に開催されてから4年ぶりにオンラインで開催されることになりました。

vuefes.jp

登壇情報

弊社からはクラウドワークスエンジニアの @t0yohei@yamanoku がそれぞれ登壇いたします。

負債が溜まったレガシーフロントエンド画面を Vue.js でリプレイスした話

t0yohei

とある Rails のテンプレート + CoffeeScript で構築された画面を、 Vue.js でリプレイスしました。

その際の知見を、具体的な工夫や悩んだポイント、実際の遭遇した技術的負債の話を交えて共有できればと思います。

本セッションのキーワードは以下になります。

  • Vue3 の script setup + TypeScript に始まる開発体験の良さ
  • Container Component、Layout Component などの開発プラクティス
  • Storybook、 StoryShots(VRT) によるフロントエンド DX
  • あるべき姿に至るまでの長い道のりと取捨選択
  • 命令的 UI から宣言的 UI へのパラダイムの変更
  • Ajax のリクエストを送ると、jsonシリアライズされた html が帰ってくる API のエンドポイント
  • 忍耐力

メドピアトラック(13:30 - 13:50)にて発表

vuefes.jp

Vue.js でアクセシブルなコンポーネントをつくるために

yamanoku

昨今 Web 開発において、アクセシビリティを重視することはそれほど珍しくなくなってきました。

最新の Vue.js 公式ドキュメントでもアクセシビリティに関する項目が追加されました。

しかしながらアクセシビリティ対応に関しては、間違った知識のままはじめるとアクセシブルでなくなる可能性もあります。

この発表ではそうした間違いや疑問を解消し Vue.js でのアクセシビリティ向上に取り組みやすくするやり方を発表いたします。

FUTURE トラック(13:55 - 14:15)にて発表

vuefes.jp

おわりに

2018年にカンファレンスが開催されてからの間に Vue3 がリリースされたり Vue.js にまつわる OSS においても様々な変化がありました。

クラウドワークスにおいても Vue3 に移行し、Composition APIscript setup を活用してフロントエンド開発しています。私たちからはそうした経験談や知見といったものを通じて Vue.js コミュニティに還元していければと思っております。

その他の登壇者の発表やスポンサーセッションもそれぞれ興味深い内容がたくさんあります。

当日は是非ご参加ください。

vuefes.jp

決済機関上への返金に対応した話

序文

こんにちは、私達は「かけたくないコストを削減し、クラウドワークスをスケールさせる環境をつくる」ことを目的としているチームです。 今回は半年以上かけてやってきた施策である「決済機関上への返金」の仕組みの導入とそれに伴うDBテーブルの段階的な切り替えについて効果や工夫した点など紹介します。

なぜ「決済機関上への返金」を導入したか

今までクラウドワークスではユーザーからお支払いいただいたお金を返金する場合、クレジットカード等の決済機関経由の支払いの返金も、ユーザーの銀行口座に対してクラウドワークスから出金していました。 このような仕組みだと、決済機関経由で支払ったユーザーが返金を受け取りたい場合、出金の申請を行う必要があるという課題がありました。 この課題を解決するために、「決済機関上への返金」の仕組みの導入施策に取り組みました。 (具体例:「クレジットカードで支払ったお金は、クレジットカード決済会社経由で返金するようにする」です)

続きを読む

AtlantisでTerraformのドリフト検出

こんにちは。crowdworks.jp SREチームの@kangaechuです。 先日開催されたイベント HashiTalks: Japanを見ていましたが、Terraformのドリフト検出に関する発表が多く、Terraform運用において重要なポイントなんだなと感じました。 流行りに乗ったわけではないですが、今回はTerraformのドリフト検出をAtlantisで行った方法をご紹介します。

この記事は以下環境で検証しています。

ドリフト検出

Terraformはインフラストラクチャを安全かつ期待通りに構築するために使用する、Infrastructure as Codeのソフトウェアです。 crowdworks.jpではAWSGitHubGCPの管理をTerraformで行っていますが、今回はAWSに絞って話します。

TerraformではリソースをHCLで記述したコードと、前回のapply時の状態が保存されたtfstateファイルと、実際のリソースの3つの要素で管理します。 基本的にこの3つの状態は一致しています。 しかしさまざまな理由により、これらの状態が一致しなくなることがあります。たとえば以下のようなものが挙げられます。

  • Terraform外(AWSマネジメントコンソールなど)での変更
  • Apply のし忘れ
  • Terraformやプロバイダのバージョンアップによる破壊的変更

Terraformのコードの状態と実リソースの状態に差異が発生した場合、できるだけ早期に検出したいですね。 そのために「ドリフト検出」を行います。 ドリフトは「想定とは異なった状態」を表し、ドリフト検出とは「想定と異なった状態を検出する」ことを指します。 この記事ではTerraformで全部のディレクトリにterraform planを行い、plan結果に差分がないことを確認する処理を「ドリフト検出」と呼びます。

続きを読む

WordPressを静的ホスティングサービスのShifterへ移行しました

はじめに

SREチームの @bayashi_ok です。

今回はクラウドワークスで運営しているWordPressサイトを静的ホスティングサービスであるShifterへ移行した話を書きます。

Shifterについて

www.getshifter.io

特徴は公式リンクに詳しく書かれていますが、内部の仕組みとしては

  • DockerでWordPressを更新時に起動
  • WordPressのコンテンツを静的HTMLに変換しS3に配置
  • CDN(CloudFront)からコンテンツを配信

となっており、

  • フロントエンドでは、WordPressを直接公開しなくなるのでWordPress本体やプラグイン脆弱性を気にすることなく運用できる

  • バックエンドでは、必要な時のみDockerでWordPressを起動するため、セキュリティリスクが低減される

と運用上かなり助かる仕組みだなと感じました。

続きを読む

© 2016 CrowdWorks, Inc., All rights reserved.