30歳のおっさんがWEBエンジニアになるまでの軌跡

はじめに

bebetaroと申します。Twitterではケリィだったりしますが、あちらはリアルでのニックネームです。GitHubなんかの方ではbebetaroでやっています。ちなみに飼っていたハムスターの名前です🐹
元々ブログを書くタイプでもないのですが、色々と心機一転始めようと思いまして勉強の備忘録として活用していこうと思います。 記念すべき初投稿は、自己紹介も兼ねて今の仕事に至るまでの軌跡を書きます。

ここまでの経歴

WEBエンジニア歴もうすぐ1年、社会人7年目、30歳のおっさんです😊
新卒では某自動車会社に入社して、社内SEとして働いていました。
社内SEって色んな仕事あると思うのですが、自分が当時担当していたのは技術的な要素はほぼ皆無の事務作業メインの仕事でして、5年後、10年後に自分がエンジニアとして成長している姿が描きにくい職場でした。結果、「製造業でものづくりに関わり働くイメージ」と「事務作業に終始する現実」のギャップに仕事が辛くなり1年で退職し、その後、親戚の経営する精密板金加工企業で営業として働き始めました。

親戚の会社では、現場の近さとお客様との近さが肌に合い、とても楽しく働くことができました。好景気が追い風としてあったものの、自分の提案したお客さんからの受注により会社が成長していく様を見るのは、ゲームのようで面白かったです。海外からの受注も果たして、精密板金加工企業として日本一も見えてきたのではありますが…昨年夏に退職することとなりました。その理由について詳しい説明は省きますが、端的に表すと①自分の親戚の会社とはいえ社長には息子がいて自分は本流ではない②「出る杭は打たれる」ということです。こうして会社を辞めざるを得なくなり、2019年の夏に2度目の転職を行い、現職にたどり着きました。

WEBエンジニアになろうとしたきっかけ

プログラミング自体は文系だった学生時代にはほとんど触ることはなく、授業でRをほんの少し触った程度です。学生時代のプログラミングへのイメージはひたすら「難しそう」であり、PCを触ることは好きだったものの、自分は一生ユーザー側でいいやと思っていました。
転機が訪れたのは2014年、新卒の自動車会社で社内SEの研修でJavaを習ったことによりプログラミングの面白さに目覚めました。
適切なコードを打つことでコンピュータを思い通りに動かせる万能感、そして課題に対してアルゴリズムで取り組むパズル感が面白く、あまり仕事で良い思い出のない自動車企業時代の中で唯一輝いていた時かと思います。ただ、その後実務でプログラミングを行うことはなく、また転職後は営業職だったこともあり、プログラミングについては趣味で応用情報技術者の資格を取ったり時々気が向いた時にPythonを用いてPaizaのスキルチェック問題に取り組んだりする程度になりました。
そんな中、2017年前職で海外展開を行っている時に海外の発注者とお話すると、「海外から発注しても実際に作っているかどうか海の向こう遥か彼方では見えなくて心配」というニーズがあることに気づきました。当時自分は営業ですので「このニーズを埋められれば海外からの受注に繋がるかもしれない」と考え、「製造の見える化サービスが必要だ!」という結論に至りました。とはいえ、小さな町工場のまだ成功するかもわからないプロジェクトです。外注して立派なシステムを構築する予算などありません。そこで誰でもない自分が開発を始めることにしました。前述の通りプログラミングには良いイメージがあったため、未知の世界とはいえ挑戦することにわくわくしていたことを未だに覚えています。そして、この開発がエンジニアとして転職するきっかけになるとは、当時の自分は想像もしていませんでした。

WEBエンジニアになるまでにやったこと

開発を始めるとはいえ、Javaは研修程度、Pythonはお遊び程度の当時の自分はHTMLの書き方すら知りませんでした。また、田舎の町工場に同様にITに明るい人などいるはずもなく…結果としてインターネットで勉強を始めることにしました。勉強を始めた2017年夏当時自分が活用していたのは、以下のMOOCサービスです。

edx

アメリカのNPO団体によるMOOCサービス。自分的にはCourseraとツートップと考えています。(なおCourseraはあまりfitせず使っていませんでした)自分は2014年に登録したのですが、その頃から良質な授業が多く大変勉強になってきました。昔はモバイルアプリが全然使い物にならなく、PCで受講せざるを得なかったのですが、今はアプリでも全然受講できる環境なので大変便利になっています。以下に実際に受講したコースを書きます。

Udemy

edxはNPOですが、Udemyは営利企業です。授業も一部無料なものもありますが、ほとんど有料です。ただ、その代わり現役エンジニアから実務的なレクチャーを受けられるため有用性は非常に高いです。個人的には、edxで基礎を学んで次のステップをどうしたら良いか悩んでいた時にudemyに出会いました。普段はudemyの授業は結構高く、数万円ぐらいします。ただ、udemyはしょっちゅうセールをするので、その時に買えば1000円前後で収まります。
自分は、WEB開発でフロントエンドもバックエンドもjavascriptで開発したいと思っており、特にフロント側はReactを用いたいと考えていました。そこで出会ったのがStephen Griderです。マジで分かりやすく、ReactとNode.jsを教えてくれるので基礎を抑えたばかりの自分でもアプリを作り上げることができました。彼無しでは今のエンジニアとしての自分はなく、勝手に心のなかで師匠と呼んでいます。以下の3つのコースを受けたのですが、これをクリアすれば未経験でもWEB企業へ就職する素養は身につくと思っています。

以上の授業を経て、プログラミングの基礎を身に着けました。 この間には

  • 言語をどうするか問題(学習コストが低く抑えるためサーバーサイドもフロントエンドと同じ文法で書けるNode.js)
  • ライブラリどうするか問題(Vueは知らなかったので、AngularかReactで悩んでいた。JSXで簡単に書ける点が心地良かったのと将来的なReactNativeによるモバイル化を見据えるとReactのほうが良さそうと、Reactを採用した)
  • 訳分からないエラー解決しない問題(StackOverflowやQiita眺めて必死に解決しようとしていた。時には気持ちが萎えて1週間以上放置することもあった😅)

に取り組みながら、何とかかんとか当初思い描いていたシステムについてプロトタイプのモックに近いものを1年半かけて完成させることができました!(その間に営業の仕事や結婚など色々あったので、時間がある時や気が向いた時に進めるという形で行っていました) プログラミングを始めた当初は、「サービスを作りたい」という純粋な創作的欲求と「技術を身に着けたい」という知的好奇心に基づくものでした。しかし、時に小休止を挟みつつもプログラミングを1年半続けていく中で、自分の中に「このままライフワークとしてプログラミングをずっと続けていきたい」という気持ちが芽生えてきました。

転職活動のはじまりと結果

2019年の頭頃、前述の通り前職にはいられなくなったため、転職活動を行うこととなりました。ただ、当初はエンジニアとして就職することは全く考えておらず、営業職や事業開発職あたりで転職活動を行なっていました。結果的に営業職で数社から内定をいただきましたが、「どうもしっくりこない…本当にこのまま転職して良いのか?」という疑問が常にあり、承諾することができませんでした。
そんなある時、ふと転職活動を振り返っていると自分の仕事選びの軸に「海外との関わり」や「家族を支える収入」と同様に「余暇にプログラミングの時間を確保できること」があることに気づきました。その瞬間、「プログラミングする時間を確保できる企業を探しているのであれば、それはもうプログラミングを仕事にするほうが良いのでは?🤔」という考えが頭の中を駆け巡り、次の瞬間にはスマホでエンジニア系の転職エージェントと転職サイトに登録していました。具体的には、レバテックキャリア、Goodfind、Green、あとたまたま見つけたNewsPicksスカウトあたりを利用しました。

Greenは良い企業との出会いがあったのですが、コンタクトを取れたのが他社へ内定承諾後だったため結局辞退となりました。
Goodfind、レバテック、NewsPicksにはそれぞれエンジニアの実務経験は無いけれども挑戦してみたいという意向でCVを送りました。いくつかの企業は経験不足や志向とミスマッチにより書類段階で落とされましたが、意外にも応募した企業の半分以上は面接に進められました。また、収入面も未経験ではぶっちゃけ300万円くらいですよとエージェントから聞いていたのですが、こちらもしっかりと貰えそうでした。結果的にそれぞれのエージェントから1社ずつ内定をいただき、その中でもサービスの指向性が自分にマッチし、収入面や働き方が一番良さそうな現職で働くことを決めました。

WEBエンジニアになってから

仕事としてプログラミングを行うようになってからもうすぐ1年ですが、まだまだ足りない知識・経験が多く、はっきり言って弱いなあと思っています…😅 チーム開発や各種ライブラリの使い方、パフォーマンスを意識した書き方、仕様変更に耐えられる書き方、そもそも仕様面に曖昧さを残さない仕事の進め方などなど挙げていけば枚挙に暇がありません。ただ、コードを書くことにはそれを上回る面白さがあると思っています。自分が工夫して書いたコードが上手く動いた時は勿論ですが、解決策がわからず試行錯誤している中にも難易度の高いゲームに挑んでいるような面白さがあります。この面白さはなかなか今までの仕事では得られませんでしたので、転職して良かったなと強く感じる瞬間です😍 まだまだ新米で初心者マーク🔰のWEBエンジニアですが、これからもより一層の精進に励んで成長していきたい。そしてゆくゆくは世界に挑戦したい。その目標を胸にこれからも頑張っていきます😤