ソーシャルPLUSのバックエンド開発チームには、業務で使う技術の実務経験がない状態で入社したメンバーもいます。
一般的には即戦力が求められる中途入社で、実務経験のない技術環境に飛び込むのはきっと勇気が要りますよね。Ruby on Rails* 実務未経験でソーシャルPLUSに入社した奥村さんに、ソーシャルPLUSに来た理由・Rails未経験でもなんとかなるのか・今後の展望を聞きました。
*ソーシャルPLUSのバックエンド開発で主に使っているフレームワーク。以下「Rails」と表記。
奥村 ソーシャルPLUSに来る前は、北陸や関西の複数の受託会社で、組み込みや業務ソフトウェアの開発をしていました。
その中で、一度だけ社内開発プロジェクトに参加したことがあり、そこで自社開発プロダクトを育てる楽しさを実感したんです。
ただ当時は、安定性や勤務地など、楽しさ以外の要素を優先する必要があって、結果的に受託会社を選んできました。エラーチェックなどの地道な業務が大半でしたが、自分で作ったものが動く楽しさもありました。1ヶ月に1時間くらい面白いと感じられれば、自分の中で釣り合いが取れていたんです。
奥村 かつての会社で一緒に働いていた佐藤さん(今はソーシャルPLUSのCTO)から、ソーシャルPLUSの選考に誘われたのがきっかけです。
話を聞いてみると、自分が大切にしたい条件を満たしている上、とにかく仕事内容が面白そうでした。でも、自分はある程度ベテランの年齢でしたし、スキル・経験もソーシャルPLUSの人材ニーズにマッチしないだろうと思っていました。
奥村 まず、ソーシャルPLUSのバックエンド開発のメイン技術であるRailsの実務経験が、自分にはありませんでした。また、自分はウォーターフォール型の開発経験が中心なのに対してソーシャルPLUSはアジャイル型で、開発手法も違います。ここまでギャップが多いので、自分が採用されると決まった時はびっくりしましたね。
奥村 いや、怖くはなかったです。
自分は過去も、転職を機に技術スタックが大きく変わる経験をしたんです。だから、今回も同じようにキャッチアップを頑張ればいいと思っていました。
また、自社開発の会社が初めてとはいえ、「設計・実装・テストを繰り返す」という大きい意味では、過去の仕事とそれほど変わらないと捉えていました。
そんなわけで、選考を受けるにあたっては、なんとかなるだろうと思っていました。
奥村 想像以上に、チームからのサポートが手厚いと感じます。サポートのおかげで、既存部分の問題解決を中心に、自分もプロダクトに貢献できているのではないかと思います。例えば、Ruby 2.6 から 2.7へのアップデートや、ライブラリのパッチバージョンアップデート自動化などを自分が実施しました。
普段のチーム開発では、ペアプロやモブプロ、コードレビューなどを頻繁に行っています。その中で、分からないことはタイムリーに教えてもらえますし、自力では思いつかなかったアイデアをチームから聞けることもあります。こういう時、嬉しい驚きがありますし、実力の差を感じて「早く追いつかなくては!」と焦りもします。
奥村 チームの一員としては貢献できていると思いますが、個人としては、入社から半年経ったいま「Railsなにもわからない」*状態です。
*ここでは「ある程度理解が進んだからこそ、難しさに直面している」という意味合い
入社当初と比べて理解は進んでいるものの、まだまだ覚えることが多くて、予想通り大変です。技術トレンドの変化についていけなくなる怖さは常に感じるので、これからもコツコツ学び続けるしかないと腹を括っています。
また、別のギャップとして、仕事の進め方も大きく変わりました。
ソーシャルPLUSに入る前は、難易度が高くて粒度が粗いニーズをなんとかするために、日々頭を捻っていました。対してソーシャルPLUSでは、はじめに代表の岡田さんやCTOの佐藤さんが開発の優先順位や仕様を整理します。その段階で開発内容がある程度具体化されるので、自分は大きすぎず小さすぎないタスクと向き合うことが多いです。
チームの規模が適度に小さく、CTOの佐藤さんがバックエンドメンバーのことを理解しているからか、仕事の割り振り方が絶妙だと感じます。
奥村 以前もリモートワークをしていましたが、業態や仕事の進め方が違うからか、ソーシャルPLUSは全然違う印象でした。
1つ目の違いは、ZoomでカメラをONにするのがデフォルトなことです。入社直前までは、「自分のようなおじさんの顔を見ても面白くないだろうに…」なんて思っていましたが、初日からお互いの顔を見ながら働いて、すぐ慣れました。
また、Slackのコメントに対して、一瞬でたくさんのリアクションがつくことにびっくりしました。特に強制されていないので、会社の文化として根付いた行動なのだと思います。
esa* に知見がどんどん蓄積されるのも好きなポイントです。これまでは、自分が頑張ってドキュメントを書いても、ゆくゆく存在を忘れられてしまうことがありました。でもソーシャルPLUSは逆で、自分の記事に誰かが加筆・コメントしてくれることもよくあります。ドキュメントが、自分の手を離れて育っていくところがいいなと思います。
*ソーシャルPLUSで使っている、「チームのみんなで育てる」というコンセプトのドキュメント蓄積ツール
奥村 CTOの佐藤さんに業務上の負担が偏っているように見えるので、チームで少しずつでも負担を分散できたらいいなと思いました。エンジニアの人数は増えているので、負担を分散するためにチーム全体の技術レベルの底上げができるともっと良いですね。
奥村 展望というと大袈裟ですが、個人としては、自信を持ってRailsで一つの機能を作りきれるようになりたいし、作った機能を育てられるようになりたいです。その過程でRailsの理解がぐっと進むはずなので、得たものをチームに還元したいです。
プライベート開発でやりたいことも溜まっています。例えば自分が作ったOSSのOpenRedmine をしばらく放置してしまっているので、最新のAndroid APIに対応させようかなと考え中です。
ソーシャルPLUSのチーム開発では「早く自分もチームメンバーをサポートする側に回らなくては!」という使命感のようなものを感じています。ソーシャルPLUSのサポート体制は本当にしっかりしていて、自信を持っておすすめできるので、今後加わってくれる方とも一緒に頑張っていきたいです。
奥村さんと一緒に働く、CTO兼バックエンドエンジニアの佐藤さんにも話を聞いてみました。
佐藤 そうなんです。新卒で入った受託開発会社では奥村さんが僕の教育係で、Web系の知識も奥村さんから教わりました。僕がその会社を退職するとき、奥村さんから「いつかまた協業できるといいね」と言ってもらっていたのですが、ご縁があってまた一緒に働けることが嬉しいです。
佐藤 最初からRubyのコードをかなり読み込んで、僕の作ったPRにもいろいろ指摘してくれていました。ただRailsには機能がたくさんあるので、いわゆる初学者が陥りがちな罠には苦労されているようでした。
一方、暇さえあれば Bugsnag や Datadog などを確認されていて、不具合や設定ミスを発見してくれました。こんな風に、ソーシャルPLUSというサービスを自分事として捉える姿勢に、チーム一同感銘を受けました。
佐藤 サーバーのメトリクス確認やバグ修正などで積極的に球を拾いに行ってくれますし、チームへの確認や情報共有がしっかりしていて安心感があります。また、奥村さんの前職が組み込み系開発だっただけに、動作確認やレビューの品質がとても高いです。入社直後からずっと、「いまの自分にできることで、少しでも貢献しよう」という奥村さんのスタンスに助けられています。
Railsでの開発を単独でお任せするのはもう少し先になりそうですが、これまでの経験で培った得意分野を中心に、チーム内で役割を果たしてくれています。中でもライブラリのパッチバージョンアップデート自動化は、特にインパクトが大きかったですね。
佐藤 まずは引き続き、業務や自学でRubyやRailsの経験を積んでもらいたいです。奥村さんがすでに持っている得意分野にRuby系のスキルが加われば、格段にアウトプットが向上するはずです。今後も奥村さんのポテンシャルがより発揮できる開発組織を作っていきますので、共に良いサービスを作っていきましょう!