初学者からエンジニアになるには?

【未経験からWebエンジニア転職】設計を勉強して内定を複数社内定獲得する方法

「他の未経験エンジニアの人はどうやって内定を得ているのか?。。。」

そんなことを思う駆け出しエンジニアの方も多いと思います。

 

今回は僕がMENTAというサービスを通してGo言語でGoのことやコードの設計を教えていたTさんのインタービューを紹介します。

 

 

これを読むことで未経験エンジニアから内定までの自分なりのロードマップの参考になります。

 

ちなみにこちらが僕のMENTAのプロフィールになります。

ご興味持った方は上のプロフィールからMENTAのメッセージで僕宛にお問い合わせください。

 

設計について教わりたい方はこちらへ

 

 

どうして未経験からエンジニアを始めたのか?

 

オザック
「まずどうしてエンジニアを始めようと思ったのですか?」

 

「2年前に個人事業主としてWeb通販事業を始めました。 1日あたり何百個と商品が売れていて、在庫管理や会計処理等の事務作業だけに毎日5~6時間を費やしていました。 当初はExcelで全て手作業でやっていたので、すごく憂鬱になっていました。そこで手間を解消しようとWeb通販に特化したツールを10万円で購入したのですが、 カスタマイズ性がなかったり、バグがあったりで、それに対する要望を出しても改修してくれず結局使えないので、自分でツールを開発しようと思いました。 それがエンジニアリングを始めたきっかけです。」
Tさん

 

「ただ全くどうやって作ったらよいかわからず知り合いのエンジニアの人に助けを求め、教わりながら作りました。 そうしていくうちに徐々にエンジニアリングが楽しくなってIT業界で仕事していきたいなと思い始めました。」
Tさん

 

前職は殆どプログラミングをしていなかった

 

前職は何をしていた?

 

オザック
「エンジニアを目指す前は何をしていたんですか?」

 

「個人事業主でWeb通販をやる前は、高校卒業した後に自動車部品のAT(オートマチックトランスミッション)を製造する会社で働いていて、

マシニングセンターという工作機械を触っていました。

そこではNC言語というプログラミング言語で、若干プログラミングをかじっていました。」

Tさん

 

オザック
「一応Webエンジニアをやる前にもプログラミングをやっていたんですね。そこでのプログラミングはどういう感じだったんですか?」

 

「そこでのプログラミングはWeb系とは少しやる事が違って、NC言語ではどう動くかを制御するだけで、 一番大事なのは加工品の精度を出すことでした。 切削加工の公式を使って数値計算をして、プログラムの数値を変えて精度を出していくというもので、 あまりプログラミングをやっている感覚はなかったです。」
Tさん

 

数あるWeb言語の中でGoを選んだのは設計を柔軟に考えやすい所

 

何故Go言語を選んだのか?

 

オザック
「今回個人事業主の仕事からWeb系を興味を持った後に、何故Goを選んだのですか?

例えばWeb系と言えば、PHPとかRubyなどのインタプリタ型の言語の方が簡単で覚えやすいかなと思うのですが

(PHPでの効率的な勉強法Rubyでの効率的な勉強法はそれぞれこちらの記事に)。」

 

「最初はPythonでDjango(ジャンゴ)を使ってツールを作っていました。ただコードを書いててあまり面白くなかったです。」
Tさん

 

オザック
「どこが面白くなかったんですか?」

 

ディレクトリ構成なども決まっていて、Djangoの決められた形式に沿って実装してくのが面白くなかったです。」
Tさん

 

オザック
「確かにその点GoはランタイムでWebサービスが作れますし、Goのフレームワークも軽量のものが殆どで、

自分でディレクトリ構成や、設計を考えていく楽しさがありますね。」

 

ポイント

Go言語はフルスタックフレームワークと違い設計を柔軟に考えやすい点が面白い!

 

どういう勉強方法を実践しているか?/やらないほうが良い勉強法は?

 

オザック

「今回MENTAを通して僕と設計やGo言語の書き方などについて学んでいったと思いますが、

MENTAで教わろうとなるまでの経緯を教えて下さい。」

 

「実務未経験の状態で記事を漁っていくと、

プログラミングの書き方が書いてある記事はいっぱいあるんですが、

実務上ではクリーンやDDDとかで継続的にサービスを大きくしていったりする(変更容易なアーキテクチャにする)必要があるんだなということに気づきました

ただそれに関してネットに載っている記事では詳しく書いていない。

なのでオザックさんみたいな実際に実務で書いている強いエンジニアにメンターになってもらって、

勉強をサポートしてもらうようにしようという方針にしました。」

Tさん

 

オザック
独学と言うよりは現役エンジニアに聞いてやっていこうという方針になったということですね。」

 

「そうですね。

またその考えに至るまでにやらないほうが良いと思う勉強法は、自分の主観だけでやる勉強は辞めたほうが良いと思います。」

Tさん

 

オザック
「なるほど、ただ先程記事を読んでて詳しく書いてないな〜とおっしゃってたと思いますが、

自分が無知な時に記事の詳しさを理解するのは難しいと思います。どのようにしてその記事が詳しいのか判断はしましたか?」

 

「判断したと言うよりは最初、別のメンターの方にお世話になっていて、そのメンターの方の話を聞いた上で

記事を見てみると、実務的な話は記事には書いてないことに気づき、

記事などネットに載っている情報を頼りに進めるのは難しいなと思いました。」

Tさん

 

ポイント

独学(個人の主観)だと実務的な話は入ってこず、エンジニア能力も上がりづらい。

また初学者だと正しい情報なのか判断が難しいので有識者に頼る必要がある!

レベルの高い現役エンジニアの人にメンターになってもらって、サポートしてもらうのが一番効率が良い!

 

Goが書けること、モダンな技術で開発出来る企業を探していた

 

どういう会社の内定を目指していましたか?

 

オザック
「Go言語を中心に勉強していたと思いますが、どういう会社の内定を目指していましたか?」

 

「Goを勉強していたので、Goが書けるという点とゴリゴリ開発出来る点を重視して探していました

最初は実務的な部分はよくわかっていなかったので、そのような条件で探していましたね。」

Tさん

 

オザック
「そうなんですね。よく拘りの一つにあるSESと自社開発系企業はどちらが良いという希望はありましたか?」

 

「そこは自社開発系企業に絞っていました。自分で作った機能とかでサービスを大きくしていきたいという想いがあったからです。」
Tさん

 

オザック
「そうなんですね。サービスに関わっていきたい理由やきっかけはあったんですか?」

 

「やりがいとしてSESや受託は作って終わりという話を聞いたので、継続的に開発していって大きくしていきたいと思ったので自社開発にしました。」
Tさん

 

オザック
「確かにその場合だと自社開発系企業の方が相性良さそうですね。

またそれに関連して将来は起業したいという想いとかあったりするんですか?」

 

「将来的には自分でサービスを作って展開していきたいという想いはあります。

今シェアハウスのメンバーが5人いて、プログラミングをみんなでやっていて、

みんなでサービス開発出来たら面白いなという話になっています。」

Tさん

 

モダンな技術を使えて、新しい技術をちゃんと取り入れている企業に入りたかった

 

今の会社に決めた理由は?

 

オザック

「いくつか会社を受けてきて、内定もいくつかもらっていると思います。

その状況で今の会社を決めた理由はなんですか?」

 

モダンな技術を使っているところに行ってみたいという思いがあって、

決めた会社が新しい技術をどんどん取り入れていると言われたので決めました

例えば今インフラをECSで運用してるんですが、それをTerraform化したいという話があってお願いされました。」

Tさん

 

オザック
「そうなんですね。モダンな技術を色々と取り入れていく精神の会社は良いですよね。

また入社して間もないメンバーにいきなりやったことない技術でお願いする裁量の大きさも魅力ですね。

余談ですが僕もよくTerraform触るのでインフラはTerraform化した方が良いと思いますね。」

 

「そうなんですね〜、ていうので余談なんですが、TerraformでECSを構築するというのを練習でやりたいので、

次はTerraformのメンターおねがいしてもよいですか?w」

Tさん

 

オザック
「良いですよw

最近Tさんとメンターというか関わり方が少なくなってきたので、是非色々と聞いてください。」

 

設計について教わりたい方はこちらへ

 

将来はギークにエンジニアリングもサービス開発もどちらもやっていきたい

 

将来はどういうエンジニアになりたいのか?

 

オザック

「最終的にはどういうエンジニアになりたいと思っていますか?

それかエンジニアは手段だからサービスを考える側のキャリアにシフトしていく想いなどあったりしますか?」

 

「最終的には先程話した通りシェアハウスメンバーでサービスを作っていけたら楽しそうだなと思っています。

ただそのためにも今は実務的なところを吸収できてないので、企業でキャッチアップしていって、

自分たちのプロダクトに反映させていくということを考えています。」

Tさん

 

オザック
「なるほどです。僕もサービス開発をしたくてエンジニアを目指したので気持ちはわかります。

またキャリアの事に関して、エンジニアってビジネス寄りと技術をとことん突き詰めるエキスパートよりとに別れていくのですが、

どちらがやりたいと考えていたりしますか?」

 

「あまり考えてないですね。欲張りにどっちもやりたいです。

プログラム書くのも好きだし、サービスを考えて成長させていくのも好きなので。

シェアハウスメンバーでそれをやっていけたらなと思います。」

Tさん

 

オザック
「良いですね!ありがとうございます。」

 

クラス設計を理解することが内定への近道!

 

どういうスキルを持っていれば採用されるか自身の体験からわかったことは?

 

オザック

MENTAを通してレベルアップして内定を獲得することを目指してたと思いますが、

就活を終えてみてどういうスキルを持っていれば採用されるか自身の体験からわかったことはありますか?」

 

「はい、実際に面談や面接をしてみてソフトウェアアーキテクチャを理解して適用しているかが、

どの会社も高評価でした。

例えばDDDとかクリーンアーキテクチャとかを理解してるかが重要ということです。

エンジニアレベルとしては2,3年位には達していると言われました。

なのでオザックさんと契約してよかったなと思っています。」

Tさん

 

オザック
「それであれば良かったです!ありがとうございます。

面接はどのような感じだったんですか?」

 

「リポジトリとか事前に見てもらって、この部分はどうなってるのか?という質問に答えていく形でした。」
Tさん

 

オザック
「そうなんですね。やっぱクラス設計を理解しているっていうのは重要になってくるんですね。」

 

ポイント

ソフトウェアのアーキテクチャを理解して、実際に実装していることが高評価につながった!

 

今同じ立場の駆け出しエンジニアの方に向けて一言

 

オザック
「最後にこれから未経験でエンジニアを目指す人に向けて一言お願いします。」

 

「実際にシェアハウスしてる中で思うことですが、どういう人がエンジニアに向いているかというと、

楽しくやれる人だなと思います。

ちゃんと勉強しないといけないし、就職してからもそれは続くので、覚悟を持ってやらないと厳しいと思います。

なので楽しくエンジニアリングをやれる事がポイントですね。」

Tさん

 

オザック
「確かにそうですよね。エンジニアってずっと前から需要があって、給与体系も良くなって、働く環境も

フルリモートだったりでストレスフリーに出来るようになってきている。

そういう良い部分だけに焦点が当てられて、厳しさっていうところを知らずに来る人が多いですよね。」

 

「そうですね。お金目当てでやる人とか多いですよね。

実際にシェアハウスに来た人もお金目当てで来た人がいて、今辛そうにやっています。

それを見るとやっぱ楽しめないと厳しいですね。」

Tさん

 

オザック
「そうなんですね〜、その楽しめるコツとかあるんですか?」

 

「昔からの性格でコツコツ勉強するのとかは好きだったので楽しめてやっています。

無理やりやってる感は自分の中では無いですね。

Linuxの勉強飽きてきたら、Terraformの勉強をするなど色々と幅を広げていくことが楽しみです。」

Tさん

 

オザック
「なるほどです。お金が手に入るなどの結果論から見るときついですよね。

例えば年収600万稼ぎたいとなっても直ぐにその結果は手に入らない。

ある程度時間と努力が必要になってくると思います。そうすると結果が出なくて段々辛くなってきますよね。

勉強する上で日々エンジニアリングを続けるためのポイントとかはありますか?」

 

「Linuxの勉強飽きてきたら、Terraformの勉強をするなど、色々と新しいことをどんどんやっていくのが続けるポイントですね。

やりたいこと優先で最初は幅広くやるのが良いです。」

Tさん

 

参考

長続きするポイントは一つのことに飽きてきたら別の勉強をするなど色々と能動的にキャッチアップしていくこと

 

オザック
「そうなんですね。ありがとうございます。」

 

ポイント

エンジニアリングを楽しめることが重要!お金目的や楽に稼げるなど目的がエンジニアを目指したいという本質とは違うと長続きはしない。

 

まとめ

今回は実際に僕がMENTAを通してメンターをしているTさんにお話を伺いました。

 

ちなみに具体的な年収に関しては会社の人事に晒すなと言われてるから言えないらしいですが、

年収聞いてそんなに?と驚きました!

 

普段MENTAでGoやコードのアーキテクチャについて教えていて、実際に教えている方が内定につながった良い事例でした。

 

設計について教わりたい方はこちらへ

※本業でこちらをやっているわけではないので、人数に限りがあります。ご了承ください。

 

ポイント

どのようにして未経験から内定をもらったのか?

→DDDやクリーンなどクラス設計を覚えることで高評価に繋がり内定を獲得した

実践した勉強法・やらないほうが良い勉強法

→自分の主観で勉強せず、現役に優秀なエンジニアに教わること

どういうIT企業を目指して転職活動をしていたか?

→モダンな技術で活発に新しい技術を取り入れていて、裁量権が大きい会社

 

 

-初学者からエンジニアになるには?

© 2021 エンジニア副業道場 Powered by AFFINGER5