とあるWebエンジニアの歴史(2002〜2021)
はいどうもー。クドウマサヤです。
これはiCARE Dev Advent Calendarの第2レーン12日目の記事です。
株式会社iCAREで業務委託のパートナーとしてお手伝いさせてもらい、1年ちょっと経ちますが、絶賛採用中ということで毎月多くのエンジニアが入社されています。
入社エントリを拝見すると、他職種からジョブチェンジされている方も多く、自分がエンジニアになった頃と比べて、出自にも随分多様性が出てきて面白いなぁなんて思わされる日々です。
自分は技術系の専門学校に通いながら、アルバイトとしてエンジニアのキャリアを歩み始めました。そこから数々の現場を経験させていただき、ちょうど今月で丸12年になります。干支が一周してしまう間ずっとエンジニアでいるなんて、当時は思いもしませんでした。
今でも楽しくエンジニアを続けていられる理由の一つとして、常に新しい刺激(学び)があるからだと思っています。
PCに触れだした頃から辿るともう約20年。改めて自己紹介がてら、自分がどんな技術に触れ、どう育ってきたのか、じっくり振り返ってみたいと思います。
中学生期(2002〜2005)
父が大手飲食チェーンでシステム管理の仕事をしていて、自作PCとか作るのも好きだったので、自分も自然と影響を受けてパソコンネイティブに育ちました。
自分用のPCも与えてもらってて、学校から帰ってきたらネットサーフィンしたり同級生とオンラインゲームやったりという日常。当時はFLASH黄金時代で毎日のように新作漁ってましたね。
転機となったのは中学2年生の春。母が突如ホームページビルダーというWeb制作ソフトの入門書を買ってきて、それを参考に見様見真似でサイト制作。OCNでレンタルサーバーを借り、2003/5/5に、「masayaの部屋」という自分のホームページを立ち上げたのでした。(黒歴史感あるサイト名で未だに思い出す度悶える。。)
卓球部に入っていたこともあり、その後「卓球愛好会」というサイトにピボット。用具のレビューを掲示板で集めて掲載するなんてことやってましたね。このサイトに置いてたCGIチャットが、卓球部の同級生の溜まり場になってました。懐かし。
まぁそんなこともあり自然とプログラミングに興味を持ち始めたので、地元茨城の工業高校に進学したのでした。
高校生期(2005〜2008)
水戸工業高校の情報技術科に入学。ここで初めてプログラミングの基礎的な知識を学びました。
C言語で様々な課題解いたり、Z80のアセンブラでマイコン制御したり、ソフトウェアもハードウェアも学べて楽しかったですね。Linuxに触れたのもこの頃が初。
受けることがマストだった基本情報技術者試験、そこそこ頑張って勉強したけど落ちたのも今となっては良き思い出です(?)
専門学生期(2008〜2010)
携帯電話や家電製品の制御学べたらおもしろそうだなー的なモチベーションで、日本電子専門学校の組込みシステム科に入学。JavaでAndroidアプリ作る授業があったんですが、エミュレーター激重で開発しんど!となってたのが印象深い思い出。
この頃は音楽にハマっていて(年間100本以上ライブ観に行ってた)、自分がよく観に行く若手インディーズバンドの歌詞検索サイトあったらいいなと思い、参考書でPHPとMySQLを学んでなんとか作り上げました。Webサービスを作ったのはこれが初めての経験ですね。
ライブ行くためにバイトはセブンイレブンの夜勤をバリバリやっていたんですが、せっかくなら開発やってみたくなり、2年生の冬頃から、受託開発をやっているベンチャー企業でアルバイトさせてもらうことに。当時はサンシャイン牧場が大ブームになっていたmixiアプリの黎明期で、Flash(Action Script3)でのゲーム開発案件のデバッグや軽微な修正をやらせてもらってました。
ちなみにプログラミングは好きだったんですが、開発業界に対して3K(きつい・帰れない・給料が安い)というイメージが結構あって、実はエンジニアとして就職する気は全然ありませんでした。あと就活の仕組みが面倒に感じたので就活もせず。
そんなわけで音楽好きだしライブハウスで働きながらフリーター生活かなあなんてフワフワ考えてたんですが、バイト先のベンチャー企業の社長から「どこも決まってないならうちで働く?」と誘っていただき思わぬ形で就職先が決定。
会社員期(2010〜2013)
入社させてもらったベンチャー企業は、自分が社長に次ぐ2人目のエンジニアでした。あとディレクターとデザイナーがいて、全体でも4人という小さな組織でした。自分が入社した頃は、ガラケー向けのソーシャルゲーム受託開発が主な仕事となっていました。
会社自体は和気あいあいしてたんですが、入社時に会社の売上の大部分を占めていた発注元の企業がなかなかブラックで。無茶苦茶な納期設定や仕様変更を突きつけてくるので、日々闘いでしたね。開発における意思決定のプロセスで、ちゃんと証跡残して責任の所在を明確にすることの重要性を学べたのは良い経験。
言語はPerlで作ってたんですが、自分も学び始めたばかりで最初はどこがわからないのかすらわからない状態。社長のコードを必死に読み解き、寝ても覚めても開発のことを考える日々がしばらく続きました。納期やばすぎて、入社1ヶ月目にして1週間家に帰れずなんてのも、今となってはパンチがあるエピソードだなぁと(笑)
幸いそのブラック企業とは取引をやめることになり、2年目くらいからは結構ノビノビと働かせてもらってました。自分が企画したソーシャルゲームを1本リリースさせてもらったのは良い思い出。(サービスとしては軌道に乗せられなかったので悔しさもありますが…)
入社から約3年を迎える頃、残念ながら受注予定だった大規模案件がなくなり、キャッシュフローの見通しの困難さから社員全員解雇という流れで突然辞めることに。
自分がここまでエンジニアを続けられている、スキルや考え方の土台を築けたのがこの会社にいたことが大きいです。最初はエンジニアとして全く戦力になれていなかった自分を鍛えてくれた社長には、とても感謝しています。
第1次フリーランス期(2013〜2014)
退職後は上述の某ブラック企業からのオファーがあり、そこで3ヶ月ほど契約社員を務めたんですが、やっぱりハード過ぎて無理だと離職を決意。ちなみにこの時はPCブラウザ向けのソーシャルゲームをPHPとJavaScriptでゴリゴリ作ってました。DMMでリリースする18禁ゲームのIPタイトルだったため、友人からはしばらくエロゲーを作ってる人と認識されていた懐かしい記憶。
そこからフリーランスとなり、友人・知人の紹介でいくつかお仕事をもらいました。1番思い出に残っているのはスマホ向けのゲーム開発ですね。バックエンドエンジニアとして入ったんですが、いつしかUnityでC#をゴリゴリ書いてました。その時点での出来る・出来ないを問わず、自分が興味のある技術分野で、人足りてなさそうなところに手挙げて突っ込んできた、というのは自分のキャリアのひとつの特徴な気がします。
友人がシード期のスタートアップのCTOになり、こういう起業の世界もあるんだなぁと知ったのもこの頃。
スタートアップ飛び込み期(2014〜2017)
ライブハウスで出会った方に、エンジニアをやっているという話をしたら作りたいプロダクトがあると相談され、ディスカッションを重ねていくうちに盛り上がり、資金調達も成功。エニーカラーというスタートアップの一人目のエンジニアとして入社することに。
当時はPairsを始めとするマッチングアプリの黎明期で(Tinderが上陸したての頃)、恋人だけじゃなくて友達増やしやすい世の中作れたら良いよね的な感じで「hi!」というマッチングアプリを作りました。
自分はバックエンド全般(APIやインフラ)を担当。Node.jsやAWSの運用を覚えたのはこの頃ですね。どうしたらより良いマッチングが生まれるか、レコメンドのロジック考えるのが面白かった。しかしマネタイズ面で苦しみ、ピボットすることに。。。
友達づくりの本質は変えず、別のアプローチとして、通話で繋がるSNS「シュミトモ!」をリリース。SkyWayというWebRTCのSDKを用いて通話機能の開発を担当。結構当時としては技術的に新しいことをやっていたと思います。
しかしこちらもうまくKPIを伸ばせず調達に苦しみ、結果会社を畳むことに。一世を風靡したあのClubhouseにかなり近かったので、「時代を先取りしすぎたね…」なんて当時の代表と最近語りました(苦笑)
2016年後半くらいからは資金繰りの苦しさから自分の報酬を減らしていたので、個人で他の案件も請けていました。スマートコントラクト(Ethereum)を用いて証券取引が出来るか実証実験するプロジェクトに参加させてもらったのが面白かったすね。
CTO期(2017〜2020)
エニーカラー退職後はしばらくふらふらしてまして、ある日友人が住むシェアハウスのパーティで、物置きのシェアリングサービスを提供している、モノオクというスタートアップの代表である阿部ちゃんと出会いました。
(結局2話以降書いてないのが自分の怠惰っぷりを示している…😂)
β版が出来たばかりだけど唯一のエンジニアが辞める予定で困っている的な結構危機的状況で、当初は技術顧問的な感じで手伝うことになりました。
その後プロダクトのビジョンやコアメンバーに魅力を感じ、CTOとしてジョインさせてもらうことに。β版も様々な課題感があった為、検討の結果ReactとGoでプロダクトを作り直し。リリース前は1ヶ月オフィスに泊まり込むなんていうシリコンバレーのスタートアップドラマに出てきそうな経験も。
何をやってきたか、改めて思い返すと密度が濃すぎて書ききれないですね。初めてCTOという責務を背負って四苦八苦。とても良い経験をさせてもらえたと思います。日々何をし、悩んでいたかは78本の週報が残されているのでもし興味があったら覗いてみてもらえると。
2020年春にコロナの先行きがどうなるか不透明な中、今後の開発の方向性で折り合いがつかず、自分は身を引くことにしました。でもビジョンもメンバーも変わらず好きなので、ずっと応援したいですね。
これから大掃除や引っ越しのシーズンで物の置き場に困る!なんて方も多いと思うので、ぜひぜひ使ってみて欲しいです🙏
第2次フリーランス期(2020〜2021)
どこかにフルコミットするという働き方はやめて、しばらくまったりしようとまたフリーランスへ。
2018年にCTO Nightでお会いした石野さんにお誘いいただき、iCAREで週3日、お手伝いさせてもらい始めたのが1番刺激的だったかもしれません。これまで様々なスタートアップに関わってたとはいえ、規模感は大体シリーズAの手前くらいまで。シリーズDを迎え、100人を超えるような組織で働くというのは初めての経験で、新鮮なことが多いです。技術的な面でもVue触ったの初めてで、大規模なRailsアプリケーションに触れるのも未経験だったので学びが多いですね。
他にもデジタルコンテンツ販売のECサイトのアーキテクチャ設計をやったり、デプロイに課題感あるサービスをAmazon EKSとAWS CodePipelineでCI/DI整備したり、スマートコントラクトを本番運用する際の懸念事項の調査研究レポート書いたりなんてのもやりました。
あと行きつけだった卓球バーで、話の流れからお手伝いさせてもらうことになり、経営改善の取り組みをちょこっとだけ(コロナの影響で長期休業からの閉店してしまったのが本当に残念😭)。自分がスタートアップで学んできた経営の知識や、エンジニアリングの技術を活かせる場が沢山あると気づけたのは大きかったですね。
今後のキャリアとして何をやっていきたいかを真剣に考え、ゼロイチエンジニアリングというプロジェクトも立ち上げました。
これから
来年に関してはひとつ、新しい挑戦をすることが決まっています。おそらく年内にはお知らせ出来ると思うので、是非そちらも読んでいただけると。
自分は誰もが知る著名なプロダクトに携わっていたとか、自らの力で事業を大成功させたといったわかりやすく誇れる実績はありません。特定の技術にめちゃくちゃ詳しいというスペシャリストでもありません。
ただ、50を超えるプロダクトの様々な工程に携わらせてもらった経験と、技術の引き出しの多さに関してはちょっとだけ胸を張っても良いのかな、なんて思い始めてる今日この頃。
もうすぐ32歳。数多くの現場で学ばせてもらった自分が、この知識と経験を次世代のエンジニア達に伝え、業界に恩返しをしていく使命を感じる年頃となりました。
需要に対して、ゼロイチが出来るエンジニアは全然足りていないと思っています。これからそんなエンジニアをひとりでも多く育てて、世の中がもっと便利に、おもしろくなったら最高ですね。
このエピソードもっと深く知りたいとか、この技術について聞きたいとかあればお気軽にTwitterで連絡もらえたら喜びます🙆♂️
https://twitter.com/masaya_dev
ここまで読んでいただき心より感謝!
ではでは!
Everything's gonna be alright!