ITエンジニアのキャリア支援・成長サポートに取り組む「Forkwell」が Railsエンジニアを募集中!
担当するプロダクトは?
ITエンジニアのためのキャリア支援を行う「Forkwell」をご担当いただきます。
Forkwell のミッションは「ITエンジニアの成長を支援することで、幸せに働くエンジニアを増やす」ことです。
これまで Forkwell は、ITエンジニアのキャリア支援に力を入れてきましたが、今後はそれに加え、ITエンジニアの日々の成長をサポートするための仕組みを実現していきたいと考えています。そのための新規サービス企画も目下進められており、ジョインされる方には今後そちらの開発に関わっていただく可能性もあります。
Forkwell Jobs
Web系・スタートアップ業界に特化した、ITエンジニア向けの求人サイトです。
どこよりも詳しい開発技術の記載はもちろん、チームの開発スタイルやプロジェクトの進行形式など、ITエンジニアが仕事を選ぶ上で必要な情報を明記しています。
リリース以来この求人エッセンスは他社の求人サイトにも多く採り入れられ、エンジニア向け求人の新しいスタンダードとなっています。
Forkwell Scout
一人ひとりのエンジニアに向けて、企業が丁寧にアプローチするスカウトサービスです。
スパムのようなスカウトや一括送信メッセージを排除し、エンジニアと企業のあるべき出会いを実現するために開発されたスカウトサービスです。開発とカスタマーサクセスが一丸となり、"徹底したエンジニア目線"のもと開発が進められています。
Forkwell Portfolio
ITエンジニアが自らのアウトプットをまとめるためのポートフォリオサービスです。
登録したリポジトリのコードを自動解析し、グラフィカルに可視化することで、簡単にあなただけのポートフォリオを作成することができます。
リポジトリ以外にも、技術ブログや発表スライド、開発に携わったアプリ・サービス等を登録可能です。
2019月1月時点で、約2万5千人のエンジニアが利用する規模です。
具体的な業務内容は?
「Forkwell Jobs」、「Forkwell Scout」に特化した新規機能開発・改善に携わっていただきます。
- 直近の具体的な業務としては、企画されたものに対する仕様詳細化 → 設計 → 実装 → テスト → 計測 → 改善のプロセスを一貫して、メンバーとの協力のもと推し進めていただくこととなります
- 開発初の中で業務知識を蓄えていき、プロダクトをより良くするための企画にも携わっていただきます
- 技術的には、特にRails や React を使ったプロダクト実装力が高く、含め可読性・メンテナンス性を重視したコードを書ける・レビューできる方を求めています
現場で使われている技術は?
アプリケーション
Forkwell Portfolio、Forkwell Jobs 共に標準的な構成の Railsアプリです。
Rails は5.1系を使用(2019年1月時点)。gem は毎日自動で update しています。
フロントエンドについては Haml、Sass、JavaScript (ES2015+)、TypeScript 、React、Redux を利用。
テストは RSpec、Capybara、Enzyme を組み合わせて、ユニットテストから受け入れテストまでを行っています。
CircleCI でテストを回し、テストが通ると自動デプロイされる仕組みです。
rake statsの実行結果です。(2019年1月時点)
+----------------------+--------+--------+---------+---------+-----+-------+
| Name | Lines | LOC | Classes | Methods | M/C | LOC/M |
+----------------------+--------+--------+---------+---------+-----+-------+
| Controllers | 3282 | 2527 | 91 | 302 | 3 | 6 |
| Helpers | 734 | 632 | 0 | 66 | 0 | 7 |
| Jobs | 1036 | 791 | 28 | 76 | 2 | 8 |
| Models | 12258 | 9657 | 322 | 1026 | 3 | 7 |
| Mailers | 510 | 382 | 12 | 48 | 4 | 5 |
| JavaScripts | 19924 | 2730 | 0 | 1533 | 0 | -1 |
| Libraries | 1666 | 1305 | 24 | 75 | 3 | 15 |
| Job specs | 1288 | 1066 | 0 | 2 | 0 | 531 |
| Controller specs | 1199 | 923 | 0 | 1 | 0 | 921 |
| Script specs | 93 | 82 | 0 | 0 | 0 | 0 |
| Helper specs | 197 | 158 | 0 | 0 | 0 | 0 |
| Mailer specs | 891 | 722 | 0 | 1 | 0 | 720 |
| Model specs | 11898 | 9609 | 1 | 7 | 7 | 1370 |
| Metum specs | 26 | 20 | 0 | 0 | 0 | 0 |
| Request specs | 3754 | 2832 | 0 | 2 | 0 | 1414 |
| Lib specs | 270 | 204 | 0 | 0 | 0 | 0 |
| Uploader specs | 18 | 14 | 0 | 0 | 0 | 0 |
| Batch specs | 1200 | 942 | 0 | 3 | 0 | 312 |
| Feature specs | 12653 | 9582 | 0 | 20 | 0 | 477 |
| Decorator specs | 659 | 519 | 0 | 0 | 0 | 0 |
+----------------------+--------+--------+---------+---------+-----+-------+
| Total | 73556 | 44697 | 478 | 3162 | 6 | 12 |
+----------------------+--------+--------+---------+---------+-----+-------+
Code LOC: 18024 Test LOC: 26673 Code to Test Ratio: 1:1.5
Rubocop で AbcSize を計測した結果は以下です。
インフラ構成
サーバーは EC2 を利用しています。
踏み台サーバーを備えた VPC 環境です。
ロードバランサーは ELB を使用しています。プロキシは用意していません。
インフラの管理は Ansible と Terraform で行っています。
DB は MySQL 5.6.34 を RDS で使用しています。
キャッシュには ElasiCache を利用し Redis, memcached が動いています。
コンテンツ配信には S3、CloudFront を、検索エンジンには Elasticsearch を利用しています。
別途、ダッシュボードツール可動用のサーバーを建て Redash を使っています。
採用されたら使う技術
技術面でアピールできることは?
業務に関連すること
- 新しい技術やライブラリの採用は提案者主導で行えます。へんてこな理由でない限りチームメンバーに受け入れられないことはありません。
- 開発チーム全員がサービスの開発・運用全般を担当しており、自身の得意なことを活かしつつ幅広いスキルを身に着けていける環境です。
-
開発で使用するフレームワークやライブラリはなるべく最新のものを使うようにしています。
-
Terraform の導入によりインフラのコード化を加速させています。2019年1月時点で、半分くらい Immutable Infrastructure な環境を実現しました。
- フロントエンドにはReact、Reduxを主に利用しています。一部機能ではTypeScriptを導入しており、モダンな開発環境で技術力を向上できます。
- 月一回、取締役の @a_matsuda を迎え、Rails のコードを読んで気付いたことを LT する OSS パッチ会を開催しており、事業部を超えてエンジニア同士の交流があります(任意参加です)。
開発の進め方は?
次に作るものはどうやって決められるか
4つの道があります。上から多い順となります。
- プロダクトマネージャーが起案、プロトタイプを作成して現場のエンジニアやユーザーに感想を聞きながら仕様の詳細を詰めて、それをタスクに分解してエンジニアとデザイナーに引き継ぎます。
- エンジニア・デザイナーが、ビジネスサイドやユーザーのヒアリングを実施したり KPI を見たりした上で、新機能開発・改修の提案を出し、最終的にプロダクトマネージャーが対応事項の決定・優先度付けを行います。
- ビジネスサイド(営業やカスタマーサクセス)から開発チームに「こんなことで困っている」といった相談が持ち上がった際は、関係者間で対応方法が話し合われた後、エンジニアが仕様に落とし込みます。
- ふりかえりの KPT ミーティングのときに出た優先度の高い Problem の解決のための Try で、開発に回されるものもあります。
エンジニア向けのサービスなので、企画段階からエンジニアの意見が重視されるとともに、積極的な提案が尊重されます。
タスクの見積もり、スケジュール管理
『アジャイルサムライ』に書いてあるようなアジャイル開発を行っています。
2週間1イテレーションをベースとし、計画と見積もりから始まり、デイリースタンドアップ、最終日にプロダクトと開発の振り返りを行います。
見積もりはエンジニアチームでメンバー感の意見のすり合わせで相対ポイントを振り、全体のスケジュール管理は Pivotal Tracker によって進捗を見ながらエンジニア全員が責任を持つことになります。
また、リモートワークのメンバーも多いため、ミーティングは基本的にオンライン上で行います。
開発フロー、デプロイフロー
実装からデプロイにおいては、各エンジニアがデザイナーと協力して、GitHub Flow に基づいて作業を進めます。Pull Request のコードレビューは全員で行います。基本的にMasterにMergeされたものから自動デプロイしていくので、ひとつひとつがそれで完結している必要がありますが、そこはエンジニア同士でよろしくやっています。
ソフトウェアテスト
RSpecやEnzymeでのユニットテストはもちろん、Capybara でエンドツーエンドテストまでをカバーしています。CircleCI で CI環境を構築しており、各ブランチに Push したときと、 Masterブランチにマージしたときにテストが走ります。
チームの構成は?
Forkwell のエンジニアチームは以下の構成です。
Forkwell Portfolio、Forkwell Jobs/Scout、新規サービスと横断して、各メンバーが開発に取り組んでいますが、今以上にスピード感をもってユーザーへの付加価値を提供できる体制への移行を検討中です。
Forkwell 開発メンバーの特徴
- Forkwell を愛している
- よりよいコードを常に目指している
- 新しい技術を取り入れることに肯定的
- 属人性を嫌う
- 英語資料も頑張って読む
- ユーザーに価値を届けることを優先する
- チームで成果を上げることが好き
- デザイナーとエンジニアの垣根がなく、それぞれの仕事を手伝うこともある
- リモートでもオフィスでも MTG 含めて同じパフォーマンスを発揮する
- 心理的安全性が高い
- インフラはあまり得意ではない
- 朝起きるのが苦手
- 嫌な会社制度は包み隠さず言う
Forkwell 事業部メンバーの特徴
- Forkwell を愛している
- 技術用語の理解がある
- エンジニアリングへのリスペクトがある
- ビジネスチームへのリスペクトがある
- HRTの精神
- ユーザー体験の向上やユーザーの成功にこだわっている
- 現状にこだわらない新しい提案を歓迎する
- 知識共有を積極的に行う
- お酒が好きなメンバーが多い
- ウェーーーーイ!! とはしない
Forkwell 開発メンバーに向いていない人
- チームより個人の成果を重視する人
- ビジネスの成功より技術の探求が好きな人
- 与えられた仕事を淡々とこなしたい人
チームの性別比率
- 男性 : 100%
- 女性 : 0%
提示年収の上限額が出せる人材像は?
- プロダクトづくりに主体的に取り組み、適切な改善案を提案できる方。
- チームをリードし自己組織化を促せる方。
- Rails 開発経験が豊富、かつフロントエンド (JS, React) 開発やデザインのスキルも持ち合わせた方。
- 技術ブログでの発信やカンファレンス登壇などを通して、会社の技術的なブランディングを率先できる方。
読者に向けてメッセージをどうぞ!
いつも Forkwell をご利用いただきありがとうございます。
プロダクトマネージャーの @yachibit です。
弊社は「HR × Tech」の領域で新しい時代の働き方を提案すると同時に、
我々自身も率先して柔軟で多様な働き方にチャンジしている会社です。
リモートワークやフレックス制度も、エンジニアの提案から始まり、会社全体で議論しながら制度として落とし込みました。
参考: なぜ grooves はフレックスでの深夜勤務を認めることができなかったか? - Grooves開発ブログ
上記はあくまで一例ですが、
弊社には「チャレンジや新たな提案を歓迎する文化」と「自ら変革を起こすチャンス」があります。
また、Forkwell は「成長し続けるエンジニアを支援する」ことをミッションに掲げ、転職支援以外の領域でもサービスを提供していく予定です。
最近では、松本 亮介氏が技術顧問として参画してくださるなど、著名な方々が Forkwell の今と未来に共感してくださっています。
こんな我々にご興味を持っていただけましたら、ぜひ一度カジュアルにお話ししてみませんか?
リモートでの面談も可能ですので、お気軽にエントリーいただければと思います!
面談情報公開中!
| 勤務時間・休日休暇 |
|---|
勤務時間
休日休暇土日祝日、有給休暇、夏季休暇、GW、年末年始休暇、慶弔休暇、特別女性休暇 |
| 社会保険・福利厚生など |
|---|
労働条件
|
- 一覧画面 にて参照することができます
- スカウト機能を有効 にしている場合、興味を持っていることが企業に伝わりスカウトが届きやすくなります。