LiBz Tech Blog

LiBの開発者ブログ

Webエンジニアに転職した新幹線車掌が伝えたい7つのこと

はじめに

はじめまして。株式会社LiBでWebエンジニアをしている額田(ぬかた)と言います。
LiBには昨年10月にWebエンジニアとして入社し、現在4ヶ月目に突入しました。
私はもともと某鉄道会社にて駅係員、新幹線車掌と約8年間の鉄道人生を送っていて、プログラミングとは無縁の生活を送っていたのですが、テクノロジーの持つ魅力に惹かれて、エンジニアを目指すようになりました。

f:id:yoshimi_nu:20190123233007j:plain

恥ずかしい写真ですが、車掌をしていた当時の自分です。

念願叶って、無事にWebエンジニアとして働けるようになった私ではありますが、ここまでを振り返るとWebエンジニアの楽しさを感じると共に、必要となる知識の多様さや奥深さなど実際に業務をしてみて感じることがたくさんありました。そこで自分のリアルな転職の経験を通して、これから業界未経験でWebエンジニアを目指す方達のお役に少しでも立てたらと思い今回のブログを担当させて頂きました!
「エンジニアに挑戦してみたいけど、何をすれば良いのか分からない、、、」「エンジニアに興味あるけど実際の業務ってどんな感じなの、、、」など不安に感じている方に少しでも届けば良いなと思っております。
*あくまで私個人の感想ですので全然違うよ!って場合は優しくご指摘いただけるとありがたいです。

スタート地点の状態

「未経験でも転職できるかな、、、」「エンジニアになりたいけど、パソコンをあんまり触ったことない」と思っている方も大丈夫です。
転職することができた私もスタート地点では以下のような状態でした。

  • タイピングはキーボードを見ながら人差し指でポチっ
  • パソコンでやることはWeb検索がメイン。仕事ではパワポとエクセルを少々
  • エンジニアになりたい気持ちだけはかなり強い

こんな状態でのスタートで、実際に転職に成功しているので正しい方向で頑張れば決して無理な道ではないと思っています。

1.エンジニアって簡単な仕事じゃないよ

f:id:yoshimi_nu:20190124111143p:plain

いきなり厳しいことを言ってすいません(笑)
でも、これって実際に自分がエンジニアになって本当にずっと感じていることなんです。私自身はオンラインのプログラミングスクールでプログラミングを勉強した後に転職したのですが、エンジニアとして現場で必要とされる技術って本当にいっぱいあってすごく驚きました。

まず一般的にエンジニアに必要なのはプログラミング言語を学ぶことと思われがちですが、それは必要な知識の1つに過ぎないということを是非覚えておいてください

  • チーム開発に必須なGit
  • アプリケーションを動かす為のサーバーやネットワーク
  • 安全なアプリケーションを開発する為のセキュリティ

などなど、考えればキリがないほど多種多様な知識が必要になってきます。 もちろん多くの企業ではフロントエンド、バックエンド、インフラなど分業をしている為、全てを網羅する必要はないのですが自分の手がけているサービスがどのような仕様になっているのかは把握するべきだと思うので多くの知識が必要になってきます。

さらにテクノロジーの世界では常に新しい技術が生まれ続けています。今、自分の学習している知識も常にアップデートして行く必要があります。 つまりエンジニアとして仕事をして行くためにはずっと勉強し続けていくことが大切になってきます

まとめると

  • プログラミング言語だけではなく幅広い知識が必要
  • テクノロジーはアップデートし続ける
  • 常に勉強し続ける姿勢が大切

このあたりが「楽しそう!」「新しい技術を勉強したい!」と思ったあなたはエンジニアとしてすごく大切なマインドが備わっていると思います!!

2.とにかくプログラミングを始めてみよう

いきなり厳しいことを言ってしまいましたが、エンジニアになりたい!と思っている方達からすれば当たり前のマインドだったかなと思います。

その上でエンジニアに興味を持ったらまずはプログラミングを始めてみましょう。
今の時代はネットにいろんな情報が出ているので、ググったものを参考にしながらとりあえず自分の書いたコードで動くものを作ってしまいましょう!

何を検索したらいいかわからない方はどれも有名なサイトですが、この辺りから始めて見るのがいいかと思います。

Progate prog-8.com

ドットインストール
https://dotinstall.com

いずれも無料で始めることができるので、最初のステップとしておすすめです。 ここで感じてもらいたいのは、プログラミングって楽しいってことですね。

3.プログラミングスクールって行った方が良いのかな

f:id:yoshimi_nu:20190124111232p:plain

プログラミングを少し触ったところで実際にエンジニアに転職したいと思った時に、考えるのは「プログラミングスクールに行くべきかどうか」という点ですよね。
安くはない金額を払うことになる為、悩みどころですが、私の経験としてはやっぱりプログラミングスクールには通った方がいいと思います。
なぜかというと下に記述した4つの理由が大きいです。

1. メンターが付いてくれる安心
プログラミングを勉強していると自分の頭では分からないことがいっぱい出てくると思います。私も普段の業務では分からないことばかりで、その都度、自分で調べたり先輩エンジニアに質問したりしています。
私もそうだったのですが、プログラミングを始めたばかりの頃は一度つまづくと、何時間もそこで立ち止まってしまうことが多々あります。 そういう時にメンターが付いてくれると分からない点を質問することが出来るので、勉強の効率が大幅にアップすることは間違いないと思います。

2.カリキュラムがしっかりしている
スクールによって内容に違いはあるとは思いますが、エンジニアになる為に必要な最低限の知識がパッケージ化されているというのはやはり魅力的です。
HTMLやCSS、Javascriptに加えてPHPやRubyなどのサーバーサイド言語、スクールによってはMysqlやGitなどもカリキュラムに含まれている為、転職に向けたスタートラインに立つのに必要な知識がそこで身につきます。

3.就職支援サービスも便利
ここまでプログラミングを勉強してきた方の目標は「転職」することのはずです。
スクールによってはカリキュラムを修了した生徒向けの就職支援サービスを行ってくれるところもあります。
普段は未経験を募集していない企業でも、そのスクールには求人を出しているみたいなパターンもあるので、積極的に利用するのがオススメです。

4.お金払ったからには頑張れる
これは僕だけの話かもしれませんが、安くはない値段を払ったからには頑張らないとという気持ちになります。人間は楽をしたがる生き物と言いますので独学、自分のペースでプログラミング学習を進めるとなると途中で中だるみ等が発生するような気がします。「期間が決まっている」「お金を払った」という2点があると、頑張るしかない状況に追い込まれて普通以上の頑張りができた気がします。

以上の理由で、エンジニア転職するにはプログラミングスクールに通った方がいいんじゃないかなと思っています。
もちろん、自分の意思で適切な勉強が出来る人はスクールに通う必要はありませんし、自分にあった学習方法を考えるのがベストです。

4.エンジニアで働けるのはどんな会社があるの?

プログラミング学習を続けていきながら、常に考えて欲しいのはエンジニアとして自分がどういう会社で働きたいのかという点です。

エンジニアとして働くのは以下の3つの会社になるかと思われます。

  • 自社開発サービスも持つ企業
  • 受託開発をする企業
  • SES企業(エンジニアを客先に派遣(常駐)しながら、技術的なサービスを提供する企業)

数多くの企業がある中でどういう企業で自分が働きたいのかを常に探しておくのが良いと思います。 企業の調べ方としては

  • 転職サイトに登録する
  • 転職エージェントに登録する

この辺りが、未経験からの転職では一般的かと思います。

私自身は自分の中で決めた企業選びで大事にしたポイントは3点でした。

①自社開発サービスを持つ企業
②事業が社会の役に立ち、より良い世の中に出来る内容であること
③エンジニアとしてサービスの開発だけでなく成長に貢献できる企業

この3つを軸にして転職をしようと決めました。 しかし、未経験から転職しようとすると自社開発サービスを持つ企業の求人はかなり少ないのが現状のような気がします。 実際に私が利用した数社の転職エージェントでは受託開発またはSES企業がほとんどでした。

エージェントの方は未経験の私に対して真摯に向き合ってくれましたが最終的にはWantedlyを利用して転職させてもらいました。

www.wantedly.com

5.未経験からエンジニアとして転職するためには?

それでは未経験からエンジニアとして転職するためにはどうしたら良いのか。自分の経験から何点かお話していこうと思います。

①未経験可能の求人の意味を履き違えない
転職を目指して求人を見ていると「未経験可」という募集項目を見かけることがあると思います。 その求人を見たときに勘違いしてはいけないのは

【誤】未経験の人材を募集している
【正】経験者優先だが未経験でも応募可

これは当たり前の話ですが、意外と忘れがちな事です。

未経験から応募しようとする人は【未経験可】の求人を見たときに「自分でもいけるじゃん!」と思いがちです。しかし、あなたが競争相手として競い合っているのは全員が未経験の人達ばかりではありません。
求職者の中にはこれまでエンジニアとして経験を積んできた方もいるはずです。当たり前の話ですが多くの企業では経験者を優先させます。こればっかりは仕方のない事です。それでも未経験で転職するためには、「これからの成長が期待できそうな人材だ」と採用担当者に思ってもらわないといけません。
そこでもっとも大切なのは「絶対に成長してみせます!エンジニアになりたい気持ちは誰よりもあります!」という心意気ではありません。
ここをアピールするのは間違いです。これは本当に大切な事ですが、「エンジニアになりたい」という気持ちは持ってて当たり前の前提で話を進めないといけません。

一番大事なことは「エンジニアになる為に自分が実際にどういう行動や勉強をしてきたか」です。

幸いな事にエンジニア業界には自分の行動をアウトプットする環境が揃っています。
その中で自分がどういう行動をしてきたかで他の人との差別化を測る事ができます。
では実際にどういう行動をとれば良いのでしょうか?

②自分のプロダクトは絶対に作ろう

エンジニアとして働きたいと思っている人達はテクノロジーを使って何かしらの現状を変えたいと思っている方が多いのではないかと思います。
その変えたい現状をその時の自分の技術で表現して自分のプロダクトを持つことがもっとも良い方法だと思います。そしてなぜ自分がそのプロダクトを作ったのか、どう現状を変えたいのかを説明できればベストです。
完璧なコードを書く必要なんてありません。実際、私自身もPHPのフレームワークなしでWebアプリケーションを作りましたが今振り返ると、恥ずかしいコードばかりです。
しかし、大切なことは実際に何かを作った経験があるということです。その経験があるのとないのとでは歴然とした差があります。 ただここで勘違いしがちな問題が1つあります。これはプログラミングスクールに通った人がよくやりがちなことだと思います。

それはスクールの卒業制作を自分の作品には入れないということです。

ここでいう卒業制作とは以下のものです

  • 同じスクールに通っている人が共通して作成しているアプリケーション
  • スクールの教材となっているアプリケーション

これらは採用担当者にとって未経験の求職者からのアピールにならない場合がほとんどだと思います。
転職市場は競争社会です。採用担当者にアピールする必要がある場面において、他の人と同じ作品では突出した存在になることはできません。 ましてや、採用担当者はスクールの課題を把握している場合すらあります。転職に成功する為には、どんなものでも良いので自分の作品を作って他の人達との差別化を測ることオススメします。

③プロダクトのソースコードはGitHubにのせよう
自分の作ったプロダクトのソースコードをGitHubにのせる。これはすごく重要なことです。ソースコードをオープンにする事により採用担当者はしっかりと求職者を見て判断をしてくれるようになります。
もちろん技術的にはまだまだな場合が多いと思いますが、バージョン管理ツールを使っているというのはきっとアピールポイントになってくるかと思います。

注意: Git Hubを知らない人は下記のURLを参照

github.co.jp

ちなみに私はGit コマンドを以下のサイトで勉強しました

backlog.com

6.エンジニアって楽しいよ

f:id:yoshimi_nu:20190124110540p:plain

ここまで書いてきたことを振り返ると、厳しいことしか言ってなかったですね。笑
でも、全部本当に大切なことだと思ってます。そしてエンジニアという仕事はそれを補って余りあるくらい楽しくやりがいのある仕事だと日々感じています。ここからは、これからエンジニアを目指す方に向けて、実際に働いてみて、エンジニアという仕事のどういう点が良いと思うのか上げていきたいと思います。

①0から1を生み出すモノづくりの楽しみ

これまで鉄道員として働いてきた時は、ルールを守るということを絶対の価値観として仕事をしてきました。実際に鉄道という仕事においては安全より大切なものは存在しない為、それが正解だったと今でも思っています。
鉄道のルールというものは先人たちが失敗から学び、積み上げてきた歴史そのものであり安全を担保するものとしてもっとも大切なものでした。
だけど、エンジニアはそうではありません。コードの書き方や規約など決められたルールは存在するものの、エンジニアが作っているものはまだ世の中には存在しないものである場合がほとんどであり、0から1を生み出す仕事をしているわけです。今まで無かったものを自分の手で作り、それで社会が良くなっていく。それが実現できるエンジニアという仕事は本当に楽しく、やりがいのあるものだと思っています。

②新しい技術に触れ続けることができる

多くの方が思っている通り、これからもテクノロジーは進化を続けていくはずです。それに伴って、エンジニアに必要なスキルも増え続ける事でしょう。今は最新だと思われる技術も何年かするとあまり使われないものになっている可能性すらあります。つまりエンジニアである以上、ずっと勉強し続ける必要があります。でも、これって本当にワクワクしませんか?テクノロジーの進化に伴って、技術をアップデートする事で自分自身の成長にも繋がっていくわけです。

③人に感謝される

自分の作ったプロダクトで人から「ありがとう」って言われた時の嬉しさは凄くありました。クリエイティブな発想のある方なら現状を変えていくために、困ったことがあったらそれをテクノロジーで解決していくことができます。そうすることで誰かの為になる仕事ができるエンジニアって良い仕事だなと思っています。

7.エンジニアという冒険へ出よう!

f:id:yoshimi_nu:20190124110544p:plain

これからエンジニアを目指す方達はまだ目の前の世界に霧がかかっていて、自分に何が待っているのか、どんなことが起きるのか分からない状態だと思います。
そして、勉強を続けていくことでだんだんと霧が晴れていって自分が足を踏み入れた世界がどれほど広い世界なのかに気付いていくことでしょう。
もしかしたら、その世界の広さに落胆してしまうこともあるかもしれませんが、きっと楽しい冒険の旅が待っているはずです。僕自身もエンジニアとしての冒険は始まったばかりで、大きな壁にぶつかりながらもそれを楽しんで乗り越えていこうとしています。
色々と書いてきましたが、この記事がエンジニアを目指す誰かの役に少しでもたてば良いなと心から思っています。

さいごに

f:id:yoshimi_nu:20190124114316p:plain

鉄道員としてお客様を安全に輸送する仕事から離れて、エンジニアになりましたが、現在の会社で使用しているフレームワークはRuby on Rails
自分はどこまでいってもレールの上で仕事をする運命なのだなとつくづく感じるこの頃です。笑