純粋に技術的な仕事ができることがおもしろい。テックリードの業務

article image 1

私は2022年9月現在、iOSテックリードを主として採用業務、標準化業務にも携わっています。ゆめみのテックリードとは案件を横断して技術的なサポートを行うことが役割。具体的にはコードレビューや新技術の導入時のアドバイスなど、小さな案件を含めると10件ほどを並行して相談に乗っています。

採用業務では、エンジニア面接や採用時のコードチェックを担当。新卒など新しく入社した人の初動が早くなるよう、共通の環境構築の仕組みを整える標準化業務も自発的に行っています。

テックリードチームは私も入れてコミッターは4人、コントリビューターを含めると10人です。DXシートやCI/CDなど各個人が得意分野を持っており、私はCI/CDや環境構築に関するSwift UI言語が得意。チームに依頼された案件ごとに、各々の得意分野を活かすという流れです。前職でも私はiOSエンジニアとして働いていたので、その経験を活かし、もともと得意な分野をさらに伸ばしています。

テックリードの魅力は純粋に技術的な仕事ができるところ。もし案件を担当してしまうと、仕様や納期など、技術面以外の点も考慮しながら進める必要があります。しかし、テックリードはソースコードを読んで「可読性が低い」「この書き方はおもしろい」といった風に、純粋に技術的な面のみで評価ができるのでとてもおもしろいんです。

さまざまな案件に携わっているため広く社員と交流しており、とくにコードレビューのときには多くのコミュニケーションが生まれます。テックリードとはいえ、すべての分野に詳しいわけではありませんので、コードレビューで刺激を受けることも多いです。これまで触れたことがないライブラリが見られたり、新しい手法だったり。新しい技術に触れることができ、良い刺激になります。

テックリードとして大事にしていることは、依頼された案件にはなるべく当日中に対応すること。スピーディーに行い、仮にもし当日中に間に合わない場合は先に相談して、「時間を要するので、時間をください」と伝えています。仕事をスムーズに進行するためのコミュニケーションも大切ですね。

前職でSwiftを習得。一人で開発を担当し、力をつける

article image 2
▲2019年、アメリカで開催されたAppleの開発者向けイベント「WWDC」にメンバーと参加した時の様子(中央左が史)

2007年に中国の高校を卒業した後、京都の日本語学校に入学し、2013年に宇都宮の大学で機械工学を学んで、ゲーム会社に就職しました。最初に担当していたのは、翻訳やディレクター業務。しかし会社の方針転換で内製化を進めることとなり、iOSアプリ開発者にジョブチェンジしました。元々プログラマーを希望していなかったのですが、パソコンに触れることが好きだったこと、そして少しはプログラミングの経験があったため、興味を持ってスタートすることができたんです。

前職では私以外にiOSの開発者がいなかったため、一人で開発を担当していました。当時は「このアプリを作ってほしい」というような明確なオーダーはなく、できることを探り、追求するという、純粋な研究を行っていました。

そのときに「これからはSwiftだ」と考え、私の独断でSwiftで開発する研究を開始したんです。今でこそ当たり前に使われているSwiftという言語ですが、2014年当時はObjective-Cがメジャーで、Swiftはまだ世に出たばかり。うまくいかないことも多く、初期はとても苦労していました。私が悪いのか、ベータ版だからうまく作動しないのか、正解・不正解がわからないのです。その代わり、一人で自由に研究ができたおかげで、Swiftに強くなれましたね。

そのうち前職で行える仕事の天井が見え、より羽を伸ばして仕事ができる環境を求めて退社しました。最新の技術を取り入れ、自由に働ける会社を探し、出会ったのが「ゆめみ」でした。私が転職活動をしていたときに出していた条件は3つ。1つ目は年収、2つ目はiOS・Swift専任で業務を行うこと、3つ目はAppleのイベント「WWDC」に参加すること。ゆめみの面接でそれを伝えたところ、その場で「良いですよ」といってくれたのです。ゆめみから内定の連絡を受けた後は、ほかにも面接を受けていた2社にすぐに辞退の連絡をしました。

ペアプログラミングで新しい視点、新しい技術を学び、成長

article image 3

2017年にゆめみへ入社し、最も驚き、刺激を感じたのが、ふたりでプログラミングをする「ペアプログラミング」。ひとりがソースコードを書き、もうひとりがその場で開発をチェック・レビューします。初心者であればその場で直ちに学ぶことができ、経験者も他の開発者の考え方や操作方法を学べるため、とても有効な手法なんです。

私は前職まで一人で開発していたので、ペアプログラミングの概念自体を初めて知りました。当時、大事な作業はすべてペアプログラミングを実施。iOSエンジニアとして経験を積んできたことは詳しいと自負していますが、「知らないこと自体を知らない」という状況だったので、他の人が書いたコードを見て「なるほど、こんなこともできるのか」「こんなショートカットの使い方もあるのか」など、多くの新しい発見がありましたね。

テックリードになるまでは、iOSアプリ開発に従事。すぐ案件にアサインされ、仕事をしながら数えきれないほどの技術や手法を学びました。チームで開発する「ブランチ戦略」もそのひとつ。それまでたったひとりで進めていたものを、みんなで並行して行うことに初めて触れました。初めてのことでしたが、エンジニア出身のPM(プロジェクトマネージャー)に相談し、コミュニケーションをとりながら進められたことが印象に残っています。

入社後すぐは、なかなか関係性を作れず、誰かに相談できないという人もいるかもしれません。しかし、エンジニアの気持ちになって相談にのってくれるPMに恵まれ、そして技術的な立場でも交渉ができました。疑問点はすぐに質問しやすく、働きやすい環境で仕事ができたと思います。

それから、2019年にテックリードチームが発足したときには、私が最初のテックリードとして立ち上げに参加。チームメンバーの選定も私が行い、得意分野の偏りがないように、いろんな得意分野を持つ人に参加してもらうことを軸にメンバーを集めました。入れ替わりはありますが、各分野に精通している人が集まり、技術面で広く案件をサポートしています。

結果責任は伴わないが、遂行責任は伴う。チャレンジ精神を大切に

article image 4
▲自動車が大好きな史。休日は愛車でドライブするのが楽しみ

私はありがたいことに、私自身がおもしろいと思えること、好きなことを仕事にしています。一般的な会社であれば、商売が基本ですから、お金のことも考えなくてはいけません。IT系の会社であればフレックスでコアタイムがあったり、週1回は出社するという規定があったりと、勤務ルールもあるでしょう。私のように純粋に技術開発に専念することは、特殊だと思うんです。正直、ゆめみ以外の会社では適応できなくなるのではないか、と不安に思うほど自由に仕事をしています。

ゆめみは、やりたいことがあれば全力でサポートしてくれるので、自分の希望が通りやすいことも特徴です。「この案件を担当したい」「こういった技術スタックを導入したい」といった希望があれば、可能な限りその案件に携われるよう調整してくれます。もし希望に合う案件がなかったとしても、業務時間内で自分の興味のある技術スタックを研究することも可能です。

自由度は高いものの、会社として大事にしているのは「結果責任は伴わないが、遂行責任はともなう」ということ。「こういった研究に取り組みたい」と自分の意思を主張し、結果を出せなくても会社がその人に対して悪い評価を下すことはありません。結果が良くなかったとしても、そこから何かを学ぶことが大事なのです。

失敗を教訓として、次のステップに活かすことを意識しています。ベンチャーとして「失敗しない」ということは、「挑戦していない」ということ。結果を出すのも大事ですが、それ以上に新しいことに挑戦する、チャレンジする精神が大切だと思います。これは社内の共通理解として浸透しているゆめみの文化です。

今後、私個人としてはSwiftの軸はそのままに、Swiftを利用してiOSだけではなくサーバーサイドやフロントエンドなど仕事の幅を広げることを目標にしています。純粋なロジックの部分、つまりデータ処理に今は強く興味を持っており、新しい分野へと挑戦し、会社に貢献したいです。