なんかたまに誤解を受けることがあるので記事として残しておいたほうがいいのかなと思って書いとく。
誤解されることは多い。誤解っていうのは、やっぱり話してて僕をインフラしかできないエンジニアだと思ってるひとが多いな、っていう印象を受けてる。
僕の経歴
僕は11年前ペパボに入ったときすでにサーバ・インフラエンジニアとしてキャリアをスタートさせたので、やっぱりそういう体質が染み込んでる、ってことは否定できない。最初の上司もやっぱりそういう人だったし、そこから学んだものも大きい。
ただペパボの上司は何回か変わってて、当時のテクニカルマネージャーの下に着いた時、誕生日にPuppetの本をプレゼントされたあたりから、僕にはインフラをコードで記述する、っていう基礎的な考えは作られたような気がする。それが2009年くらい。
そのあとSNSだったりソシャゲのサーバ管理の仕事をしたあと、転職活動をしたときにFind Jobに「仕事ないすか?」って問い合わせたら「君みたいなインフラエンジニアの仕事はもうないよ」って返信が来たので、PHPとRubyを学び始めたのが2011年半くらい。そこから自分のWebサービスを三つくらい立ち上げたりして、ユーザ数がすっげえ増えたんだけど一人だったし運用もできなかったから閉じてしまった。
アプリを構築、運用するスキルがおかげで身についたので、仕事はちっちゃなベンチャーのCTOについた。チームメンバーもいたので、そこでチーム開発やらなんやらについて考えたりもした。それが2012年終わりから2013年初めくらい。そこを辞めたら写真共有のサービスの会社にいって、開発体制を整えたりAWSを本格的にコードから操る、ということをやってた。そこからフリーランスのエンジニアになったけど、フリーランスの間はずっとアプリケーションエンジニアだったし、たまに人がいないところでChefの運用構築をしたりした。
そこからBASEにSREとしてはいるんだけど、アプリケーションエンジニアとして学んだデザインパターンとか基本構造、開発体制を考えた経験とか、AWSのコードを使った操作、サーバ構成管理ツールのスキルとかが今SREとしていきてる、といった感じ。
だから僕のキャリアはインフラ・サーバエンジニアとしてのキャリアが5年、アプリケーションエンジニアとしてのキャリアが5年、今年に入ってからは両方やるSREとしてのキャリアが開始されている、ということになる。
誤解うけてる件について
僕をインフラエンジニアだという人の話を聞いていると、どうも「コードが書けない従来のインフラエンジニアとしての人」と定義されるみたいで、時代錯誤のインフラの人と見ているひとが多いみたい。特にSIerからWebに来ましたみたいな人ほど僕のことをそう定義したがる傾向にある気がする。僕として反論するのは「従来のインフラエンジニアとしての側面」を否定はしないし、長い間やっていることでもあるからそれなりに考えることも主義主張もあるんだけど、だからっていってアプリケーションエンジニアとしての側面を否定してほしくないな、と思うこともある。ちゃんとPHPもRubyも経験があるし、怖いSQLばんばん流してたことだってあるのに、否定されるような言い方をされるとちょっとなあ、って感じることはある。
でもAWSとかクラウドがでてからはインフラの仕事は楽しくなったなあ、とは思う。僕はデータセンターやラッキングの作業が本当に大嫌いで、これをずっとやらないといけないくらいなら二度とこんな仕事するもんかと思ってたので、ボタンを押せばサーバが立ち上がってくれる今は本当に楽しいなあ、と思いながら仕事してる。
悩んでいること
今の会社にいるうちはSREですーってなのっとけばいいんだけど、またフリーランスに戻ったとき、SREですと名乗るわけにはいかない。新機能作らないんかいっていわれるとつらいしね。だから名刺の肩書きどうしよっかなあ、って考えることはある。
今のところは肩書きを「エンジニア」とだけ書いて、できることを裏にずらずらと書いていく感じにしたほうがいいかな、とか思う。あとはGithubのPublicにあげておくとかね。すこしずつやっていきたい。
できるけどできない、ということ
今の会社でもそうなんだけど、僕は基本全てのサーバにSSHできるので大体なんでもできると思われがちなんだけど、会社という組織上、僕は「できるけど、できない」ということが実は結構多い。それは上司と僕の責任範囲を話し合った上で決めていることだし、僕は上司を信頼しているので言われた通りの責任範囲で動いているんだけど、説明できてないと理解されないことがあって、ちょっとこの辺をどううまく説明するか、っていうのに悩むことはある。「エンジニアならやれよ」って言われても、わかるけどできるけどそれね、っていうケースだ。
そういう範囲を話せば理解してくれる相手が今のところ多いからいいけれど、将来説明してもわかってくれない相手が出てきた場合、どうするかは悩むところ。今から悩んでも仕方ないので、こればっかりはどうしようもない。
決めつけないでほしい、ということ
生きていくために僕は勉強もするし、一時期はフロントエンドだけやる人としてやったこともあったくらいだから、インフラエンジニア、と定義されてしまうとそれしかできない人みたいで、すごく悔しくなる。だけど一方でフルスタックエンジニアとか言われるとバカにされてるみたいで本気で嫌悪感を示すので、どちらかというとただのエンジニアで、職場によって発揮する専門性変えてますよぐらいでいいと思う。なんでいちいちインフラの人だのフロントの人だとか定義付けしたがるのかはよく分からないけれど、まあ、みんなそういう会社にいたんだろうな、というのでなんとなく流してる。
最近は趣味でデザイン勉強してたりするくらいだから、もしかしたら数年後はフロントエンドデザイナーとかやりだしてるかもしれない。将来のことなんて誰にもよーわからんものだ。
今やりたいこと
でもクラウドを使ったアプリケーション基盤構築はやっぱり好きだし、負荷が下がっていく様子をみるのはフロントエンド作るより楽しい。そしてそれらをコード書いて効率化していく作業は一番やりがいを感じるので、しばらくやってるかなとは思う。