この記事はPHC BXC Advent Calendar 202221日目の記事です
転身したのは2年くらい前の話ですが
はじめに
今までサーバーサイドメインのエンジニアやってたのですが、しんどくなってきたのでSREになりました。サーバーサイドエンジニアで感じていた不満点とかSREのやりやすさとか自分の考えを書いてみました。
何してる人?
いわゆるWeb系の企業でアプリケーションエンジニアをやってきました。何度か転職はしましたが、いずれの会社でもサーバーサイドの開発(Ruby、Go、Python等)が中心で、インフラやフロントも必要に応じて扱ってきた感じです。まあ、ごく普通のサーバーサイドエンジニアですね・・・
サーバーサイドエンジニアが嫌になってきた理由
色々ありますが・・・
1. フルスタックに働くのが嫌になってきた
自分の仕事はサーバーサイドのコーディングが中心ではありますが、必要に応じてインフラやフロントエンドのコーディングも行ってきました。アプリもちょっとだけやったことがありますし、専門の人には及びませんがMLも業務で扱ったことがあります。
ですが正直、自分の得意な領域以外の仕事をするのがかなりしんどくなってきました・・・特にフロントエンド、Javascriptとかですね。私の専門はアドテクでして、アドテク固有のJS技術に関してはモチベもありますし、ある程度自信もあります。ですが、UIに関わる部分と言いますか、ReactとかVueとかのフレームワークを使って画面を動かすようなJSの使い方には全く興味が湧かないんですよね・・・
Web系のサーバーサイドエンジニアであってもフロントエンドのコーディングを求められることは珍しくないので、どうしてもやりたくないタスクが発生してしまうことがあり、これがストレスでした。まあ最近はやりたくなさすぎて拒否ってたけど・・・
2. 開発やコーディングに対する細かい議論が嫌になってきた
これが一番大きいかもしれません。簡単に言うと、コードにこだわりも持つのが面倒になってきました。
キャリア初期の頃は、より綺麗なコード・処理効率の高いコードを書こうと常に意識してましたし、その辺りをコードレビューで議論するのも楽しめていました。ですが最近では、このコードに対する議論がシンプルに面倒くさくなってきました。
端的に言うと、「その議論って事業的に価値あるの?」って思うようになりました。面白くもないし金にもならないことを議論するのが時間の無駄って感じると言うか。もちろん重要なアーキテクチャ等に関する議論は必要です。自分が嫌になってきたのは、コード規約とか計算量に関する細かい議論ですね。あとデザインパターンとか。
チーム内で自分が技術面で圧倒的にリードしておりメンバー全員を納得させられるだけの説得力を持つ選択肢を提案出来るなら議論の余地もないのですが、そのようなことは稀でしょう。サーバーサイドの開発や設計には人によって経験や得意とする手法に差があることが多いため、余分な議論が発生しやすいです。あとサーバーサイドエンジニアって同じ会社でもスキル感がバラバラだったりするんだよね・・・
まあチームの成長とか考えると、細かいレビューをお互いにし合えるような環境の方が適しているとは思います。コードに対してこだわりを持つことや議論を深めることが悪いことだと思っている訳ではないです。
ちなみに、コードを書くこと自体が嫌な訳ではないです。プライベートとかで自由にコーディングするのは楽しいです。あくまでも「仕事で」の話ですね。
SREの働きやすさ
サーバーサイドエンジニアではなくSREならどのように不満が解消されるのか。ちなみにSREとは言ってるけど、どっちかというとクラウドインフラエンジニアって感じです・・・
1. サーバーサイドエンジニアよりも守備範囲が限定される(気がする)
SREの肩書きになってからも相変わらずサーバーサイドの設計・開発には関わってますが、フロントやアプリ側のタスクを求められるようなことは全くなくなりました(当然といえば当然だけど)。まあ、インフラ側でもやりたくない仕事は少なからずありますが・・・
2. 技術的・事業的な正しさを示しやすい
インフラの設計はサーバーサイドの設計に比べると選択肢が少ないですし、そもそも設計に関わる関係者自体少ないので、自分の提案する構成を関係者に納得してもらうのが比較的簡単です。
余分な議論で時間を浪費することが少なく、自分の得意な手法で進められることが多いのでストレスが少ないです(すごく嫌なこと言ってるかも)。
もちろん他の人が出してくれた案の方が優れてることもありますが、SREって割とベテランの人が多いのでこちらとしても納得しやすい案を出してくれることが多いです。
SREの微妙なところ
私は現職でも前職でもSREという役職ではありますが、正直に言って自分が本来の意味でのSREの仕事だけをしているとは思っていませんし、それに注力したいとも思ってません。
自分が求めている役割としては、SRE的業務を含めたクラウドインフラのアーキテクトって感じなのかな・・・
宣伝
私は株式会社PHC メディコム事業部 ビジネストランスフォーメーションセンター(BXセンター) でSREとして働いてますが、自分の役割が何なのか分からなくなるくらいには自由にやらせてもらってます。
一見お堅い会社に見えますがBXセンターに限って言えばほぼWeb系の組織なので、興味のある方いましたらぜひお話ししましょう!