32歳でエンジニアを始めた自分が、1年も経たずに辞めた理由

伝えたいこと

32歳でエンジニアを始めてみて感じたこと、そして辞めた理由を書きたいと思います。共感できない人がほとんどだと思いますが、もし自分と似たような人がいて、その人もエンジニアを目指そうとされていれば、思いとどまらせるいい機会になればいいなと思っています。現役エンジニアで、仕事にやりがいを感じている方は読まないでください。

なぜエンジニアになったか

僕は昨年、32歳でWebエンジニア(フロント)の仕事を始めました。もともとは全く別の仕事をしていましたが、先が見えなくなり、転職することに。大学時代に授業でプログラミングを学び、興味を持ったことから、エンジニアの仕事を選びました。

最初はやる気に満ちていた

エンジニアの仕事は自分の性に合っていると思っていました。今までの仕事は正解が全く無く、何をしても間違っているような気がして辛い時期が続きました。

エンジニアの仕事はどうでしょう。例えば、「○○の数値を出したい」という目標があれば、その場合の正解は明確です。○○の数値を出すことです。これ以上にわかりやすいことがあるでしょうか。

正解が分かればあとはそれをどう導くかを考えればいいだけです。その作業はとても楽しく、僕がプログラミングにはまった一番の理由でした。

「この仕事は自分に合っている。たくさんサービスを作って、いっぱい稼ごう」

当時の僕はやる気に満ちていました。

入社してから

入社した会社はSESではなく、取ってきた案件を自社でやっていました。社長と僕、2人だけの会社です。まずはサイト構築の仕事を研修がてら行いました。HTML、CSSJavaScriptは独学したことがあるので、聞きながら進めれば大丈夫だろうと思っていました。しかしそこで、大きな壁にぶつかります。

コードを書く以外に覚えることが多すぎる

これからエンジニアの仕事を始める人に一番言いたいことがこれです。コードを書くこと以外に、わずらわしいことが多すぎるのです。

例えばソース管理。Gitと呼ばれるシステムで、書いたコードを理由とともに保存。メンバー全員が確認できるようにします。また、作業分担をするため、AルートとBルートで開発を進め、最終的にAとBを合体させる、みたいなことをします。

単純に言うとこれだけなんですが、Gitを使うための作業、覚えるべき用語、知っておくべき機能が多いんです。コードはなんとか書けるんですが、書いたあとのGitによる処理に全然ついていけませんでした。

他にも開発を計画的に進めるためのプロジェクト管理システムの使い方や、HTML・CSSをより効率的に書くための言語(PUG・SASS)にも大混乱。

特にPUG・SASSは、HTML・CSSもかろうじて知っているぐらいのレベルだったのに、「それを効率的に書ける!」と言われても、逆に混乱するだけ。でも社長はPUG・SASSを使えというので、意味もわからないまま使っていました。

ようやく慣れてはきたが…

GitにもPUGにもSASSにも慣れてきた時、次のプロジェクトが始まりました。Nuxt.jsを使ったWebサービスの開発です。Nuxt.jsというのは簡単に言えば、JavaScriptをより便利にしたVue.jsを、さらに使いやすくしたものです。

Nuxt.jsの使い方自体はそこまで苦労しなかったのですが、今度はバックエンドの知識も必要になります。PHP、データベース、Dockerなど、かろうじてフロントの各知識を習得しているレベルなのに、さらにバックエンドの知識も必要とされました。

調べても全く意味がわからない。聞いても何を言っているのかわからない。でも社長から言われている期限は迫っていく一方。おかしな操作をしたら怒られる。でも正しい操作が分からない。

周りは10年以上の経験を持つエンジニア。当たり前のようにカタカナの専門用語を使ってくる。その専門用語の説明にも、専門用語を使ってくる。

1つの操作の質問に、1時間半かけるなんて日常でした。

会社の経営が傾く

Nuxt.jsを使ったWebサービスが、納品後にバグがたくさん見つかり、顧客から怒られる事態が発生しました。それでもなんとかバグを修正しようとしたのですが、修正しても出てくるバグに顧客の怒りは増していき、受領されず、入金もされませんでした。

その時の会社のメンバーは社長と、僕を含めた従業員2名。零細企業なのでたくさんの案件を進めることができず、この案件にかけていました。

その案件からお金が入らなかった以上、会社は傾くに決まっています。倒産することはなかったのですが、僕ともうひとりの従業員は「整理解雇」として、会社都合での退職となりました。

エンジニアはもうやらない

現在転職活動中。もうエンジニアの仕事をすることはないでしょう。Nuxt.jsも使えるようになり、これを武器にすればキャリアを積んでいけると、社長に言われました。ですがこれから違う会社に入って、そこでまたわけのわからないカタカタに囲まれながら、聞いてもカタカナしか帰ってこない環境にいながら、働こうとは思いません。

エンジニア業界に想うこと

Qiitaやはてなブログのエンジニアさんの記事を見ていて思うことがあります。「きれいなコードを書く方法」「みんなから喜ばれるGitの使い方」など、業界の人しか分からない記事が多いことです。

いくらきれいなコードを書いても、Gitの使い方でみんなから喜ばれても、その結果作られたサービスを使う顧客には、全く関係のないことです。

僕はいまこうしてブログを書いていますが、はてなブログというサービスでは、どんなコードで、どのようにGitを使っているかなんて、気にしたことがありません。

おそらく、エンジニアを除いてはほとんどの方がそうではないでしょうか。システムを使う人間は、その開発過程なんてどうでもいいことです。

なのにこの業界はどうでしょう。

先述の通り、きれいなコードを書くとか、喜ばれるようGitを使うとか、一般人にとってはどうでもいいことで、一つの記事が成り立ってしまうのです。

システム開発の長い歴史の中で、効率化され、新しいサービスが生まれ、そのサービスを使うためのサービスも生まれ、さらにそのサービスを美しく使うための考え方も編み出され、外部の人を寄せ付けない、独特の世界を作り上げてしまったのです。

エンジニアを目指す方へ

自分の苦労が、世間の人たちには全く伝わらない業界です。それでも面白さを感じ、やりがいを持てるならいいでしょう。でも僕のように承認欲求の強い人はやめておいた方がいいでしょう。

オシャレなオフィスで、みんな私服で、キラキラした人たちがやっているので、エンジニア業界は華々しいように感じるかもしれませんが、システムそのものを考える立場でもない限り、とても地味な仕事です。華々しさはありません。

言語を学び続け、新しいフレームワークを扱えるようになっても、そのシステムの利用者はあなたの苦労を知りません。

僕はエンジニアの仕事を通し、自分の考えやアイデアが人に「凄いですね」と言われることが、やりがいになるんだなと感じました。エンジニアの仕事は反面教師になりました。

新人エンジニアを育てる方へ

やる気満々で入ったけどエンジニアに嫌気が差した僕から、新人エンジニアを育てることになったエンジニアさんへ、恐れながら言っておきます。

  • あなたが当然だと思っている用語のほとんどは、一般社会では通用しない言葉です。少なくとも、カタカナでしか説明できない言葉は、ひらがな・漢字にできるまで咀嚼しましょう。

  • 「15分調べても分からなければ聞け」と言ったのなら、聞いた時に分かりやすい言葉で説明できるようにしておいてください。

  • フレームワークやGitなど、効率化のためのものを先に教えるのはやめましょう。元のものが分からないと混乱するだけです。時間はかかるかもしれませんが、字固めをしてから先に進みましょう。結果的に早いです。

お忙しい中で教育していただいていますし、なかなかそこまで出来ないことは重々わかっています。「うちは中小企業だからそんな時間はない」そのお気持ちも分かります。でもそんな環境だからこそ、その人に辞められたらまずいんじゃないですか?

エンジニアの有効求人倍率は7倍です。求職者1人を、7社で争奪します。求人をかけても人が採れないのが当たり前の業界です。だったら時間をかけてでも、採用できた人を手厚く扱いましょう。

新人側の人間が言っても説得力がないかもしれませんが、切実なお願いです。

まとめ

この業界は新人にとっては入りにくい業界です。手段のための手段のための手段まで知っておかなければいけない業界です。

「調べたら分かる」と先輩は言いますが、新人には分からない言葉でしか書いていません。その言葉を調べても、知らない言葉だらけ。先輩に聞いても意味不明。

この業界の人たちは、別の星に住む人たちです。全く別の言葉を使います。

その星に順応できるかどうかをしっかり見極めるのが、エンジニアになろうとしている人にとって大事になると思います。