Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ガチスタートアップ1人目のバックエンドエンジニアのリアルな戦略と奮闘 #railsdm2019 #railsdm2019b @sinamon129

ガチスタートアップ1人目のバックエンドエンジニアのリアルな戦略と奮闘 #railsdm2019 #railsdm2019b @sinamon129

2018年7月に1人目のバックエンドエンジニアとして入社し、WordPressで動いていた既存システムをRuby・Ruby on Rails・GCP(GKE)でフルリニューアルしました。その際の技術選択の戦略・システム構成と、リニューアル後のメリットデメリット・同僚がjoinして改善された部分をメインに、その後の職域を超えてのスタートアップでのリアルな奮闘もお話できればと思います。

RailsDeveloperMeetup2019 Day2

sinamon129

March 23, 2019
Tweet

More Decks by sinamon129

Other Decks in Technology

Transcript

  1. 私が⼊った時の状態 • Super Crowds inc.(デザイン会社)から⽣まれた会社 • モノのデザイン・動くフロント強い • Wordpress・スプレッドシートでのシステム構築等はできる •

    バックエンドエンジニア不在 • クリエイター集団+編集部メンバーで計8名程 • (ちなみに⼊った時は取締役じゃなかったよ!)
  2. 主な構成 • Ruby • Ruby on Rails • ActiveStorageを利⽤ •

    webpack (not webpacker) / vue.js / sass / slim / browser-sync • GCP
  3. Static Storage
 Cloud Storage Database Server
 Cloud SQL Kubernetes cluster

    -# *OHSFTT $POUSPMMFS .FEJB 4FSWJDF "ENJO 4FSWJDF 1PE 1PE 1PE 1PE -# *OHSFTT $POUSPMMFS $SPO+PC
  4. どう⾔う順番で決めていったか? • ⾔語・フレームワーク • Ruby, Ruby on Railsが⼀番好き(なのでそれ以外考えず) • 開発環境の構築(docker-compose

    でmysql・本番と同⼀imageのweb) • フロントエンド周りの整備 • 管理画⾯どうするか • インフラ
  5. webpack(not webpacker) (2) • js,css • /frontend/src以下に置く • webpackでjsはES6 build・SASSをcssにコンパイルしてそれぞれ別ファイル

    でapp/assets以下に • image, font • app/asset以下に配置(js,cssでのpath指定はasset_pathで指定) • ↑でbuildされてassets以下に配置されたファイルをasset compileする
  6. ⼊社してすぐやってくれてよかったこと • 定期⾃動gem updatePR⽣成 • rubocop/onkcopの導⼊ • CircleCIの整備 • ActiveStorageのCDN対応

    • 頻出コマンドをmakeファイルにまとめて、`make`って打ったらhelpが出る • めっちゃドキュメントレスになる・迷わない・最⾼ • その他私が志半ば・トチ狂って実装してたものをキレイキレイ
  7. 相談してみる • 例えば • 今後やるであろう仕事をやってる⼈ • エンジニアだけど⼀時的に職域外の仕事をしてた⼈ • 同じような境遇にいそうな⼈ •

    (余談)⾎迷ってると「⾃分どうしたらいいんですかね?」とか 相談してしまって、「何がしたいの?」って聞かれたりするw