こんにちは、日々マイクロ法人的なスタイルで会社を経営しております、新米社長です。
最近、書いた下記のポストが少しずつ見られているようで嬉しい限りです。
これから1人社長の会社を作りたい、という方には参考になる記事だと思うので、ぜひ読んでみてください。
1人会社(俗に言うマイクロ法人)を作る理由としてはいくつか理由はありますが、例えばフリーランスとして別途売上を出している割に支払う社会保険料を抑えられたりするなど、手取り金額を増やすメリットがあります。
ここで書き出すと長くなってしまうので割愛しますが、手取り金額を増やすなど嬉しいメリットがある手法なので気になる方はググって見ることをおすすめします。
未経験エンジニアでも会社に採用されるためには?
こちらのサイトでは時折エンジニア転職に関する内容を書くときがあります。
というのも、私自身がキャリアの途中でエンジニアに転職し、未経験からキャリアを築いてきた経緯があるからです。
実際にこのようなキャリアプランを歩む人は多く、また今でも
「エンジニアに転職した時の話を聞かせてください」
と質問されることがあります。
実際に私がエンジニアに転職した時の話については下記の記事で書いているので、ぜひ読んでみてください。
リンク:【実体験】私が未経験からエンジニアに転職したときのこと
エンジニア採用の観点から見る、未経験でも採用したくなるエンジニアとは?
私は未経験からエンジニアに転職し、キャリアを築いていく中で、とある会社でソフトウェアエンジニアという立場からエンジニアの採用に立ち会ったことが何度もあります。
エンジニアとして働いていると、同じエンジニアとしての立場から採用面談に駆り出されることは珍しくありません。
エンジニアの力量は同じエンジニアが一番良く分かる部分でもあるので、会社としてもエンジニアに採用面談の場にいてもらい、エンジニアの力量や思想が分かる質問を投げてほしいと考えています。
そのため、これから未経験でエンジニアに転職するという方も、数年後にはエンジニアの採用面談に関わっている可能性は十分にあります。
こんな未経験エンジニアは採用しない!
では、実例ベースで、「こんな未経験からエンジニアになろうとしているエンジニアは採用しない!」という内容から書いていこうと思います。
これはあくまで私個人がエンジニアの採用面談を行う中で、「これはちょっと…」と思った事例を紹介していきます。
あくまで私個人の意見ではありますが、だいたいは採用面談を一緒に行った他のエンジニアも同じ意見だったりするので、世間一般から見ても同じような意見なのではないか?と考えています。
また、私がエンジニア採用を行っていた会社は、規模も小さく未経験でも可能だが、短いキャッチアップ期間を経て戦力になってくれるような人を求めていた、という背景があります。
そのため、未経験からエンジニアになった人の受け口としては狭き門だったとは思います。
ある程度未経験でも人を育てる余裕のある企業であれば、もう少しゆるくなることも想定されます。
ただ、ここで書いていることを意識しておくことで、エンジニアとしてのスキルアップにつながることは間違いありません。
そのため結果的にここに書いてあることは意識しておいたほうが良いかなと思います。
プログラミングのオンライン学習サービスの学習過程を終えただけの状態
Progateなど、プログラミングのオンライン学習サービスを終えただけの状態でエンジニアの採用面談を受けた方が過去にいましたが、これは残念ながら採用にはなりませんでした。
オンライン学習サービスで学習することはとても大切なことですが、それだけでは実力不足なケースがほとんどです。
このようなオンライン学習サービスは大抵は無料で学習することができますし、基礎的な知識を身につける上でとても大切なことだと思います。
実際に私自身もエンジニアに転職しようと考えた際に、ドットインストールをみて学習も行っていました。
ただし、これらのサービスで学べるのはあくまで基礎的な部分であり、実践向けの知識ではありません。
イメージとしてはこれらの基礎的な知識を土台にし、さらにその上に実践向けの知識が積み重なってきます。
そのためこのような学習サービスだけを学んだだけでは採用には至りません。
サッカーで言えば実践での経験は0だが、ドリブルの練習だけしっかりと行った上で面談に臨むようなものです。
「実践向けの知識がないって、未経験からエンジニアになろうとしているのだから実践向けの知識は0で当然では?」
そう思う方もたくさんいらっしゃると思います。
ですが、実践向けの知識は実務経験は0でもある程度身につかせることは可能です。
そちらについては後半で書いていきます。
プログラミングスクールを卒業しただけの状態
こちらも上に同じく、実戦経験向けのスキルはまだ身についていない状態なので、いくらプログラミングスクールを卒業したからと言って、すぐに採用というわけには行きません。
なかには実践向けのカリキュラムを採用しているプログラミングスクールもあるかもしれませんが、有名どころのカリキュラムを見ているとエンジニアとしての基礎的な知識までが身につく内容になっているところが多いです。
また卒業制作としてポートフォリオを作成しているところもあるようですが、実装する内容としては基礎的な知識ばかりで面談のときのアピールポイントとしては薄いかなと思います。
以上のような理由から、プログラミングスクールを卒業してもそれが即アピールポイントになる、ということはほぼないかなと思います。
また、これはエンジニア界隈ではあるあるなのですが、プログラミングスクールが集客目的で発信しているプログラミング関連の情報は質が低いことも多く、そのような点からもエンジニア界隈での評判は悪くなっているような印象を受けます。
私自身も調べ物をしているときに、検索上位にそのようなプログラミングスクールの記事があがりますが、まずクリックしません。
もちろんすべての記事の質が悪いわけではないと思いますが、私が今までに見てきた記事はどれもSEOを最優先にした結果回りくどい文章が溢れた、そのくせ肝心の情報が古い内容(記事の作成日は新しい)で、時間の無駄にしかなりませんでした…。
いずれにせよ、プログラミングスクールを卒業したことはアピールポイントにはなりにくいので、そこからさらに一歩踏み込んだ内容をアピールポイントとする必要があります。
かんたんなウェブアプリをポートフォリオに持ってくる
私が採用面談していた頃はポートフォリオとして作ったウェブアプリをアピールポイントの材料にする方もそれなりにいました。
Ruby on Railsで作ったウェブアプリで、内容はどうあれ基礎的なCRUDが実装されているアプリです。
ただこのようなポートフォリオはアピールポイントにはなりません。
勿論レベルにもよりますが、基礎的なCRUD操作が行えるレベルのウェブアプリであれば、インターネットを検索していれば参考になる実装はたくさん出てきますし、そもそもその人の技量を図るためのものさしとしては活かせません。
そのため、そのようなポートフォリオについては提出していただいても、サラッと流し読みするぐらいでした。
ただし、ポートフォリオとは言っても、ある程度機能が作りこんであり、それ自体がウェブアプリとしてユーザを抱えているような規模であれば話は変わってきます。
例えば実際にユーザを抱えているような規模であれば、当然普段の運用や開発フロー、セキュリティ関連のことなども頭に入れておく必要があり、そこまでいけばそれはイコール実践向けの内容となってくるのでアピールポイントとなります。
というわけで、ポートフォリオを持ってくる場合、かんたんなウェブアプリはアピールポイントにならない。だが、ユーザを抱えるようなサービス、もしくはそれに準ずるケース(ユーザはいないけど、サービスとしてユーザを受け入れる準備が整っているようなレベル)であれば、アピールポイントにはなりうる、ということになります。
未経験エンジニアでも実践向けの知識と経験を得るための方法
さてここまで書いてきて感じたかもいるかも知れませんが、未経験でもエンジニアとして仕事を行うには実践向けのスキルは必須となってきます。
「未経験なのに実践向けのスキル?それって矛盾していない?」
そう思う方もたくさんいるかと思いますが、プログラミングに関して言うと、仕事でプログラミングを行っていなくても実践向けのスキルは得ることは可能です。
また、これらの内容はエンジニア面談の際にもアピールポイントになるので、未経験からエンジニアに転職する際にも有効です。
未経験エンジニアでも実践向けのスキルを得る方法は下記となります。
- いきなり自分でプログラミングを駆使したサービスを作ってリリースを行う
- GitHubを通じてオープンソースプロジェクトにコントリビュートしてみる
いきなり自分でプログラミングを駆使したサービスを作ってリリースを行う
これは上にも少し書きましたが、業務経験未経験ながら自身でプログラミングを利用してサービスを作っている場合、それはアピールポイントになります。
私はキャリア的にずっとウェブプログラミングを行ってきたので、今回はあくまでウェブサービスに限って書かせていただきますが、例えば自分でインターネットで調べながら自分なりのウェブサービスを作成・公開しており、かつそれらの実装内容や運営で苦労している点などをブログや、QiitaやZennなどの技術系ブログサービスに書いている方であれば、
- 自分で調べて作りたいものを実現できるスキルがあるので、業務で知らない技術を求められても対応できそう
- サービスの運用経験がある
- 自分から発信できるということは利用している技術などをある程度自分の中で理解しているという見方もできる
(勿論誤った情報を発信していたらマイナスですが…)
という感じでポシティブな印象を与えられますし、面談の際にエンジニア側からも一歩踏み込んだ質問ができるので、その人の人となりやスキル感なども図りやすくなります。
今ではHerokuやNetlifyなどを利用すれば無料でウェブサービスを運営することも可能です。
世界中に公開されるウェブサービスをリリースするまで作り切る、というのはポートフォリオを作るよりも遥かに求められる要件が異なってきますし、それはどちらかというと実践に近い内容ともなってきます。
(ユーザ目線でのUI設計、DBアクセス時の排他制御、セキュリティ、運営に必要なログの設計、サービス自体のSEOなどなど)
GitHubを通じてオープンソースプロジェクトにコントリビュートしてみる
業務経験未経験ながら実践向けのスキルを得るための有効な方法としては、他にGitHubを通じてオープンソースプロジェクトにコントリビュートしてみる、というのがあります。
プログラミングの世界ではオープンソースという考え方があります。
語ると長くなってしまうので割愛しますが、要は誰でもコードを読んで改修できる場所があるという感じです。
そして実際にそんなオープンソースプロジェクトのコードを読んで、バグを改修したり、もっとこうしたほうが良さそうというところに機能要望を上げてみたりして、プロジェクトに参加してみることで実践向けのスキルが身につきます。
大抵ある程度の規模オープンソースプロジェクトであれば、CI/CDなども整っていますし、業務で実際に目にするような運用に関するノウハウにも触れることができます。
未経験の場合、こういうところにいきなり手を伸ばすのは敷居が高く感じますが、それでも毎日少しずつ自分の興味あるプロジェクトを探してみるなどして少しずつ慣れていけば、いつの間にか「お、ここバグがあるから、ちょっとPR作って送ってみようかな」というマインドに変わってきます。
是非試してみてください。
ちなみにここまで知らない単語がいくつか出てきていますが、こういうのを自分からググって意味を理解していくことがエンジニアには求められます。
自分で調べる癖をつけるプロセスとして是非実践してみてください。
ちなみにGitHubは無料で使えるので、まだアカウントを持っていない方はまずは作成してみることをおすすめします。
最後に
ここまで未経験エンジニアでも採用されるための方法について紹介していきました。
結論から書くと、未経験とはいえやはり実践向けのスキルは必要かと思います。
ただいきなりそれを身に着けていくのはとても難しいものなので、まずは上に書いたようなことにチャレンジしてみることをおすすめします。
それ自体ができなくてもチャレンジして挫折を繰り返すことで得られる知識は多いですし、次のステージに進むための新たな疑問を得ることができます。
実際、私もエンジニアになりたての頃はプライベートで新しい技術を習得しようともがいては挫折を何度も繰り返してきました…。
折角の休日を無駄にした、と思う日も何度もありましたが、それ故に得られた知識はありましたし、また自身の挫折をブログに書き残すことで意外とそのブログ記事が読まれたりもありました。
(自分が挫折するということは他にも同じ部分で挫折する人がいるということですね)
転職を希望する未経験エンジニアでも会社に採用されたい、と考えている人は是非個々で書いた方法を試してみることをおすすめします。