Fire Engine

消防士→ITエンジニア→研究者

消防士からエンジニアに転職した話

 私は2016年10月まで消防士の仕事をしていて、2016年11月からITエンジニアに転職しました。学生時代の専攻も情報系とは全く関係なく、プログラミングに初めて触れたのが2016年の1月からで、勉強を始めて約10ヶ月で転職に至りました。今回は、そんな少し変わった経歴を歩んでいる私が、なぜ消防士を辞めてエンジニアに転職したか、ゼロからプログラミングの勉強を始めて転職するまでの道のりなどを書いていきたいと思います。

目次


自己紹介

 私は化学の研究者→消防士→ITエンジニアと異色の経歴を歩んでいる20代後半の男です。
 学生時代は、大学・大学院で化学を専攻し、博士課程まで進学しました。当時は、海外の学会で英語で研究発表をしたり、海外の学術雑誌に論文を投稿したりと、非常に活発に研究をしていました。知っている人も少ないかもしれないですが、日本学術振興会の特別研究員というものに採択され、文部科学省から給料をいただきながら研究をしていました。
  そんな私は5年ほど前に大学院の博士課程を中退し、2016年10月まで消防士として働いていました。消防士になったきっかけは簡単には書けないくらいいろいろありますが、人の役に立つ仕事がしたいというのと、地方公務員になって地元に残りたいという気持ちがありました。今思えば、当時は自分のことが全然よくわかってなかったし、仕事をするってことがよくわかっていなかったと思います。
 2016年1月からプログラミングの勉強を始めました。始める前、パソコンは化学の研究でWordやExcelを使うくらいで、PHPRubyというプログラミング言語があることさえ知りませんでした。そんな私はプログラミングの勉強を始めて約10ヶ月の2016年11月からITのスタートアップ企業でエンジニアとして働き始めました。現在仕事では、Pythonを使ってECサイトのレコメンドシステムの開発等に従事しており、趣味で機械学習をやっています。

なぜ転職したのか

 私は学生時代から漠然と「人の役に立つ仕事がしたい」と強く思っていて、東日本大震災をきっかけに、自分の体を使って直接的に人を助ける仕事をしようと決意し、消防士の採用試験を受けました。運良く一発で合格することができ、消防士として働き始めました。実際に消防士になってみて、本当にやりがいのある素晴らしい仕事だと感じました。ただ、ある時ふと思いました。『あれ?俺、休みの日のために仕事してないかな?』
 消防士という仕事は基本的に24時間勤務ですが、月の出勤は10日くらいで、すごくフリーな時間が多い仕事です。それで、私は休みの日は外に遊びに行ったり、家でゴロゴロしたり過ごしていて、なんとなく充実感を感じていました。しかし、その充実感は仕事とは全く関係なく、ほぼ休みの日の充実感でした。なんでそうなったかを今考えると、理由は2つあります。1つは消防士といえど、人の役に立ったなーって感じる瞬間はかなり稀であること。それは万が一に備える仕事の特性上、当然のことだと思います。もう1つは自分の力を活かせてないなーって感じていたこと。私は運動はすごく好きですが、特別得意なわけではないし、仕事をしてから、骨折、脱臼、肉離れ、捻挫、腰痛といった様々な怪我に悩まさる日々が続きました。どう考えても、私は身体を使う仕事より頭を使う仕事の方が、好きだし、得意だなって思うようになりました。
 それから何か新しいことを学びたいと思うようになり、前々から興味があったプログラミングを始めてみました。始めはよくわからず、Rubyで簡単なWebアプリを作ったりして遊んでいましたが、やればやるほど興味が湧いてきて、次第にのめり込んでいきました。勉強をしていく中で私の中に新しい考えが生まれました。人の役に立つって何も身体を使って人の命を助けるだけじゃないし、今や、テクノロジーが直接的に人を救う時代がきている。例えば、少し前ですが、血液ガンに侵され、死を覚悟した女性を人工知能「Watson」が救ったの記事のように人の命だってテクノロジーで救うことができるということに感銘を覚えました。そう考え出すと、もう一度自分の好きなこと、得意なことを活かしてゼロから挑戦したいと思い、エンジニアとしての転職を目指し出しました。

消防士という仕事

 消防士は、24時間勤務の2交代または3交代制で仕事をしています。仕事は大きく分けると、消防業務(いわゆる火消し)と救急業務に大別され、勤務中に指令が入ると出動し、災害対応にあたります。出動がないときは、災害を想定した訓練や体力錬成をしています。
 消防士という仕事は、己の体力・技術・知識を駆使して人の命を救うとてもやりがいがあって素晴らしい仕事だと今でも思います。ただ、時代背景として、年々火災件数は減少しており、一方で救急件数は激増しています。(地域にもよります)私は、比較的大きな都市で仕事をしていましたが、実際に火災で燃えているのを見るのは、数ヶ月に1回あるかないかでした。火災がないことはもちろんいいことです。ただ、日々万が一のために備えて、厳しい訓練をし続けるのには、相当な高いモチベーションが必要だと感じました。そして、私は怪我をきっかけにそのモチベーションを保つことが少しずつできなくなりました。
 また、私にとって消防という仕事は閉鎖的な世界に感じました。何が言いたいかというと、消防士として習得する知識・技術は消防士としてしか活かせないということ。日々の鍛錬は消防士としての自分の価値を高めているのであるということ。その点、エンジニアという仕事は、日々の業務で身につけた知識や技術は勤めている会社だけで発揮できるものではない普遍的な力であり、そこを極めていくと、起業したり、フリーランスになったり、海外で仕事をしたりと、その先が無限大に広がる世界のように感じます。どちらがよいというつもりはありませんが、私にとっては先が自由に開けた世界の方がワクワクして仕事ができると思いました。

f:id:hirotsuru314:20161231172841j:plain

仕事の位置付け

 世の中には休みの日のために働くという人も多いと思います。見方によっては仕事は生きるための手段でしかないし、休みのために働くという考え方もありだなって思います。要は、個人個人、人生における仕事の位置付けが違っているんだと思います。私は、社会人としてのキャリアをスタートしたのち、その自分の中での仕事の位置付けというものを模索し、考え始めました。
 私にとっての仕事の位置付けは、あくまでも、家族の次に大切なものです。しかし、私にとっての仕事は、そこに大きな目標があり、ときには家族との楽しい時間を割いてでも、何かを達成するために注力したいと思えるものであってほしい存在でした。

すべての経験をプラスにする

 私のように消防士→ITエンジニアという全然違う分野に方向変換をすると、直接的に何かが活きてくるということはほとんどないかもしれません。それでも私は全ての経験はプラスだと思います。
 他人と接すると、必ず自分は相手の知らないことを知っているし、したことない経験をしていると思います。自分の知らない世界を知っている人は、自分にない視点を持っているし、何より話が新鮮で楽しい。私もこれから消防士という仕事をしていたことをプラスに変えるような生き方をしていきたいと強く思います。すでに、「元消防士です」って言うだけで相手に印象を残せるので、ある意味得しているのかもしれません。笑

転職活動について

 私が今の職場に就職したきっかけは勉強会でした。あとあと入社して職場の人の話を聞くと、勉強会きっかけってけっこう多いみたいです。私は完全素人だったので、自分が勉強会に参加するなんておこがましいなって思ったこともありました。しかし、勇気を出して行ってみると、知識や人とのつながりなど多くのことを得ることができることを実感しました。私は勉強会を探すためにconnpassというサイトを使っています。

connpass.com

 あと最近では、Wantedlyというビジネスに特化したSNSも転職活動に有効だと思います。

www.wantedly.com

 私も実際にWantedlyを通じて、いくつかのスカウトをいただき、何社か面談に行かせていただきました。

ゼロからプログラミングを始めて転職するまでの道のり

勉強したこと

 私が勉強を始めてから転職するまでの10ヶ月にやったことを時系列でざっとまとめてみました。
 まず、プログラミングの勉強するといっても何をしたらいいかがわからなかったので、プログラミング全般のことが書いてある下の本を読みました。

おうちで学べるプログラミングのきほん

おうちで学べるプログラミングのきほん

 世の中にはどんな言語が存在して、何を学べば何ができるようになるかを知りました。すると、どうやらWebサービススマホアプリを作る言語は違うということがわかりました。私はWebサービスを作る方を勉強しようと決めました。
 ドットインストールという無料で様々な言語が学べるサイトがあるということを知りました。私は、興味があるものを一通りやりました。どうやら、Webサービスをつくるには、ブラウザを通してユーザに見える画面を作るフロントエンドと、サーバとのやりとりなど内部的な処理をしているバックエンドがあることを知りました。まず、画面を作ってみたいと思い、HTML・CSSの勉強をしました。

スラスラわかるHTML&CSSのきほん

スラスラわかるHTML&CSSのきほん

 この本では一冊を通して架空のcafeのホームページを作ります。完全ゼロから始めた私でも全くつまずくことなく最後までやりきれました。ある程度ホームページの作り方わかってきたあとに、今の時代ホームページはPCからだけでなくスマホから見られることが多いということを知り、画面サイズに合わせて自在にレイアウトを操る『レスポンシブWebデザイン』という言葉を知りました。

 レスポンシブWebデザインについては上の本で勉強しました。横に並べていた写真を、画面サイズを小さくすると、縦に並ぶようにするといったことができるようになりました。この時点で、ある程度画面が作れるようになったものの、自分にはデザインのセンスがないということを気付かされました。そして、デザインのセンスがなくても簡単に見た目の整ったものが作れるBootstrapというフレームワークがあることを知りました。

Bootstrapファーストガイド―CSS設計の手間を大幅に削減!

Bootstrapファーストガイド―CSS設計の手間を大幅に削減!

 センスのない私でも、見た目の整ったそれらしい画面が比較的高速に作れるようになりました。そろそろ画面づくりは飽きたな、バックエンドの勉強でも始めるか、ということで、国産の言語であるRubyを始めました。併せてRuby on Railsというフレームワークも学びました。

たのしいRuby 第5版

たのしいRuby 第5版

Ruby on Rails 4 アプリケーションプログラミング

Ruby on Rails 4 アプリケーションプログラミング

 このあたりで、簡単な掲示板サイトやTwitterクローンのようなものが作れるようになりました。そしてあとは、自分が作りたいものを決め、ひたすら
 コードを書く→エラーが出る→調べる→最初に戻る(→時々うまくいく→次に進む)というサイクルを繰り返しました。
 調べる際には、Qiitaにだいぶお世話になりました。また、Qiitaでは調べ物だけでなく日頃の情報収集も行なっています。

 qiita.com

 そろそろ、前々から興味があった機械学習でも始めてみようと思いました。機械学習をやるにはPythonという言語がよいということを知りました。

入門 Python 3

入門 Python 3

 PythonにはRubyでいうところのdo〜endのようなブロックを囲う表現がなく、インデントのみで階層構造を表現していることに最初はすごく違和感を覚えました。言語によっていろいろルールがあるんだなっていうことがわかりました。Pythonが少し書けるようになったので、機械学習の本を買いました。

ITエンジニアのための機械学習理論入門

ITエンジニアのための機械学習理論入門

 私にとっては、全然入門じゃなかった。完全に数学やり直さないとダメだなって感じ、高校数学をやり直し始めました。今も微分積分・行列あたりを勉強中です。数学をやり直した後に上の本の素晴らしさにやっと気付けました。数学はとにかく挫折しないことを最優先に考え、マンガで学ぶ系のシリーズからやり始めました。

マンガでわかる微分積分 微積ってなにをしているの?どうして教科書はわかりにくいの? (サイエンス・アイ新書)

マンガでわかる微分積分 微積ってなにをしているの?どうして教科書はわかりにくいの? (サイエンス・アイ新書)

  • 作者: 石山たいら,大上丈彦,メダカカレッジ,森皆ねじ子
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2007/12/15
  • メディア: 新書
  • 購入: 29人 クリック: 139回
  • この商品を含むブログ (17件) を見る

数学の知識は必要とはいうものの、早い段階で機械学習で何か作って見たいなって思って、下の本を買いました。

 今までいろんな参考書を読んでいましたが、初めて衝撃を覚えました。こんなにわかりやすい本があるんだと。私のような素人でも機械学習で手書き文字の画像分類ができるようになりました。今は機械学習でもっとおもしろいことができないかなーって思い、tensorflowとかを触ってみてます。この他にもいろいろ勉強しましたが、それはまた別の機会で紹介します。

モチベーションを保つために

 何かを学ぶときってモチベーションを保ち続けるのが大変だし、すごく大事な部分だと思います。私もけっこうモチベーションを見失いかけたときがあったのですが、そんなときにやる気を出した方法の一つとしては、いろんな方々の経験談などの記事を読むことです。 特に私は、誰かのWebアプリ作ってみた系の記事が好きでよく参考にしていました。

ニートが1週間でアイデア共有サービスをつくったときの記録 - kamiのサービス制作ログ

ノンプログラマーが3ヶ月でWebサービスを作ってみた - Qiita

webサービス(webアプリ)を1年独学で個人開発してきた僕の作り方

素人がRuby on Railsを勉強してWEBサービスを作るまで | rokuro Fire

あと、下のビル・ゲイツFacebook創業者のマーク・ザッカーバーグなどが、プログラミングを学ぶ魅力について語っている動画もモチベーションが上がります。英語ですが、日本語字幕で見れます。『天才じゃなくてもプログラミングはできる』というのが印象的でした。

www.youtube.com

今後について

 人はたとえ会社に勤めていようと、自分で事業をしていようと、自分の能力(技術や知識)を売って仕事をしているんだと思います。そう考えるとその商品(能力)がどうやったら売れるか、またどうやったら高く売れるかを真剣に考える必要があると思います。私はまだまだ知識も経験も未熟ですが、これからも自分の価値を高める努力をし続けていきたいと思います。
 ITの分野は非常に広大であるため、私はある程度勉強する対象を絞った方がいいんじゃないかなって思いました。そこで私が選んだキーワードとして、「データサイエンス」「機械学習」「Python」「数学」あたりに力を入れていきたいと思います。
 あと、もともと私がブログを書き始めたのは、プログラミングの勉強を始めて、備忘録的にブログを書くことで、自分の理解も高まると感じたからです。なので、これから自分が学んだことを自分のためにも、見てくれる人のためにもガンガン発信していきたいと思いますので、よろしくお願いします!