こういう bosyu をやっています!
今回は Web Engineer の方に対して、キャリアの進め方に関する話と、インフラの信頼性をどうちゃんとしていくかという話をしました。
Web Engineer がインフラ領域に幅を広げるためには
逆に僕は Production で動く Application コードを書いた経験は乏しく、かつフロントエンドに関してはほぼ未経験みたいなもんなので、すごいなあと思いつつ。
相談された方はバックエンドとフロントエンドを両方やるエンジニアで、現在はスタートアップで少人数で働いているとのこと。
技術的な賞味期限を考えると低レイヤーを学んだ方が賞味期限が長いのでやりたいと思うが、その広げ方、深掘りのしかたを悩んでいる、とのことでした。
- スタートアップにいるということなので、すぐバリューを出せるところ(得意なところ)をやりがち
- 例えば現在の状況でインフラ領域をやる、となると生産性はどうしても落ちてしまう
- 少人数であればそれをサポートする組織体制を期待するのもきっと難しい
- chaspy はどうしているか
- 最近 chaspy が業務で Golang を書いている事例
- とはいえ、現在の状況で、実業務を通じて学習していく機会を作っていくのはきっと難しい
- 自分がとけそうな課題を発見するのが難しい。それが1日でできるのか、1週間かかるのかの判断がある程度経験ないとできない。
- 適した課題が見つかったとしても、それを独力でやりきる胆力も必要
- 課題意識の解像度をもう少し高めたほうがいいのでは
みたいな話をしました。すごい難しいですよね。
自分も今は「わけのわからない焦り」みたいなのはなくなって落ち着いている一方で、長期的なキャリアを考えた時に、深い・低いレベルでの技術の理解、だったり、フロントエンドを含めたアプリケーションコードを書いた経験の薄さみたいなところは課題に思っているので、すごいわかります。
まとめると、
- 今の領域と違う分野を業務外で学習し続けるのは時間的にもモチベーション的にも厳しい(できるひともたまにいるが、すごすぎると思う)
- 業務での実際の課題を、自分の学習と結びつけるような環境にいろんな方法でやっていけると良さそう
- そのためにはもう少し学びたいことの解像度をあげたり
- メンバーにこの問題意識を共有して知ってもらったりするのが良さそう
という感じでした。いい話ですね。
インフラを「ちゃんとする」ための道筋
- 背景
- スタートアップということで、最低限のインフラで動くものをスピード感を持って作るということが非常に重要
- インフラはまだプロダクションに出していないということもありまだ後回しになっている
- VPS に docker-compose で up しているだけ
- 課題感だけ漠然とあるが、どの順番でどこから手をつければいいか?
ということで、これ実際に面接とかで使うと面白いんじゃない?ってぐらい面白い課題でしたw
コンポーネントやトラフィックフローが描かれた図を見せてもらいながら、以下のような候補をあげました。
- データをなくさないこと
- データなくなったら困りますよね(それはそう)
- データの定期バックアップをする
- データベースの管理
- 運用にコスト避けないならなおさら外部に持って Managed にしたほうがいい
- スケールアップ、スケールアウトが容易なものにしておいたほうがいい
- リリースエンジニアリング(CD)
- 今は少人数だから ssh してコードを pull するでもいいけど、遠くない将来コミュニケーションコストがしんどくなってくる
- あとそんなに難しくないので、投資対効果が高いので早くやるのがよさそう
- メッセージング基盤
- これもセルフホストは結構しんどいんじゃないか
- Managed を検討したほうがいいと思う
- データベースと同じぐらい自分で面倒みたくない
- Logging
- 障害対応時に調査できるかどうか
- これも Papertrail / Stackdriver Logging とかの SaaS がある
- fluentd から投げるだけならそこまで難しくないと思う
- 可用性
というわけで、まずはデータ。次にデプロイの自動化。そして可用性のあるアーキテクチャを考えるためにどのクラウドを使うのか、というのをマネージドサービスと合わせて考えていく、という感じですね。今もコンテナで動いているのでコンテナが動く Platform のどれかを使うとは思いますが。
あとの優先順位はチームメンバー、組織の状態、お財布事情などによるので、ひとまずこのような項目を、現実の状態に即して提示できただけでも収穫はあったようです。
おわりに
引き続き bosyu やっています。
今回やったようなキャリアのお悩み相談から、アーキテクチャのレビューといったことも対応できそうです。内容はなんでも大丈夫なのでお気軽にご応募ください!