エンジニアになってからの2年ちょいを振り返る。
実務未経験からエンジニアになって、2年と少しが経過しました。
振り返ってみると、できるようになったこと、苦しかったこと、これから挑戦したいこと等、いろんな感情が湧いてきたので、初めて振り返ってみたいと思います。
(毎年アドベントカレンダーには参加しているから1年に1回振り返るのありやんと今更思いました。)
あわよくば、未経験からエンジニアを目指している方、最近エンジニアへ転職された方、もしくは エアークローゼット で働いてみたいと思ってくださっている方の参考になれば幸いです。
前置き
都内在住の26歳で、エンジニアをしている三好 @miyomiyo344_ と申します。
現在、エアークローゼットというファッションテック企業でエンジニアとして働いてます。
時系列ごとにトピックを書いています。
〜入社前
地元の香川県で、電機エンジニアからキャリアをスタートしました。
3年目で技術営業の部署に異動となり、そのタイミングで上京、その後しばらくして転職して人事、マーケティングなどのお仕事を経験させてもらいました。
エアークローゼットに入る1年ほど前にWebエンジニアを志し、プログラミングを勉強、転職活動を行って2020年の8月に入社しました。
この頃の技術スタックは、ReactとRuby on Railsで簡単なアプリが作れるくらいでした。
(エアークローゼットの開発体制)
詳しくはCTOが書いている こちらの記事 を見ていただきたいのですが、エアークローゼットでは1つの機能に対して1人のエンジニア(規模によっては複数人)がアサインされる体制のため、フロントエンドエンジニア、バックエンドエンジニア、インフラエンジニアなどの括りがありません。
そのため幅広い技術が扱える環境になっています。
言語としては90%以上がJavaScript、TypeScriptにて開発を行っています。
入社後〜6ヶ月
最初の心境
一番最初にアサインしてもらったのが airClosetアプリ の改修で、初のNativeアプリと、いきなりチャレンジングな開発でした。
初めてコードレビューを依頼したプルリクエストには、これ以上ないくらいの数のレビューコメントが付き(泣いた)、実務未経験の厳しさと、圧倒的に成長できる予感がしたことを覚えています。
毎日新しい気付きや学びがあるのでもちろん楽しかったですが、足りてないことが多すぎるし、そもそも分からないことが分かっていないような状態だったので、休日は必死に勉強していました。
モチベ維持のために、もくもく会等のイベントに積極的に参加して、社外のエンジニアと交流するようにしていました。
社内の先輩エンジニアはコミュニケーション取りやすくて優しさの塊みたいなひとばかりで、1日30分〜1時間、質問し放題の時間を設けてくれて、疑問を残したまま1日を終えることがないようにしてくれていました。本当に感謝しています。
6ヶ月〜1年
Nativeアプリの開発楽しい。
この頃はNativeアプリのプロジェクトにアサインしてもらうことが多かったように思います。
iOS/Androidの評価ダイアログや、スプラッシュ、トラッキング許可など、Native独自の開発や、FirebaseやKarteなどのサードパーティツールとの連携などに携わりました。
どれも自分にとっては新しい挑戦だったので、毎回の開発がとても楽しかったです。
力不足を感じる日々。
1年経ってみての感想は、一言でいうと「想像していたよりも成長していないな」でした。
もちろんできることは増えていましたが、開発で詰まることは多かったし、周りを見渡せばつよつよエンジニアだらけだったので、力不足を感じる毎日でした。
一方で成長も少し感じていて、分かっていないことが分かるようにはなっていたので、学習する技術の優先順位が付けられるようになっていました。
学習したことがそのまま普段の業務に活かせるタイミングが多かったので楽しかったです。
1年〜1年半
アプリ大臣になる。
Nativeアプリをリリースするために、回帰テストを実施しています。
もともとはエンジニア数名で実施していたのですが、アプリの機能が増えてくるともちろん回帰テストのボリュームも増えるため、エンジニアのリソース確保が難しくなっていました。
そこで一度、エンジニア以外のメンバーでチームを組んで実施してみようということになりました。社内の非エンジニア(ビジネスメンバー)複数人でチームを組んだり、社外のテスター会社に外注したりしました。
社内エンジニア以外の人間がテストを行える環境を作るために、以下のようなことを行いました。
テストフローの見直し
回帰テスト項目の整備
テストアカウント作成
この頃から社内メンバーからアプリ大臣と呼んでもらえるようになり、初めて自分についたラベルだったので嬉しかったです。
TDD好きになる。
単体テストを書くのが好きということに気付いて、そこで知ったのがTDDでした。
最初に要件をテストケースとして洗い出すことで、考慮漏れを防ぎつつ、単体テストを仕様のドキュメントとしても兼務させることで、開発後の調査やメンテナンスコストを下げることができるところが好きで、できるかぎり単体テストは分厚く書くようにしています。
単体テストを書く上で大切にしていることを記事にしてみたので、よければこちらもご覧ください。
1年半〜2年
インフラ開発のおもしろさ発掘。
この頃はフロントエンドの開発もバックエンドの開発もある程度はなれていて、全く触ったことがない領域が残すはインフラだけという状態でした。
そんなときにアサインしてもらったのが、「本番環境のデータをマスクしてステージング環境に自動同期する仕組みを作る」というものでした。
3部作の長編なのですが、よかったら見てください。
AWSのサービスは各プロジェクトでちょくちょくコンソール上から触ったことがあるくらいで、CDKやSDKはもちろん触ったことがありませんでした。
開発を始めて、エンジニアなりたてくらい分からないことが多くて、久しぶりに巨大な壁を感じました。
CDKでの構築や、SDKの開発にだんだん慣れてくると、開発速度が上がって夢中でコードを書いていました。
新規のリポジトリだったので、勉強したいと思っていたDDDを取り入れさせてもらって(あまり綺麗にできなかったけど・・・)、より楽しく開発ができました。
メンターになる。
新卒メンバーと、中途メンバー2人のメンターを担当させてもらっています。
昔からマネジメントに興味がある旨をチームリーダーに伝えていたところ、まずはということでメンターを任せてもらいました。
ひとに教えることで、自分が一番成長できることを実感しつつ、自分の能力を上げてできることには限界があることに気付いてからは、どうすればチーム全体の開発力を上げることができるか、という思考回路になりました。
プロダクトディレクターデビュー?
エアークローゼットではサービスの性質上、お客様サポート、スタイリング、配送/返却、マーケティングなどのグループに分かれていて、各グループごとに "DLE"(ドメインリードエンジニア) と呼ばれるディレクターのようなポジションが用意されています。
DLEは各ドメインを担当し、ビジネスサイドから起票されるプロジェクトの壁打ち相手となり、要件を決めていく役割を担っています。
ビジネス側の考慮漏れを防いで、コスパ/タイパのいい設計を考えて決定していきます。
そんな中で僕は airCloset Fitting というサービスのDLEを担当しています。
airCloset FittingのDLEは他のグループとは少し違って、1つのプロダクト全体が担当範囲なので、サービス全体の設計を担わせてもらっています。
担当させてもらってから、ビジネスサイドのメンバーとディスカッションして、要件を決定していく工程が好きということに気付きました。
将来的にも設計に関わる業務は行いたいと思っています。
2年〜現在
上場する。
エアークローゼットは2022年7月に上場しました。
未経験エンジニアとして入社して、会社が上場する瞬間に立ち会えたのは、感慨深いものがありました。
なにかが特別変わったわけではないですが、チームとしてもよりクオリティを意識するようになったと思います。
これまでで一番怖い開発、月額価格の改定。
サブスクリプションサービスの airCloset の月額価格の改定というプロジェクトに開発者としてアサインしてもらいました。
お金が絡むとインシデントの怖さは激増しますが、今回は価格改定前のお客様は既存の価格のまま、価格改定後のお客様は新価格での登録が可能になるという要件でした。
またリリース日が確定していたため、スピードとクオリティが過去最も求められるプロジェクトでした。
強みが言語化できてきた。
自分の強みが徐々に言語化できてきました。
マルチスタックに開発ができる
ビジネスサイドと一緒に設計ができる
チームの心理的安全性を上げられる
テストでクオリティを担保できる
逆に、足りない部分、成長させたい部分も明確になってきたので、2023年も楽しみです。
最後に
2年数ヶ月を振り返ってみて、一言でいうと人に恵まれているな〜ということです。
一緒に最高のプロダクトを目指すメンバーが周りにたくさんいて、毎日楽しく働けています。
関わってくださっている方々に感謝です。
これからは、よりチームを支える側の人間として成長していきたい所存です。(記事書くのも頑張ります。)
ここまで読んでいただきありがとうございました。
もしエアークローゼットでの開発に興味を持ってくださったら、採用特設サイト "エアクロクエスト" があるので、こちらもみていただけたら嬉しいです。