はじめに
こんにちは、エス・エム・エスでエンジニアインターンをしている、佐藤墾です。
半年間インターンをして、この会社についてわかったこと、感じたことを書き残します。
エス・エム・エスに興味を持っているけど、どういう組織かイメージがわかない。そんな方に向けて、この会社が大切にしていること、何を重要視しているかをインターン生の目線で書いてみます。あくまで僕のチームでの話ですが、雰囲気が伝われば嬉しいです。
そもそも私がいたチームは?
私はカイポケコネクトの開発推進チームに参加しました。カイポケコネクトは介護/障害福祉事業者向けの経営支援サービスで、開発推進はカイポケコネクトの開発基盤やツール整備を担当するチームです。
そこで私はツールの導入提案や不要なコードの整理など、開発体験の改善に関わる仕事をしていました。
働き方について
大学の研究と両立する必要があったので、融通のきくシフトで勤務していました。
私は地方に住んでいたので基本はフルリモートでした。出社しても社員さんもリモートなので人が集まることは少ないですが、もちろん呼んだら来てくれます。
受け入れ体制について
チームではレトロスペクティブで振り返りを行っていましたが、自分から気軽に相談するのがまだ得意ではありませんでした。フルリモートだと特にそうで、話しかければ答えてくれる環境ではあるものの、オフィスなら「ちょっといいですか」と相手の様子を見て声をかけられるのに対して、リモートだと相手の状態がわかりません。メンションすると通知が飛ぶので集中を削いでしまいそうで申し訳なく感じたり、返信がいつ来るかわからなかったり。これは自分がリモートでの立ち回りに慣れていなかったのもあると思います。
そこでメンターと週1回の1on1を設けてもらいました。決まった時間に必ず話せる場ができたので、仕事がかなり進めやすくなりました。他のチームでも雑談する時間が専用で設けられていたり、コミュニケーションに対するいろいろな取り組みがありました。
チームの文化
導入したいツールなどはバンバン提案できる環境です。実際に自分も、環境構築が少し複雑で対応に手間がかかっていたので、既存のツールと組み合わせて簡単にできるようにしたいと提案しました。
結局、費用対効果や保守運用の面から見送りにはなりました。ただ、自分の提案に親身に寄り添ってくれて、実際に運用する工程など自分がイメージできていないところの指摘ももらい、この提案に向き合ってくれました。
「便利になるから入れよう」だけでは通らない。それが組織のために、ユーザーのためになっているのかをしっかり考えるチームでした。
また、このチームはインターン生の成長に対して本気で向き合ってくれました。成果を早く出すことよりも、1つ1つのタスクを通じてしっかり学んでほしいという姿勢がありました。その具体的な話は次のセクションで書きます。
自分の成長と変化
プロジェクトに慣れるまで
初めはプロジェクトに慣れるためにも小さな修正から始めました。学生から見るととても大きなリポジトリなので、何がどうなってるのかわかりませんでした。AIを用いてインプットして構造を掴むところから始めました。その後少しずつ慣れていき、いくつかのチケットをこなしていきました。
AIを禁止にしてみた話
インターンを始めた頃は少しでも多く成果を出すために、タスクを並列で回して効率を求めていました。
でもチームから求められていたのはそうではありませんでした。AIが出せるアウトプットのためでなく、自分自身の成長に投資したいのだと。タスクを終わらせることがゴールでなく、そのタスクを通じて学び、今後より大きな課題に対応できる実力をつけてほしいという期待がありました。
色々取り組んできましたが、成果を出すべきと焦りすぎて学習へのリソースを割けていませんでした。フィードバックとして、1つ1つのタスクにより時間をかけて良いから深く理解してみることを提案されました。
そこで実施することになったのが、AIを禁止して開発することでした。自分はこれまで常にAIを使って開発を回してきました。アウトプット自体は出ていてももっと細部まで見る必要があったことを指摘され、一度立ち止まって進めることにしました。
AIを使っていると自然言語でやり取りするので、コード自体をぼんやりとしか見ていませんでした。雰囲気はわかるけど、見るべき細部が見えていない状態です。
でもAIをやめたら、構造体を1つずつ見て繋げるという理解の仕方に変わりました。システムでは多数の関数や変数が複雑に絡み合っていて、境界線がしっかりしているものです。それを自然言語で曖昧にぼかして理解していたから、理解の解像度が低かったのだとわかりました。別に全てを理解する必要はありませんが、輪郭はしっかり見えていないとそれぞれのつながりや作用するものを見つけることができません。
そして仕事の進め方も変わりました。AIを使っていると「〜という方針で実装しますか?」というように結論を早く作ってくれて、承認して速攻で作る、みたいなことはないでしょうか。これをやってしまうと、本当は考えるべきことがたくさんあるのに、検討しないままそれっぽく進めることができてしまいます。
実際にやめてメモに書き出すようにして開発し始めてから、考慮すべきことがたくさんあることを改めて認識しました。今まで気づかないうちに考慮漏れをたくさんしていたんだと思います。たくさんの問題がある中、1on1で相談しながら考えるべき問題と順序を整理しました。そうすることで物事を確実に一歩ずつ進められるようになりました。
いくらAIが書いても責任は自分にあります。AIのスピードに振り回されて自分自身が責任を持てない状況になってしまっては本末転倒です。
だからこそ、AIを活用するのは前提として、その上で自分がどう動いているのか、どういう構造なのかをしっかり理解しておくことが重要だと気づきました。AIをやめたことでその輪郭が見えるようになり、この状態になって初めて責任を持てるようになり、PRも出せるようになったんだと自覚しました。
なぜ、なに、どうやって
チケットをもらったときに何が目的かわからない状態では、正しいPRを出せないことを改めて自覚しました。今まではなんとなくで理解して、すぐ「何を作るか」に意識が向いていました。結果、実現しても社員の方から「いや、それじゃなくて」という手戻りが起きていました。
チケットの段階では「何をする」が細部まで決まっていないことも多いです。だからこそ、その背景にある「なぜ」を理解しないと、適切な「何を」を自分で組み立てられないことを痛感しました。
自分は今までの経験で「何を作るか」をすり合わせる大切さを学びました。完全な個人開発ならこれは全て自分の中に答えがあるから必要ありません。しかしハッカソンやインターンで、「何を」を揃えないと正しいものが作れないと実感しました。
今回のエス・エム・エスのインターンでは、そこに加えて「なぜ」が入ってきました。物事の背景や相手の立場に立って初めて、本当に欲しいものがなんなのかを考えることができました。
今までは何かを作れる、Howを実現できるエンジニアが優秀なんだと思っていました。しかしそれだけでは足りず、そこからWhyを理解し適切なWhatを返せる、ここまでできて本当に優秀なエンジニアなんだと学びました。
特にAIの進歩でHowの部分はかなり強力なサポートを得られるようになりました。しかし、まだWhyやWhatをきっちり汲み取ることはAIには難しいと考えています。それを的確に言語化できる人はAIを組み合わせることで、より強力なバフを得られるのだろうと思います。
ただし、全員がそれをできるとは限りません。そこで自分たちエンジニアが正しくWhyを理解し、Whatを組み立てることが今後より重要になってくるのではと感じました。
導入だけでなく運用まで考える
先ほどチームの文化として紹介したツール提案の話ですが、自分自身にとっても大きな学びでした。
自分はここで、導入して便利になる以外にも組織でどう運用するかなど、保守の部分への意識が芽生えました。導入するときにどうやって継続的に負担を減らしつつも効果を出すのかを考える癖がつきました。
半年間のインターンを振り返って
エス・エム・エスでの半年間はとても濃い時間で、とても学びが多かったです。何より会社として学習へのコストを惜しまず、成長を喜んでくれる組織でした。
1on1やチームでの振り返りなど適切なレビューをもらえて、新たな気づきや観点がかなり増えたと感じています。
ただ、基本的に受け身ではその気づきを増やすことはできません。手段は人それぞれですが、環境は整っているので自ら動いてその環境の恩恵を受けられるよう、さまざまな気づきが得られるような立ち回りをしてほしいと思います。
そういうカルチャーだったと、半年間いて感じました。
興味を持ってくださった方へ
このレポートを読んで、少しでもエス・エム・エスが気になっている方の背中を押せたら幸いです。まずは気軽に応募やカジュアル面談から、私の感じた雰囲気を実際に感じてもらえたらと思います。
