ソーシャルPLUS バックエンドエンジニア

仕事内容

ソーシャルPLUS のバックエンド開発を担っていただきます。 既存システムのリデザインや LINE 対応の強化など、チームメンバーと協力して主体的に携わっていただきたいと考えています。

具体的には…

  • Ruby on Rails による API を中心としたバックエンドシステム設計・開発
  • 保守・拡張性を担保するようなコーディング・設計・リファクタリング
  • 開発メンバー同士のコードレビュー
  • プロダクトに使用する技術/アーキテクチャの選定
  • LINE, Google, Yahoo! JAPAN などログインプロバイダの情報キャッチアップ
  • スクラムやアジャイルを基本理念とした開発計画

この仕事で得られるもの

  • 今後長期の成長が見込めるサービスをスケールさせる経験が出来ます
  • プロダクトオーナーとの距離が近く、エンジニア側から積極的に提案がしやすい環境で開発ができます
  • エンジニアの月平均残業時間は10時間未満、プライベートでも学習時間を確保することが可能です
  • 各種勉強会は定時時間内に開催。業務中も学べる環境です
ソーシャルPLUSとは

ソーシャルPLUS は、エンドユーザーの会員登録や再ログインがかんたんになる「ソーシャルログイン」を⼀括で実装できる BtoB(toC)の ID 連携サービスです。 対応する認可プロバイダには LINE や Yahoo! JAPAN、Google などがあります。とくに 2016年からはLINE メッセージによるセグメンテーション配信や1to1 トークに対応し、コンシューマー(エンドユーザー)への継続的なリーチや商品購⼊後のフォローなどが可能になりました。 「ソーシャルログイン」をすることで、⽣活者にメリットを感じて使ってもらえるようなサービスを ⽬指しています。

チーム全体での開発の進め⽅

イテレーションと計画

1イテレーションを2週間として、本番リリースは随時⾏っています。 前のイテレーションの最終⽇(⾦曜)にタスクの棚卸しと振り返り(KPT)を⾏い、その時点での優先課題をプロダクトマネージャーとすり合わせします。 翌週のイテレーション開始⽇(⽉曜)は開発メンバー全員で TODO を決めて、ポイントの⾒積もりなども⾏います。 現在のタスクは、バックエンド、フロントエンド、インフラでバラバラの課題に取り組むことも多く、計画時には⼀度それぞれで進めるべきタスクを整理したあと、再度チーム全員で確認するという⼿順を踏んでいます。 現在タスクの管理は GitHub Issue/PR と Waffle.io を利⽤しています。

現在の課題と優先事項

システムとしては、稼働6年⽬ということもあり安定運⽤が第⼀のサービスです。また認可を扱っているので、認可プロバイダの仕様変更への追従も優先されます。 技術的負債はできるだけ早く返済できるよう、しっかり時間をとるようにしています。 ⼤きな課題としては、現在システム全体の⼤幅なリデザインに取り掛かっているところです。2019/3 からはチーム専任デザイナーも参画し、年内には本格的な対応を推し進める予定でいます。 こういった課題やタスクは、都度プロダクトマネージャーと認識合わせをしながら、エンジニアが主体的に取り組んでいます。

開発とリリース

主な開発環境は docker 上で構築されています。staging 環境での動作確認を経て、互いにコード設計にまで踏み込んだレビュを⾏い、本番へデプロイという流れになります。 コードレビュは GitHub PR を⽤いて⾏い、PR を経ないマージは⾏いません。また本番へのデプロイ作業は Slack からコマンドで実⾏できるようになっています。 バックエンド、フロントエンドはもちろん、インフラもコード化されており、CI もそれぞれ実施しています。

技術⾯でのアピール・課題・考え⽅

全体

  • Rails を使いこなすシニアエンジニアが技術リーダーです
  • 肩書きはありませんが、フロントエンド、インフラにもそれぞれっょぃエンジニアが揃っています
  • どの職能でも2⼈以上で相互にレビューをしながら開発しています
  • 少なくともイテレーションごとに職能を超えた開発共有も⾏っています
  • レビューや CI、技術的負債返済の⽂化がしっかりあります
  • 属⼈化しないよう気をつけつつ、得意なことはどんどんリードしてもらう雰囲気です
  • 監視・通知は Slack に集約していますが、まだまだ改善の余地があります
  • 最近 専任のデザイナーを迎え、プロダクト全体の整理とリデザインに取り組んでいます
  • エンジニア・デザイナーが週1で集まって⾏う社内勉強会があります

バックエンド

  • 主に3⼈(+1⼈はチームファシリテート中⼼)で開発しています
  • 開発環境は docker 上に構築した Rails システムです
  • 設計や「決め」で悩んだらチームで相談しながら進めていきます
  • フロントエンド、インフラと協⼒しながら作業しています
  • 主な技術スタックは Ruby, Rails, SQL(MySQL), TypeScript です

フロントエンド

  • 主に2⼈で開発しています
  • 主体的に⾒つけた課題に対してストイックに挑戦していくような雰囲気があります
  • コード規約チェックや CI、E2E の⾃動化などを⾏ってプロダクトの質を⾼めています
  • 安全で保守性の⾼いコーディングを⾏っています(型の利⽤)
  • 主な技術スタックは TypeScript, React, Reduxです

インフラ

  • 主に2⼈で開発しています
  • Infrastructure as a Code に取り組んでいて、それらのリファクタリングも随時⾏っています
  • より安定的なサービス稼働を⽬指し、インフラ構成の⾒直しや運⽤コストの削減を重視しています
  • インフラだけでの対応が難しい場合はバックエンドのメンバーと協⼒してアプリケーションレベルで⾒直す事もしています
  • 現在はサーバ環境のコンテナ化(Kubernetes)の検証に取り組んでいます
  • 主な技術スタックは AWS, Terraform, Chef, Packer, Serverspec, Fluentd, Datadog です

デザイナー

  • ⼈数は1⼈ですが、チーム内外のメンバーに積極的に関わってデザインします
  • ステークホルダーの課題や解決策を素早く視覚化してチームに共有します
  • 失敗と改善を繰り返して、チーム全体で⽬指せる共通のゴールを作成していきます
  • フィードフォース全体のブランディング整備にも取り組んでいます
  • 主な使⽤ツールは、Adobe XD, Sketch, Abstract です

課題

  • どうしてもバックエンドのタスクが多くなりがちで、コーディングそのものはともかく、レビューのスピードや精度がなかなか上げられず課題に感じています
  • このスピードが上がると、デザイナ・フロントエンドと組んでもっとデリバリーを増やせるのになぁ…︕という気持ちがあります
求めるスキル・経験

必須スキル、経験

  • Ruby on Rails での Web アプリケーション開発経験
  • コードレビューの経験
  • RSpec 等を使用したテスト駆動開発経験
  • Git (GitHub) の使用経験
  • オブジェクト指向の理解
  • REST API の設計

歓迎スキル、経験

  • マイクロサービスの開発・運用経験
  • 認証, 認可, Identity に関する知識・経験
待遇

年収

  • 550~800万円

条件詳細

  • 給与体系:月給+賞与
  • 賞与:年2回
  • 残業代:残業が発生した場合、別途残業手当を支給します
  • 試用期間:3ヶ月(本採用時と待遇に変動ありません)
勤務地
東京都文京区湯島3-19-11 湯島ファーストビル5F
勤務時間
フレックスタイム制度導入(コアタイム10:00~16:00)
その他福利厚生
  • リモートワーク可能(~週一回)
  • 社会保険完備
  • 交通費支給
  • 扶養手当
  • 家賃補助 ※4駅以内に住むと、家賃補助が出る制度です(2駅以内:2万円、4駅以内:1万円)
  • 健康増進手当
  • 英語学習支援制度
  • 自己学習支援制度