株式会社タイミーを退職しました。
こんにちは、宮城です。
2018年から3年間在籍したタイミーを2021年9月10日を持って最終出社とし、9月末で退職することになりました。
毎日目まぐるしく変わっていくタイミーでの3年間はやはり多くのことがありました。人生の節目として一度振り返りたいと思います。
ファーストキャリアでシード期のスタートアップを選んだエンジニアがどうなったか、ということを書いています。多分に生存バイアスが含まれていることを理解いただきつつ、よければお付き合いください。
フルタイム一人目のバックエンドエンジニアとしてジョイン
まずは参加することになった経緯から。
大学は報道メディア系の学科に所属し、映像編集をしたり音響機材を弄りながら過ごしました。活動の中でWebサイトをWixで作る機会があり、その際の楽しさからプログラミングに興味を持ち、ProgateでHTMLから勉強を始めました。
そんな中、学部3年の終わりに金銭的都合により中退が決まりました。働かないとなあと進路について考え始め、Progateが楽しかったものですから本格的にエンジニアとしてWeb業界での就職を意識し始めました。
中退後もアルバイトをしながら隙間時間でProgateを進めました。Web系言語のカリキュラムを一通りこなしてみた後、RailsでWebアプリを作って公開するとアプリリリースのツイートが少しだけバズり、「どこか採用してくれ!」とツイートしたところ複数の会社からお声がけをいただきました。その中の1社がタイミーでした。いわゆるTwitter採用です。
\Railsでの就職先を探しています/
— Hirotaka Miyagi (@MH4GF) June 7, 2018
現在都内SIerでアルバイトをしていて、就職先を探しています!21歳です。
Railsでサービスをリリースし、現在はそのサービスをSPAにするためにVueを勉強しています!
転職可能時期は8月以降です。
今はたくさんの人とお話ししたいです!お気軽にご連絡ください〜
タイミーに入った理由は、正直のところ「実務未経験でもエンジニアとして働ける」という切実な面ももちろんあったものの、代表の小川が作りたい未来に共感したこともやはり大きいです。
タイミーは「すぐ働けて、すぐお金がもらえる」スキマバイトアプリです。当時恵比寿にあったオフィスという名のマンションの一室に呼ばれ、そこで小川と初めて会い、サービスの概要を聞きました。面接や選考がなく短時間から働けるというコンセプトはその人の経歴やライフステージに関係なくあらゆる人の選択肢を生み出すサービスだと思い、ぜひ働かせて欲しい!と伝えました。数日後了承いただきジョインが決まりました。フルタイムのバックエンドエンジニアとしては1人目、会社全体では7人目のメンバーでした。
僕が入った2018年7月はプロダクトのリリース1ヶ月前で、その頃は複数名の業務委託の方がとにかくスピード重視で0→1のアプリを作り上げている最中でした。
自分はWebアプリの開発チームに入る事になり、Rails歴1年ほどの先輩エンジニアと、自身と同タイミングで入った学生エンジニアの合計3人で開発を始めました。
0→1のリリースに伴うすったもんだはあれど、アプリのリリースは意外と静かだったことを覚えています。
前半:自身のクソコードがバグを生み、直す過程でクソだと気づいて前に進む日々
無事にリリースが終わったとはいえ業務委託のメンバーは去り、メンバーは一気に少なくなりました。さらに同期は卒業して別企業のインターンへ挑戦、師として仰いでいた先輩エンジニアはタイミーのインフラ構成とデプロイ方法を最後の教えとしフリーランスとして独立、バックエンドチームは一人となりました。
とはいえど嘆いてもいられず、そこからはひたすら機能開発を進める日々でした。当時CTOをしつつiOSを書いていた@razpy01が慣れないRailsの設計について何度も何度も壁打ちをしてくれ、なんとか開発を進めることができました。
初期リリースはとにかく最低限「求人の掲載ができて、マッチングができる」程度のものであり、一般的なアプリケーションに求められる機能が全く揃っていない状態でした。とはいえ自身は一般的なRuby, Railsを書くこともおぼつかず、DB設計などはもってのほかでしたが、とにかく動くコードを書いてリリースを続けました。例えばFat Modelなどという言葉は知らずガンガンControllerにロジックを書き(Viewにも)、いわゆるアンチパターンと呼ばれるものを知らずに踏み続けます。
そんなコードを書いていては当然バグが大量に出てくるのですが、直すのは自分しかいない。直すしかない。その一連の流れの中で、クソコードのクソたる所以を知り、自身を成長させてくれたと今では思っています。(本当に当時のメンバーには迷惑をかけました…)
とはいえさすがにジュニアレベルの人間が1人で進められるわけでもなく、フルコミットではないものの相談役として関わってくれたエンジニアの方が何人かおり、設計の相談やコードレビューをしていただけたのも本当に救いでした。現CTOの@kameikeもここからお世話になり、もう1人名前は出さないものの、エンジニアとしての思考プロセスの多くを学ばせてもらった方がいました。
まだ知識量の少ないジュニアレベルの時期に「あの人ならこの課題をどう解くだろうか」と思考をトレースすることは、自身の枠を広げ成長速度を上げることに繋がったと思っています。
自身のコードのしっぺ返しや、相談役エンジニアからのレビューをもらいながら、新規開発と並行しつつも少しずつ改善を続けていきました。全く書いていなかったRSpecを書き始め、nullableだらけだったDBにnot null制約や外部キー制約を付与したり、Rubyで頑張っていた処理をSQLで書き直したり。リリースしてすぐバグを生み手戻しをしていた状況は減っていき、レビューやCIで考慮漏れに気づくことができるようになりました。
加えて、当時CTOの@razpy01や当時技術顧問で現CTOの@kameikeの尽力により少しずつフルコミットのメンバーが採用でき、スクラムを運用できる状態にまでなりました。一人で開発していた頃と比べて、コードベース・組織共に改善が回り続ける状態になったことの素晴らしさを感じながら開発に向かっていたことを覚えています。
後半:タイミーを成長させることが自身の成長につながると信じなんでもやる日々
メンバーも増え開発スピードが上がる中で、少しずつメインの開発はチームメンバーに任せて事業の課題になりそうなところに飛び込んで解決を目指す、という動きが多くなってきました。
テレビCMを打つというタイミングで入ってくれたシニアSREエンジニアのもとでEC2で動いていたアプリをECS/Fargateに移行したり、
エンジニア3人+デザイナー1人での新規事業でプロジェクトマネジメントと技術選定・実装を担当したり。
その際のStripeの導入記事は自身の代表作となり、この記事で少しずつ界隈の方に知ってもらえるようになったことは自身にとって転換期になったと思っています。
Stripeを導入した際の技術選定基準やRailsでの実装、返金や経理周りの運用まで、決済機能を導入する上でぶつかる壁をどう乗り越えたかを書きました!15000字超えてしまった
— Hirotaka Miyagi (@MH4GF) December 10, 2020
新規事業の決済機能としてStripeを導入する上で考えたこと全て - Timee Product Team Blog https://t.co/aZIpdywJFJ
その後は自身と@razpy01の2人で活動し、財務経理チームやCSチーム、法務チームやセールスイネーブルメントチームなど、タイミーというプロダクトに関わりつつも社内のメンバーとともに課題解決をすることが多くなっていきました。
あまり公に話せる内容は少ないものの、「リーガル要件・ドメインの要件など様々な制約を満たしつつ最もユーザー体験が高い解決策は何か」を部署を超えて背中合わせで試行錯誤し続けられたのはタイミーの文化だからこそで、非常に幸せな経験だったと思っています。
僕はこの3年のタイミーで過ごしたキャリアの中で「タイミーを成長させることが自身の成長に繋がる」と信じ、ぶつかる壁に対してなんでもやるぞというマインドで取り組んできました。
このマインドは初期のスタートアップであるタイミーにおいてうまく適合し、それなりにバリューを発揮できたのではないかと考えています。自身の技術スタックはジェネラリスト依りになったものの、変化と適応の日々の中でWebサービスに関わる一通りの要素をそれなりのレベルでできる自負が持てたのは、今後の人生で非常に大きな財産になったはずです。
なぜタイミーを卒業するのか
目まぐるしく変わっていくスタートアップのフェーズで求められる変化と適応に身を捧げたことは、明らかに僕の人生の分岐点となる素晴らしい選択となったことは既にお伝えした通りです。とはいえ直近一年はキャパシティを超えて何度か体調を崩してしまうときもあり、休暇や配置換えをさせてもらうことがありました。
その中で「タイミーを成長させる」の先にある自身のキャリアには一旦何が続いているのだろうと悩み、社内のメンバーに相談したり、他の会社さんの面談に参加させてもらいながら、少しずつ言語化を進めていきました。
自分自身がワクワクすること・価値を提供できること・今や未来でやりたいこと をじっくり時間をかけて考え、最終的に辿り着いたのは「生涯ソフトウェアエンジニアとしてより良い課題解決を続けていきたい」ということでした。
自身は朝から晩までコードを書くことに苦がなく、エンジニアは天職だと思っています。ソフトウェアエンジニアというポジションで高いバリューを出すにはどうしたら良いのか、そもそも生涯この仕事で稼いで食べていくには何が必要なのか、を試行錯誤することはワクワクしながら続けられるだろうと考えました。
また、自身がやりがいに感じていたことの根本は「課題解決」にあるのだと気づきました。もともと悩み始めた頃は深く技術を研鑽したいという欲求はあったものの「深い技術力を持つ」とはどういう状態なのかを言語化できずにいましたが、より良い課題解決をするための技術知識を持ちたい、という塩梅が今は腑に落ちています。
そして上述した軸で今やりたいことを考えてみたときに、課題解決の幅を広げたり全く違うドメインに触れてみたいと思い、相当悩んだもののタイミーを退職することを決意しました。タイミーの目指す世界への道のりはまだ先にあるものの、自身が抜けても問題なく周りメンバーに任せられると思ったのも理由としてあります。
次に何をするのか
次は1~2年フリーランスとして活動していく予定です。転職も検討したものの、色々な企業の技術課題やドメインに触れられることに魅力を感じており、時間とお金に余裕を持ちつつ気になる技術を深ぼっていこうと考えています。とはいえ良い会社さんがあればそのままコミットメント・シフトのように正社員にスライドすることも全然良いと考えています。
というわけでお仕事も募集しています。10月からフルタイムに近い形で働く会社さんは決まってしまっているものの、色々な組織やドメインを見たいというのもあり、数ヶ月や1年などの長期的な関係を見据えたお話ができると大変嬉しいです。
連絡方法や提供できる価値、希望する条件は以下のドキュメントを継続的に更新していく予定なので、よければこちらもご覧ください。
上述したとおりタイミーのミッションは「働くを通じて人生の可能性を広げるインフラを作る」で、自分もこの3年間働いてきた中で人生を変えてもらった一人だと思っています。卒業生として恥じぬよう今後もやっていきを続けていきます。
タイミーでお世話になった皆さん、本当にありがとうございました。またどこかでお会いしましょう!
最後に
タイミーでは様々なポジションでメンバーを募集しています!
バックエンドエンジニアももちろん採用しているので、ぜひ応募してみてください。
タイミーのプロダクトチームは理想から逆算して前に進めることができる素晴らしいチームだと思っています。僕は去る者ではありますが、興味ある方は僕からもお話しできるのでお気軽にDMください!
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?