キャリアの進展で直面した「時間がない」という課題
白木翔也氏はエンジニアとして約13年のキャリアを積んできた。2012年に新卒で入社した会社では、当時流行していたアバターや建設シミュレーションをテーマにしたゲームの開発に携わった。最初はウェブゲーム、その後はスマートフォンアプリの開発を手掛け、約3年間勤務した。
その後、知人が代表を務めるスタートアップに参加し、多様なサービスの開発を通してエンジニアとしてのスキルを磨いた。このスタートアップは2021年に買収され、白木氏はスタートアップでの挑戦に一区切りを感じた。
そして白木氏は2022年にSHIFTに入社。1社目は約150人規模、2社目は数名から10数名の規模だったのに対し、SHIFTは1000人以上の規模を持つ企業であり、より大きな規模でエンジニアとして働いてみたい思いが転職の動機となった。現在は顧客のDX(デジタルトランスフォーメーション)を推進するプロジェクトでテックリードを務めている。
エンジニアとしてキャリアを積む中で、多くの人が直面するのが「時間がない」という悩みだ。白木氏自身もエンジニアとしてキャリアをスタートした頃は、技術に向き合う時間が十分にあった。しかし、ライフステージやキャリアの変化に伴い、次第に技術だけに集中する時間が減っていくように感じていた。エンジニアとしてのキャリアを諦めたくないと思う一方で、プライベートを犠牲にすることは避けたいと頭を悩ませた。
その結果、白木氏は「自分流のマインドセットを持つ」という解に至ったとし、「目的志向」「開発以外もやってみる」「素直に受け入れる」という3つのマインドセットを解説した。
目的志向―「何のために作るのか」を問い続ける
1つ目の「目的志向」は、技術を使って開発を進める際に、自分が作るものの目的や達成したいことを明確にし、それに納得したうえで作業に取り組む姿勢のことだ。例えば、「その機能はユーザーにどんな価値をもたらすのか」「この課題を解決するにはどんな方法が適切なのか」といった問いを自らに投げかけることが目的志向の基本となる。
目的志向では、与えられた仕事に対し「これは何のための仕事か」「どんな結果を目指しているのか」を常に考える。ただ、多くの人が「時間がない中で、こんなことを考えるのは遠回りではないか」「言われた通りに作ればいいのではないか」と感じるかもしれない。
白木氏は、過去に携わったサービスのエピソードを共有した。依頼された機能をエンジニアとして着実に実装していたが、実際にはその機能やサービスがほとんど使われないという現実に直面した。そのとき白木氏は、企画やビジネス担当に不満を抱き、「開発はきちんとやっているのに成果が出ないのはそちらの責任だ」と考えていた。しかし「もし自分がどれだけ努力して開発を進めても、それが使われなければ、それこそが最も大きな時間の無駄ではないか」と気づく。
この気づきによって、目的志向というマインドセットを持つきっかけとなった。それ以来、自分が作るものの目的を問い、ユーザーの課題を解決し、価値を提供できるかを常に意識しながら取り組むようになった。
「目的志向を始めるには、依頼された機能やBacklogに対して『どんな背景で生まれたのか』『どんな場面で使われるのか』『この機能によってお客様はどうなるのか』を想像しながら開発を進めることが重要だと思います。このアプローチは、自社サービスだけでなくクライアントワークなど、どのような状況でも活用できます」(白木氏。以下同)
顧客現場に飛び込む―開発外業務から得られる新たな視点
2つ目のマインドセットは「開発以外もやってみる」だ。開発といえば、システムの設計やKPI設計、実装、テスト、運用などが主な業務範囲として思い浮かぶ。しかし、白木氏は、それ以外の仕事にあえて挑戦してみることが開発に役立つと語る。例えば、カスタマーサポート(CS)の業務や営業・マーケティング担当者が行う広告管理などを経験してみるのだ。
これらの業務を経験することで、開発の背景に対する理解が深まり、解像度が上がる。例えば、CSの業務に携わることで、問い合わせ対応の流れを把握し、操作しやすいUIの設計や、検索で頻繁に使われるフィルター条件を実現する方法を具体的に考えられるようになる。また、よく使われるパターンを拡張しやすいAPI設計に反映するなど、実際の業務に基づいた開発が可能になる。結果として、開発効率の向上にもつながる。
しかし、ただでさえ時間がないのにほかの業務を体験することは、一見すると遠回りに思えるだろう。白木氏はここでも自身が実感したエピソードを紹介した。
あるBtoB向けのサービスにおいて、顧客側での導入にはAPIで連携させる必要があった。API自体はすでに提供済みで、エンジニアとしては実装の難易度は高くないと考えていたが、実際には顧客側の対応が進まず、導入が滞っていた。
白木氏は営業担当とともに顧客訪問を行い、担当者やエンジニアと直接会話する機会を持った。現場で話を聞くと、実装に取り掛かる前にお客様のシステムにさまざまな課題があり、それらへの対応に追われていることが分かった。また先方のエンジニアは疲弊しており、実装作業に着手する余裕がない様子だった。これを目の当たりにし、顧客側での実装は難しいと判断した。
そこで、自社のサービスを呼び出す仕組みを実装・提供することにした。この対応により、自社サービスの導入が実現し、ビジネスへの貢献もできた。この経験を通じて、エンジニアは開発だけを行うのではなく、営業担当とともに現場に足を運び、直接課題を把握することが重要だと実感した。
こうした取り組みを始めるのは難しく感じるかもしれない。他の業務に直接参加するのが難しい場合は、まずはユーザーや担当者の声を聞くことから始めると良い。例えば、依頼された機能について「この機能はどのような場面で使いますか」と尋ねたり、ユーザーに「普段どの作業に時間がかかっていますか」と聞いてみたりする。また、営業担当者には「失注の主な理由は何ですか」と質問してみる。こうした情報を集めるだけでも負担は少なく、実践しやすい方法だろう。
「課題や状況の解像度を高めることで、価値あるサービスの開発につながると考えています。それが結果的に時間の無駄を防ぐことにもなります」
受け止める姿勢が拓く可能性―受容が成長をもたらす
3つ目のマインドセットは「素直に受け入れる」ことだ。白木氏はこのテーマに関連してまず自身の体験を共有した。
それは、プルリクエストのレビューで、自分がコメントした内容についてのメンバーからのフィードバックだ。そのメンバーは「コメントをありがとうございます。確かにその通りです」と受け入れる姿勢を見せ、そのうえで、「ただ、この部分についてはこういった背景があり、このように対応しています」と補足説明を加える対応をした。
このやり取りを通じて、白木氏は「相手の意見を一旦受け入れる」ことの重要性を実感した。新しいチームに入ったばかりで慣れていなかったが、提案やコメントをしやすい雰囲気があり、心理的安全性を感じることができた。このようなメンバーの対応により、スムーズに適応し、チームに貢献することができた。
技術トレンドなどに対しても否定的にならずに「素直に受け入れる」ことは重要だ。例えば、「生成AIによってエンジニアの仕事がなくなるのではないか」といった意見がよく聞かれる。このような話に対して、素直に受け入れない場合は「人間の仕事は複雑で、すぐに置き換えられるわけではない」と考えるだろう。一方で、素直に受け入れる人は「生成AIを使って、今の仕事をどれだけ効率化できるか試してみよう」と前向きに考える。
白木氏の同僚の一人は、2年前から話題になった生成AIを素直に受け入れ、積極的に業務に適用したり、社内で便利なツールを開発したりしていた。その結果、現在では部署内で「生成AIに一番詳しいエンジニア」として名前が挙がる存在になった。トレンドを素直に受け入れたことで、その分野の第一人者となったのだ。
白木氏は、1社目の企業で採用基準として掲げられていた「素直でいい人」という方針や、現在勤務しているSHIFTの行動指針にある「ふてくされない、素直に受け入れる」という考えについて触れた。自身を振り返る中で、「素直に受け入れる」という考え方をこれまで大切にしてきたことに改めて気づいたとし、「キャリアを考えるうえで、自分のマインドセットと会社が大切にしている価値観を比較してみることは、1つの重要な視点だと感じています」と話した。
SHIFTでは、技術イベント「SHIFT EVOLVE」をオンライン/オフラインのハイブリッドで展開している。また、カジュアル面談も行っており白木氏は「気軽に参加してほししい」と呼びかけた。