10000人以上のプロフェッショナルが集まるコミュニティに参加してディスカッションに参加しませんか?
無料サインアップでコンテンツにアクセスが可能になります。
ソフトウェアエンジニア#ソフトウェアエンジニア#キャリア相談#勉強

SWEからSREへの転向

現在SWE、SREへの転向を考えています。

インフラ周りの知識が足りないのでインフラの勉強をする予定ですが、ハードスキル・ソフトスキルでこれはあった方がいい、などあれば教えて頂けますでしょうか?


また、特に外資テックだと日本国内であればSREの方が採用ポジションが若干多そうで待遇も少々良い印象なのですが、キャリアの幅はSWEより広がりますでしょうか?


アドバイスよろしくお願いします!

21

コメント

コメント一覧

SREはOnCallとかあってブラックな印象ありますがそれでも転向するんですか?

(編集済み)
投稿者

OnCallについては、今もSWEとしてOnCallもあり、SREでも同じかなーと思い深く考えていませんでした..!

外資テックで日本であんまりSRE募集してる印象が無くて、求人を知りたいかも…。

投稿者

AppleとかIndeedはSRE職たまにあるかと思います。

国内企業でSREです(元SWE)。そのため外資SREについてはわかりませんが、参考までに。

SREといっても企業の方針で様々な種類のSREがいます。また、それによって求められるハードスキルが大きく異なります。


あくまで一例ですが、、、

SWEsに寄り添って、サービスを開発している傍らで信頼性についてフォーカスする場合(Embedded で Stream aligned)は、OS以上のインフラ知識とL4以上のネットワーク知識があれば、あとはSWEsに求められる知識とあまり差はないかなと思います。


一方で、データセンターレベルでの信頼性にフォーカスする場合は、プロプライエタリなハードウェアやソフトウェアの知識になると思いますが、これはベンダーのトレーニングなどが必要なことが多いです。


また、SWEsやインフラチームに寄り添わずに、企業のガバナンスとして、開発フローやポストモーテムのフローやテンプレートを定義しつつ、様々なSREプラクティスをEnablingしていくエヴァンジェリストも兼ねたようなチームもあります。私はこのようなチームには所属したことがないので、詳細にはわかりません。


ソフトスキルとしては、多くのエンジニアや非エンジニアと関わることがSWEsと比較して多いと思います。私が気をつけていることは、相手の言葉で会話をするようにしているくらいです。例えば、アプリケーションエンジニアと会話をするときは「APIのレイテンシが高くなってる」と言いつつ、ネットワークエンジニアには「TCPでretransmitが上がってる」と表現してトラブルシューティングしています。

(編集済み)

国内企業勤務なのにやたら専門用語が英語っぽいですね(笑) SREってGoogleが作った組織から広がった概念なのでやっぱりGoogleのSRE本の影響が大きいのでしょうか。

各社がSREの類型を実装した結果、その類型の分類したときの用語がそのまま残ってる印象があります。


https://medium.com/slalom-build/the-many-shapes-of-site-reliability-engineering-468359866517

私が把握してる限りだと、↑のmediumでいくつかのパターンがまとめられたり、Team Topologiesの書籍内で取り上げられてたり。


日本語のブログでも、これらの類型の名前は英語のままが多そうです。

https://x-tech5.co.jp/2022/02/21/204/

インフラ(SRE)よりソフトウェア開発の方が、一般的には給料も高く選択肢も広いと思います。


インフラが好きならいいと思いますが、なぜ転向しようと思ったのかは気になります。

インフラとSREは違いますよ

SREはSWEの上位職と考えてよいと思います

SREはSWE上位かどうかは会社による気がしますが、、

SRE本におけるSREの定義で言えば、「SWEが運用を設計した時に始まるのがSRE」なので

そういう意味では、SWEであることが前提条件であるとは言えますね。もちろん上位互換とかではないです。


現実的には、運用チーム(非SWE)がリブランディングしてSREを名乗るケースもあるので、そこまで含めると全く別物でしょうね。

SWEとして書くコードと、SREで書くコードでは、一般的には求められる複雑さが違い、SWEの方が求められるレベルは高くなるとは思います。


一方、ネットワークの知識については逆にSREの方が求められます。ただ、今はクラウドや関連ツールの使い方に関する知識が求められる面が多いと思います。

SREでガリガリコード書いてましたが、SWEのときには意識してなかったメモリに何が載ってるかとか、計算量とか、考えながらコード書いてましたね。

仕事領域によるとは思いますが、本来の意味でのSREは課題への複雑度は上がる印象です

SREは直接ユーザに影響するコードには関わらず構成管理など間接的なことをしていて、そのため計算量やメモリをそれほど考えないイメージでした。

もしよければ、具体的にどのようなことをされていたのか教えていただければうれしいです。

自分はリアルタイムでデータを解析していくようなシステムを書いていました。

インシデント起因で書き換えたり、サービスのスケールに合わせてコード書いたりしてましたね。

おそらく、仰ってるような運用管理のみやるロールはSREではないですね。

ありがとうございます!

データ解析はシステムの状態把握のためでしょうか。既存のツールやクラウドサービスの機能で計測すると思っていたのですがツールを作ることもあるのですね。

確かにそうですね、すみません浅はかでした。

インフラとsreはどう違うのでしょうか。弊社ではインフラ/sreとチームを読んでいるのでどう違うのか知りたいです。

私も何が違うのかあまりわかっていませんでしたが、ここの記事が個人的にはわかりやすかったです。


ご参考になるかは分かりませんが、一応貼り付けておきます。


https://sreake.com/blog/sre-vs-infrastructure-engineer/

ありがとうございます!拝見させていただきます!

コミュニティ
企業一覧
求人
給料