プログラミング実務未経験者が自社開発エンジニアになるための方法
こんにちはysです。普段サーバーサイドのWebエンジニアとして自社サービスを開発している会社で働いています。
今では自社サービスのエンジニアとして働いていますが以前はSESと言われる派遣型エンジニアでプログラミングもあまりしないExcel職人のような働き方をしていました。その辺の話は以下の記事に書いてありますので興味ある方は是非。
≫ 新卒2年目でSESを辞めた話【経験談】
そんな経験も技術も豊富ではない僕がどうして自社サービスを開発しているエンジニアとして働き始める事が出来たのか。その経緯を当記事に書いていきたいと思います。
自社サービスのエンジニアなるための話の前に、前置きとして転職市場の話を少しだけしますが、転職で人を雇う枠には、2通りのパターンがあります。
- 即戦力採用
- ポテンシャル採用
この2パターンの中で実務未経験の人や経験が浅い僕のような人が狙う枠は、後者の『ポテンシャル採用』を狙います。
✅即戦力採用
文字の通りですが、その人を雇ったら即会社の利益になるプロジェクトにアサインして重要なポジションを任せたい人材
✅ポテンシャル採用
現状はまだ即活躍は見込めないけれど、将来的に会社にとって利益になる人材として雇って教育したい人材
この『ポテンシャル採用』を狙って重点をおいた解説となっていますのでそれを念頭に読んで頂けると効果が高いと思います。
目次
- 自社開発エンジニアになる3つのポイント
- 自社のサービスに対して研究をしている
- エンジニアとして必要な技術を常に探求していること
- フィーリング
- 自社開発エンジニアになるためにやった事
- GitHubやBitbucketなどの公開リポジトリを作成する
- サーバーやドメインを借りて、自作サイトを公開する
- Qiitaなどの公開プラットフォームを使用する
自社開発エンジニアになる3つのポイント
実際に面接して頂いた方から直接『なぜ、僕のような経験が浅い人を会社に入社させようと思ったのか』を聞きました。
そこには、ポイントが3点ありました。
- 自社のサービスに対して研究していること
- エンジニアとして必要な技術を常に探求していること
- フィーリング
【自社開発エンジニアなるためのポイント①】自社のサービスに対して研究をしている
自社サービスのエンジニアとして働きたいのであれば、受ける会社のサービスに対して知らないと話になりません。
ここは、受託型の会社やSES型の会社と比べて志望動機を作りやすいので楽だと思います。
例えばある業界に対して展開しているポータルサイトの開発を行っているのであれば、『その業界の知識 + 会社のサービスの知識』で答えると印象は良いです。
自社サービスの研究は細かいところまで。
そのサイトの導線(どのボタンを押したらどの画面に遷移するのか)や機能(サービス上の機能)はある程度研究しておくと良いです。
また同業他社との比較を行うとポイント高いです。
必ず会社が展開している事業には競合がいます。
受けている会社が業界順位1位を出しているなら優れている点を、そうではないなら改善点をなるべく研究して、面接で伝えると良いと思いますし、話自体も盛り上がります。
【自社開発エンジニアなるためのポイント②】エンジニアとして必要な技術を常に探求していること
これには3つのパターンがあります。
- ポートフォリオがあること
- 最新の技術に対してエンジニアの面接官と受け答えできること
- GitHubのコミットログが直近も更新されていること
パターン1: ポートフォリオは必須
自社サービスへの転職だけではなく、最近ではエンジニア自体の転職にはポートフォリオは必須です。
※企業側が必須としているわけではありません。あくまで就職の確立を少しでもあげる手段の1つ
ポートフォリオでも人の作ったものの模造品ではダメです。
GitHubなどで適当に引っ張ってきたもの改造して提出する人も稀にいるみたいですが意味なしです。
・作成した意図を語れない
・技術面の質問と回答がチグハグになる
・仕様を把握していない
※ポートフォリオで何を作ったら良いのか分からないという人向け
以前書いた記事ですが参考になると思います。
≫ プログラミング初心者は何を作る?
ポートフォリオの意味を考えよう
ポートフォリオを作成する意味は3つの理由があります。
・自分の技量を提示できる
・プライベートの時間を使用して開発する熱意があることが証明できる
・独創力に富んでいることを提示できる
【ポートフォリオの意味: 1】
✅自分の技量を提示できる
ポートフォリオは自分の今できる力の範囲を示すことが可能です。自分でサイトを公開していれば、サイトを公開する手順や、そこまでの開発の流れをある程度理解しているという証明になります。
また、資格などを持っていない場合はポートフォリオこそ技術の証明そのものなのです。以前、他の記事でも書きましたが、資格は取るのに時間がかかるので、技術の証明に使用することはオススメしません。
【ポートフォリオの意味: 2】
✅プライベートの時間を使用して開発する熱意があることの提示
すでに社会人の方であれば、基本は休日やプライベートの時間を削って転職活動の準備をしていると思います。というより、そのプライベートで削った時間を開発する時間に費やしていないと、ポートフォリオは作成できません。
よく面接ではポートフォリオを持たずに以下のような志望者の人がいるようですが…
・某プログラミングスクールを卒業しました!!
・Progateやドットインストールなどのオンライン学習をしています!
・熱意だけは誰にも負けません!!
あなたが面接官だった場合、「勉強だけしています」と口で言うだけの人と、実際に作品を持ってきて「見て欲しい」と提示してくる行動で示す人だったらどっちを見たいですか?
圧倒的に後者ですよね。
そういった人と差別化をするためにもポートフォリオが必須です。
【ポートフォリオの意味: 3】
✅独創力に富んでいることを提示できる
ポートフォリオって何かスゴイものを作成しなきゃと言う意味ではなく、ある程度自分が欲しいものや作成したいものを作るだけで良いと思います。それが独創力の提示になります。
自社サービスであればエンジニアであろうと、企画に参画したり意見を言ったりする機会が増えるので自分のアイディアがある企画力や、その企画を実現する実行力がポイントになります。
Twitterで検索すると発想力豊かな面白いポートフォリオが山ほどあります。その中からヒントを得ても良いかもしれません。
僕がTwitterでお見かけした中でも面白いものを紹介します。
≫ Twitterで見たポートフォリオ例
パターン2: 最新の技術に対してエンジニアの面接官と受け答えできること
これに関しては、少しレベルが高いかもしれませんがポートフォリオの内容で少しだけ最新の技術を入れておくと良いかもしれません。
【ポートフォリオの内容 + 取り入れた最新技術の内容】で話が盛り上がると思います。
以下は例) フロントのフレームワークにjQueryではなくVueを使用する サーバーの選択をHerokuではなくAWS、Google Cloudにしてみる 開発環境をDockerにしてみる...etc
現場で働いているエンジニアであれば大抵のことは分かるので、ある程度の技術の取り入れを行なった内容で苦労した点などを伝えるとポイントが高くなります。
パターン3: GitHubのコミットログが直近も更新されていること
タイトルにはGitHubとありますが、公開しているものがあればなんでも結構です。要は直近の勉強の痕跡がちゃんと残っているかが重要です。GitHubというソースコードを管理するサイトでは、自分のプロフィール欄にいくと直近であなたが、どのくらい活動していたか見ることができます。
もし、ポートフォリオなどの履歴が転職活動をしている直近3ヶ月以内に全く更新がない場合、非常にマイナスポイントになるので、お気をつけください。「最近一切勉強していないんだなこの人」と印象を与えかねません。
というのも、自社開発に限ったことではないですが、エンジニアは仕事柄勉強している人の方が好印象を与えやすいです。「仕事人間」となると世間的には嫌われるかもしれませんが、会社の人間からは非常に好かれます。(特にエンジニアで経験が浅いうちは
【自社サービス開発エンジニアなるためのポイント③】フィーリング
なんだよ精神論かよ…とありますが、会社で働いている人、雇う側の人は人間なので最終的には「この人と働きたいか」で決まります。
会社の雰囲気にこの人は合うのどうか、最終的にはフィーリングです。
ただ、そのフィーリングに対しては、自社サービスを運営している会社の中である共通点があります。
自社サービスのエンジニアの共通点は、自主性があり積極的に技術を吸収して、それを自社のサービスに落とし込もうとしていること。
自分たちで作成しているサービスなので仕事が降ってくるわけではありません。自分達で仕事を探します。その中で、常に受け身の人は自社サービス自体に向いていないです。
また、技術がだんだんと新しくなっていく中で、今ある技術はどんどん廃れるので新しい技術を取り込んでいく柔軟性が必要です。
なので、自分が挑戦的である事を技術と一緒にアピールすると相性良い感じの人が見つかるかもしれません。
自社開発エンジニアになるためにやった事
自社開発エンジニアになるためにはポートフォリオが必須という話は上記で散々していますが、自社開発エンジニアになるためにやった事はポートフォリオの作成です。
では、実際にどんなポートフォリオを作成すれば良いのか。
ぶっちゃけ作成するポートフォリオは以下の3種類で事足ります。
全ての3つに共通していることは、URLを叩けばその画面が見られる状態。
つまり、面接官がその場でパソコンから見られる状態ということです。
- GitHubやBitbucketなどの公開リポジトリを作成する
- サーバーやドメインを借りて、自作サイトを公開する
- Qiitaなどの公開プラットフォームを使用する
GitHubやBitbucketなどの公開リポジトリを作成する
自分で作ったプログラムはGitHubやBitbucketなどの公開リポジトリを作成できるプラットフォームを利用して公開しましょう。
ぶっちゃけこれが一番手っ取り早く王道感あります。
なぜなら以下の理由があるから。
・バージョン管理(Git)が使える証明
・面接官がcloneすれば見て、動かせる
・実際にソースの中身を見ることが出来る
僕は履歴書と職務経歴書にGitHubのURLを載せていましたが、面接等で「リポジトリの中身見ましたよー」と反応を頂けました。
職務経歴書などの空いたスペースを埋める手立てとしても有効です。GitHubの使い方などの軽い設定方法は以下の記事で書いてあります。
関連記事≫ 【プログラミング初心者向け】GitHubで行うチーム制作やコードレビュー
サーバーやドメインを借りて、自作サイトを公開する
ちょっとお金がかかるかもしれませんが、一番アピールポイントが高いのがこの方法だと思います。
自作サイトを運営してしまっていること。
自作で作ったSNSサイトでも良いですし、何かしらのサービスを展開しているサイトでも、自作で作ったブログでも良いと思います。
僕のこのブログのテーマは自作テーマなのですが、これもポートフォリオとして企業先に提出しました。
※Wordpressのオリジナルテーマの作成の話は以下でしています
関連記事≫ WordPressでオリジナルテーマを作成するロードマップ【エンジニアじゃなくても簡単に出来る】
これの最大のメリットは以下かなと思います。
・サーバーの環境構築を0から行う技術がある
・サーバーにデプロイする技術がある
どうしても自作サイトを構築して公開するまで必要な技術があります。それをこなしている時点でかなり技術のアピールポイントになります。
また、集客が実際に出来ていれば単なる技術屋であるエンジニアから頭一つ分抜け出しているので、その後のポジションを狙いやすくもなります。
上記でサーバーのレンタルなどでお金がかかるとは書いていますが、Google Cloud Platformでサーバーを借りればある程度は無料で動かせるので、実際にお金が発生するのはドメイン取得くらいだと思います。
多少の余裕があるのであればこちらがオススメです。
時間も結構かかるので実際に就活をする時期を逆算すると良いと思います。
Qiitaなどの公開プラットフォームを使用する
お金が発生せず、難しい設定等がいらないので一番楽なポートフォリオです。
が!!一番技術を表すには難しいと思います。
なにせ、上記2つはプログラムベースで説明をしたりで技術を証明できますが、Qiitaはどっちかというと言葉ベースで証明する必要があります。
勿論、『作成したプログラムを全公開だけして説明は一切書かない。』なんてやり方でもコードを読めば良いので、ポートフォリオにはなりますが、Qiitaの意味がないですよね。
上記のやり方であれば、GitHubなどに載せたほうがいいです。
Qiitaの強みは書いたプログラムを説明しながら書くことで、理解している部分を明確に証明することができます。それがないとQiitaの強みは活かせません。
メモ書き程度でも説明を書いて、自分の作ったものや勉強したものをアウトプット専用プラットフォームとして利用すればきちんとしたポートフォリオになります。
まとめ
自分がSESの出身ということもあり、プログラミングの実務経験が少ない中で、どうすれば自社開発のエンジニアになることができるのか。
実際に行動した結果、このやり方で無事に自社開発のエンジニアになることが出来たのでかなり実証性は高いと思います。
少しでもこの中からヒントが得られたなら嬉しいです。
Twitterで見たエンジニアのポートフォリオ例
相変わらずのウェブカツ生のレベルの高さ https://t.co/ac0890txiR
— ys (@sy_sh7711) 2019年7月3日
やっぱりこういうの観るとウェブカツ生ってレベル高いなあって思う。
いわゆる、オンライン学習で模写しただけで作りました!!っていうのではなく自分オリジナルのものを作ってるから本当凄い。
プログラムの教育が変わる感じを目の当たりにしてる。
そして追い越される恐怖で震える…ブルブルブル https://t.co/FHGalZGEvP— ys (@sy_sh7711) 2019年6月15日
おーすごい!!
機能的には簡単なんだけど、一部にニーズがある商品を開発するとこんなに反響があるのか!やっぱりこういうところ含めて、ウェブカツって優秀な人多いな https://t.co/5kRVUgekRC
— ys (@sy_sh7711) 2019年6月24日
人気記事【独学者おすすめ】プログラミング学習動画サービス3選