見出し画像

エンジニアとして生きていく

「あー、やりたいこと決まってないなァ。」

大学3年の春、僕は年末に控えた就活解禁を想像して頭を抱えた。
大学生あるあるのソレに対して、悩んで、考えて、導き出した答えは"休学"だった。
幸い、僕は国公立大学に通っていたから休学にかかる費用はゼロだった(私立だと授業料の半額を支払ったりするらしい)し、外国語学部英米学科という学部の影響もあって周りの人達も留学のために休学しまくっていた。
そんな環境に後押しされて休学することを決めたものの、休学期間を無駄にする訳にもいかない。
そこで、僕は世界一周をすることにした。
貯金もそれなりにあったし、大義名分としては充分だったし、何より旅が好きだったし、「世界一周したら何かしたいことが見つかるかもしれない」と思ったのだ。(単純である)

世界を視て周って、帰国した僕はあることに気が付いた。

「ほぉ、やりたいことが見つかってない。」
「でも、自分という人間の解像度は確実に上がった。」

ひとりで世界を周っていると、自分と向き合う時間はアホみたいにある。
今までの価値観なんて簡単に覆してくる現実を目の前にして、自分はどんなことを思い、考えて、どんな行動を取るのかを嫌でも知ることになった。
それに加えて、今までの自分がどんな時にどんなことを考え、どんな行動を取っていたのかを見つめ直すこともできた。

・同じことの継続よりも新しいことへの挑戦が好き
・ネットの世界というものに興味がある
・年齢や地位ではなく、その人の価値観や人間性を重視する
・田舎で得られないものが都会にはあるし、そこに身を置いてみたい

大まかにこの4つを大きな軸として、僕は「都会のIT系ベンチャー企業で、企業理念や社風を大事にしている会社」を探した。
結果、縁あって東京のITベンチャー企業に入社することになったけれど、僕は"開発部門のエンジニア"として採用された。
僕は文系人間だったし、もちろん開発する側になるなんて発想は1mmもなかった。仮にIT企業に入ったとしても、企画職やディレクター職として働くものだと思っていた。

「確かにバックグラウンドを考えたら企画/ディレクター職の方が向いているかもしれないけれど、企画/ディレクションをしていく上で、そもそもプログラミングやコーディングを理解していた方がスムーズに進められる部分は必ずある。エンジニアとして働いていくのかは後々決めるとして、一旦、エンジニアとして働いてみたら?」

採用担当のその提案に僕は納得してしまったし、"おもしろそう"だと思ってしまった。「レポート作成でWordを利用する程度の僕がプログラミングなんて出来るのか?」という不安もあったけれど、それ以上にワクワクしている自分がいた。

iOSエンジニア期

「うちは入社後に研修期間を設けているから、未経験者でもちゃんとフォローアップする体制が出来てるよ。」

嘘じゃん。と思った。
入社後、プログラミングの基礎的な研修は1ヶ月も経たないうちに終わった。

「研修期間の成果物としてサービスを製作してもらいます。自分でサービスを企画して、設計して、実装してください。期間は1.5ヶ月、優秀なサービスは自社サービスとしてリリースします。」

なんて夢のある無茶振りだろうか。
そう、「なにそれ、無茶振りもいいとこじゃん」と思った。そう思いながらも「未経験者が企画/設計/実装したサービスがリリースされるとかめちゃくちゃおもしろいじゃん」と思ってしまった。(ほんと幸せな思考回路してる)

おかげさまで東京に来て最初のGWはプログラミングに時間を費やすことになったけれど、でも、プログラミングは楽しかった。
今まではサービスを享受するだけだった自分が、今度は提供する側の人間になれる。今まで使っていたサービスと同じものを自分で創ることが出来る。
ハマらないわけがなかった。なんなら「企画/ディレクター職とか、もう、どうでもいいや」と思った。

結局、僕は成果物として"NecollectioN"というiOSアプリを製作した。

・GPSを取得し、特定の地点に訪れたタイミングでネコを出現させる
・ネコにはレベルが設定されていて、自分のレベルが上回っていればゲット出来る
・ネコをゲットすると自分のレベルが上がる

ポケモンG○とほとんど変わらないこのアプリを僕が創ったのは2015年。我ながら素晴らしいほどの先見の明だと思う。
でも、僕のアプリはリリースされなかった。原因はわかっている。裏側の設計があまりにもお粗末だった。
当時の僕は「API?なにそれ美味しいの?」って感じだったし、「データベース?SQL?日本語喋ってもらえます?」みたいな状態だったから、ネコのデータや位置情報データは全てUserDefaultsで管理するという暴挙に出ていた。いまとなっては恥ずかしくなるほどの無知である。
だけど、当時の僕にとってはそれでも充分で、自分の手でアプリを創り上げたという事実だけで満足だった。

そんな研修期間を終えた僕は、先輩と一緒に実案件をこなしていくことになる。よくある受託開発会社と同じく、自社サービスではなく他社製品の開発がメインだったけど、自分が知っている企業のサービスを製作できるのはそれなりにやりがいがあった。

けど、思ってる以上に上手くいかないのが人生。
入社して半年が経った頃、僕は外部常駐として他社に出社するようになっていた。受託開発の会社だったけれど、主な売り上げはSESによるもので、その対象は社内の人間も例外ではなかったのである。
これが僕には相当こたえた。外部常駐だなんて、なんのために就活をして入社したのかわからない。しかも、社内での業務に比べて圧倒的に評価がされにくい。会社の理念に共感して、そんな会社で働きたくて入社したはずなのに、その会社で働くことができない現実。そんな現実を目の前にしていると、帰属意識なんてものは嫌でも薄れていった。
「この会社にいる意味はあるんだろうか?」と考え始めるのに時間はかからなかったけれど、自分が未経験で入社した身で、スキルセットもままならないという事実も理解していたから、"辞める"という決断は出来なかった。
常駐先も固定ではなくて、プロジェクトが落ち着く度に転々としていた。
メリットがあったとすれば、いろんな案件に携わることが出来たことだろうか。いろんなプロジェクトを経験するなかで、悲惨な開発環境も過酷な労働環境も経験できた。どんな環境だろうと、自分のスキルセットを少しでも向上させるために我武者羅に働いた。ただただ、働き続けた。

気付けば、2年が経っていた。その頃にはObjective-CだけではなくSwiftを使えるようになっていたし、AndroidJavaも使えるようになっていた。わからないことがあっても自力で解決できるようになっていたし、経験を基にした自信もついていた。
その自信が決め手となって、入社から2年半が経ったころ、僕は辞表を提出した。

空白の6ヶ月

会社を辞めたものの、次の就職先が決まっているわけでもなかった。かと言って、探す気にもなれなかった。
だから、"第二次モラトリアム期"と割り切って(第一次モラトリアム期は大学時代)、思いっきり休んでみることにした。「久しぶりに旅をしよう」と日本各地を周ったり、都内のコーヒースタンドを廻って読書をしたり、自由を謳歌した生活。そんな生活をしていると時間はあっという間に過ぎていて、気付けば6ヶ月が経とうとしていた。その頃には自由気まま、悠々自適な生活にも飽きてきて、僕は「働きたい」と思い始めていた。

「あ、お金がない」

東京で仕事をするでもなく6ヶ月を過ごそうものなら、貯金なんてものは儚く消え去っていく。ちょうどお金も無くなってきたタイミングで、僕は再び働くことを意識し始めた。

・受託ではなく、自社サービスのある会社
・自分が好きな"旅"、"音楽"、"本"に関係のある会社
・働き方が自由な会社
・開発環境が整っていなくて、成長する機会がありそうな会社

前職のデメリットを反映して、この4つを軸にして転職先を探すことにした。
「どれかひとつを満たしてくれたらそれで充分」と思っていたのに、その全てを満たす会社が存在した。けれど、その会社は主にWebサービスを展開する会社で、アプリのサービス展開はしていなかったし、エンジニアを採用しているのかも不明。企業サイトにエンジニア募集の記事はあるものの、投稿されたのは1年前だった。「駄目で元々、とりあえず連絡してみよう」と思った僕は問い合わせフォームを送信した。
すると、想定外なことに「募集している」との返信がきた。さらには「一度会って話をさせて欲しい」とのことで、面談の日程も決まった。

いざ面談に臨んで話を聞いてみると、「現状社内にエンジニアはいない状態で、基本的に外注でまかなっており、ちょうど社員として働いてくれる人を探していた。」とのことだった。採用フローを進むなかで、自分のスキルセットがアプリ開発特化なこと、Web開発に関しては勉強しながら進めていくことになる旨も伝えた。その上で、「ぜひ一緒に働きたい」との言葉をもらった。
あまりにも上手く行き過ぎている気もするけれど、晴れて、僕はその会社に入社することになった。

Webエンジニア期

面食らった。
XCodeやAndroidStudioという統合開発環境が、いかに初心者に優しいのかを実感した。

入社してすぐ、僕は環境構築の時点で躓いていた。
他のメンバーがどう思っていたのかは知らないけれど、僕自身が「中途採用で入社してこのレベル感は余りにもひどい」と思ったし、挽回するために入社1週間目から15時間労働の日々を過ごした。常時外注のエンジニアがいたけれど、初歩的な部分で詰まっているというのは自分でもわかっていたから、恥ずかしくて質問も出来なかった。(かわいそうに)

そんなタイミングで、ただでさえ余裕のない僕をさらに追い込むかのように、社内ではサーバー移行の話が持ち上がっていた。当時さくらのレンサバで管理していたサイト群を全てAWSへ移行するというものだ。

なんて素晴らしい無茶振りだろうか。
けれど、この経験が糧になるのもわかったし、AWS環境でのサーバー構築が後々活きてくるのは理解できた。その上、どこかワクワクしている自分がいた。(ほんと幸せな思考回路してる)

ただただひたすらに、我武者羅に働き続けて、入社1ヶ月後にはサーバー移行を進めつつ、フロントのバグ修正もこなすようになっていた。HTMLやCSS、PHPだって初めてだったけど、環境構築に比べたら簡単に感じられた。(ちなみに、複数ある自社サイトのうちの1つはCakePHPを使用していたのだけれど、僕はPHPよりもCakePHPの方が理解が早かった。アプリ開発でMVCフレームワークを経験していたことが役に立ったタイミングである。)
入社してから何をするにしても初めての経験が多く、「アプリ開発とWeb開発はこんなにも違うものなのか?」と思いながら働き続け、入社から3ヶ月が経つ頃には新規のLPを制作をすることになっていた。

環境構築、バックエンド開発、新しい言語でのフロントエンド開発ときて、次はデザインデータとの戦いだった。(正しくはCSSとの戦いだったのかもしれないけれど。)
新規のサイト制作はバグ修正とは話が違う。既存のものは大枠が作られているから、どこをどう修正すればいいのかが想像しやすかった。けれど、新規のサイト制作はその大枠を自分で作らなければいけない。
そもそもアプリ開発の時にはデザインデータがAdobeファイルで上がってくることが少なかったし、なんならエクセルファイルに画像貼り合わせで上がってくることすらあった。それはきっと、フロントよりも裏側のデータ処理の実装に重きを置かれることが多いからなんだと思うけれど、とにかく僕は"ちゃんとした"デザインデータと向き合うのが初めてだった。
わからないなりにデザインデータ通りにコードを組んでみたけれど、ウィンドウサイズを変更したタイミングでレイアウトはあっさり崩れた。必死に調べてみた結果、メディアクエリを使用することでウィンドウサイズごとにレイアウトを調整する方法があることはわかった。

「ねぇ、待って。デザインデータはPCとSPの2種類しかなくない????????」

慣れてきたら「2種類しかデザインがなかろうと、ある程度の想定と相対値の設定で対応できる」ということがわかってくるけれど、当時の僕はパニックである。そんな僕のためにスケジュールは待ってくれない。リリース日は近づいてくる。リリースの直前まで修正を重ねて、なんとか初めてのLPをリリースしたものの、僕は悔しさでいっぱいだった。

LPのサイト制作が終わったらそのままWordpressサイトの制作に入った。
このサイトがまたハードモードで、コンテストサイトゆえに"投票できる"ことがマスト要件だった。

人生は無茶振りの連続なのだろうか。
入社して3ヶ月の僕が投票サイトを作るだなんて、想定していなかった未来である。でも、「何それおもしろそう!!!」と思える自分がいることにびっくりしたし、感謝すらした。(ほんと幸せな思考回路してる)

投票サイトも無事にリリースできて、その後もたくさんのサイトを制作することになったけれど、いつまで経ってもCSSと仲良くなることはできなかった。jQueryもajaxも、他サービスのAPI利用も、全然苦じゃなかった。むしろ楽しかった。やったことがないことでも頑張って実現させた。
でも、それでも、CSSだけはいつも僕を悩ませた。だから、少しだけ、距離を置いていた。

そんな僕が、CSSと嫌でも向き合うタイミングがやってくる。自社メディアサイトのフルリニューアルである。
このプロジェクトはブランドリニューアルの文脈も含んでいたから、デザインも実績のあるデザイナーに外注して進めていた。デザインと、向き合わないわけにはいかなかった。
今までのサイト制作で手を抜いていたわけでもない。けれど、どこかデザインの完全再現を諦めている自分がいた。そんな自分に飽き飽きしていた。だから、今まで以上にひたむきにサイト制作と向き合った。
気付けば、必然的にデザイナーとのコミュニケーションも増えていた。それに比例して、デザイナーが要素ひとつひとつに込めた思いを知ることができた。その思いを無下にしたくないと思った。デザイナーの意思を忠実に再現したいと思った。ちゃんと、ユーザーに届けたいと思った。

結果として、このフルリニューアルが僕にとっては転機になった。今までよりも、CSSと、デザインの完全再現と、向き合うことができるようになったのである。
その一方で、思ってた以上にデータ処理が好きだということにも気付けた。APIに興味が湧いたし、ヘッドレスCMSやSPAを利用したサイト制作をしてみたいと思うようになった。それはrailsやjsフレームワークに興味を持ち始めたということでもあった。

フルリニューアルを終えて、次はメディアサイトを会員サイト化するプロジェクトがスタートした。APIに興味が湧いたと言っておきながら、データベースの設計はめちゃくちゃに苦手だった。それでも、四の五の言ってられない。僕は我武者羅になって設計/実装を進めた。
フルリニューアルで自信がついたからか、苦手なことと向き合っている反動からか、この時期から個人でもサイト制作の仕事を受けるようになっていった。

実装開始から半年が経とうとした頃、僕は会員サイト化の対応を完了させた。開発途中、「外部の知見のあるエンジニアに依頼する?」と何度も聞かれた。きっと優しさからの言葉なのだろう。それはわかっている。わかっているけど、僕はその提案を頑なに拒んだ。エゴなんだろうな、ということも理解していた。でも、拒まずにはいられなかった。
もっと信頼して欲しかった。任せて欲しかった。この会社に入社してから、未経験のことだろうと実現させてきた僕のことを、認めて欲しかった。
僕はそんなエゴを隠すために、「外部に依頼してしまうと社内に知見がたまらない」とか、それらしい言い訳を並べた。事実、本心から思っていることではあったのだけど。
僕が入社するまでは外注メインでサービス運営していた会社だもの、困ったら外部に頼るということには抵抗はないんだろう。実際、そのほうがスムーズに進むことの方が多いのもわかる。だけど、お金が潤沢にある会社でもないし、いまは僕が社内にいる。外部のエンジニアに比べたら時間はかかるかもしれない。けれど、必ず実現させる。僕が頑張れば社内リソースで実現できて、且つ会社の資産としてノウハウが溜まっていく。その方が理想なんじゃないの?と思っていた。

外注の打診を受けるたびに僕が頑張る前提で話を進める一方、この会社で僕だけが頑張っているという感覚も芽生え始めていた。僕が入社した頃、この会社には定時や定休という概念が無かった。仕事を好きな人ばかりで、土日に出社したって誰かが出社していた。世の中には「月曜日が嫌い」という人が多いなか、そういう環境で働けているのは心地がよかった。そんな環境だったからこそ、夜遅くまで働くことにも土日返上で働くことにも抵抗がなかったし、この会社の理念を達成するためにはそれくらいのことは喜んで出来た。みんなも理念の達成のために頑張っているという実感があったし、一体感みたいなものを感じていた。残業代が無かろうと、給与が低かろうと、同じ条件で同じ目標に向かって頑張れる仲間がいるだけで充分だった。
けれど、いつまで経ってもそんな環境が続くわけでもなかった。というより、最初から自分に都合のいい部分にだけ目を向けていたのかもしれない。
土日はしっかり休む、というメンバーが増えてきたり、明らかに複業の比率が大きくなってきているメンバーを目にして、僕は"頑張る"ということが出来なくなってしまった。

それと同時に、"対価"というものに関しても考える時間が増えた。
自分の提供している時間やスキルにどれくらいの価値があるのかわからなかったし、お金のために働くというのはあまり好きになれないけれど、今の対価が妥当なのか、というところに疑問が湧いてしまった。
そんな違和感を抱えながら個人で案件を受けているうちに、今まで会社に捧げていたプライベートの時間を、自分のために使うことが増えていった。会社のために働く時間を息苦しく、制約のように感じるタイミングが増えてしまった。

いろんな違和感が生まれてしまったけれど、相変わらず会社の理念には共感しているし、自分が作ってきたサービスを簡単に見放すことは出来ない僕がいた。
だから、社員としてではなく、外注エンジニアとして関わっていくという選択をすることにした。
そんな想いを会社側に伝えて、2021年1月をもって、僕は社員ではなくなった。

フリーランス期

会社を辞めた僕は、フリーランスとして働いていくことになる。
フリーランスになったとはいえ、外注エンジニアとして前職の会社との関わりは続いていくのだけれど。

思い返せば、たくさんのことを経験してきた。
iOSアプリ開発に始まり、Androidアプリ開発を経験し、Web開発に関してはフロントからバックエンドまで経験した。
全てが楽しかったし、どんどんエンジニアという職業を好きになった。
けれど、その全ては会社から求められていることがベースになっていたような気もする。
フリーランスになったからこそ、これからは自分が興味のある仕事をたくさんこなしていきたいと思う。
今までは静的なLPサイト制作だったりWordpressサイトの制作がメインだったけれど、Shopifyを利用してECサイトも創ってみたいし、ヘッドレスCMSを利用したSPAサイトも創ってみたいし、久しぶりにiOSアプリも創りたいし、クロスプラットフォーム開発もしてみたい。やってみたいことはたくさんある。

今となっては企画/ディレクター職として働きたいとも思わなくなった。
かといって、自分がどんなエンジニアになりたいのかはわからない。
でも、気付けば新しい技術が生まれているこの業界で、現状のスキルセットで満足するようなエンジニアにだけはなりたくない。


--------------

フリーランスという新しい環境に身を置くこのタイミングで、退職エントリのような、エンジニアとしての経歴紹介のような文章を書いてみた。(スキルセットの紹介が出来て無さすぎるけど)
こうやって振り返ってみても、やっぱりエンジニアという職種を選んで正解だったということは間違いなく言えるし、そう思い続けられるようにこれからも頑張っていく所存。

もし興味を持ってくださった方がいたり、ちょうどやりたそうな案件あるよって方がいたら、ぜひ連絡ください。
一緒にお仕事させてください。

E-mail: takumi10mat20@gmail.com
Notion: Portfolio
Twitter: @takumi_mat_
Instagram: @one_t_bctm_t
note: im uk at.
Facebook: takumi.matsuyama.7

サポートだなんて...そんな... あー、ハーゲンダッツ食べたいなァー!!!!!