はじめまして。開発のマネージャーをしていますYです。WEBエンジニア歴は約15年ほど、今まで数十人のエンジニアを育成してきました。言語としても一番多かったのはPHPですが、perl、java、Ruby、python、swift、kotlin、etc結構色々な言語を触ってきました。
最近社会人として数年経過して、また、大学卒業を前にしてITエンジニアになりたい!ということで考えてる方がすごく増えてきていると思います。
昔に比べるととても始めやすい環境ができていますが、なにしたらいいの?という方が多いので、私がお勧めするWEBエンジニアになるためのファーストステップをご説明します。
期間としては普段学校や会社があって、平日は時間が取りにくい方で3ヶ月程度あれば終われる内容を記載してい(るつもりでござい)ます。
前提条件
エンジニアを目指すにあたって、以下は大事なポイントです。
- パソコン苦手、触ったことがほとんどない。ブラインドタッチできない
まずは安いパソコンでいいので買って、ブラインドタッチや基本的な操作を習得しましょう。
- 英語が苦手
まずは、情報を得るにあたっても英語で情報収集すると、日本語と比較して圧倒的な情報量が得られます。また、色々な名前をつける作業(ファイルや機能の名前、URLとしてどのような表記とするかなど含め)もあります。エラーの表示は大概英語です。エラーは開発過程で常に出てくる物なので、それをちゃんと見て対応する必要があります。英語は学ばない!学びたくない!という人はエンジニア目指すのは自由ですが、厳しい可能性が非常に高いです。
- 新しいことは学ばずに何も考えずルーチンワークをしたい
AIやロボットに仕事を奪われてしまう恐れがあります。今後のことをよく考えましょう。
基本的な心構え
エンジニアといってもスキルの差や、得意分野は千差万別です。
フロントエンド(利用者が触る表部分)、バックエンド(使う人には見えない部分)、言語、その他もろもろ色々な選択肢があります。
常に新しい技術が生まれ、全てをマスターする、というのは不可能ですが、導入としては幅広く色々な技術に触れていくことが大事です。
- 100%を目指さない
同じアウトプットに至るにも、色々なやり方があります。
「完璧な」やり方を目指しても時間がかかるだけで、おそらくゴールに至れません。
初めて1年くらいは「動けば良し!」くらいのスタンスでとにかく作る!ということを意識して取り組みましょう
- 覚えない
覚えようとすると覚えることが多すぎて挫折します。スピードも遅くなります。
覚える必要はありません。こういうのがあるんだなー、という理解が大事です。よく使うものはしばらくしたら自然に覚えていきます。
とにかくコードを打って動かしてみる、コピーして改変して動かしてみる、ということを繰り返して理解を深めましょう。だんだんと、こういうものなんだなーと理解ができると思います。
- 自分で調べて自分で解決する(心が折れない程度に)
解消すべき課題にぶつかったら、自分で調べて答えを見つけましょう。
Googleで調べると、ほとんどのことは先駆者たちが情報として乗せてくれています。また、自分で調べているとその周辺知識も含めて新しい情報に触れられます。
「人に教えてもらう」というのは答えには早くいたれるのですが、30分程度は全く進展がなくても誰かに聞く前に自分でなんとかすることを目指しましょう。
次のような能力も長期的に身につけられます。これが後々大事になります。
- 自分で問題を推測したり、正しく認識する能力
- 問題を解消するための方法(検索したり、検索した結果から必要な情報を取り出して、適用するノウハウ)
で、なにやればいいんだい?
基本的には以下の2つです。
- 入り口を学び雰囲気と基本的な知識を得る
- 自分でなにか作って公開してみる
順番に記載していきます。
1.入り口を学び雰囲気と基本的な知識を得る
今はオンラインで学習できるサイトがたくさんあります。
お金が余っている方であればもちろん数十万円払ってスクールに通うのもの良いですが、そもそも適正がない、やってみたら楽しくなかった、とかありえるので、、、
私がお勧めするのは「有料のスクールに通う」のではなく、まずはオンラインで自分で学習してみる、という方法です。
以下の記事はよくまとまっているので、こちらを参考にしながら独学に取り組んでいただくのがいいと思います。
progate
https://prog-8.com/
↓
ドットインストール
https://dotinstall.com/
2.自分でなにか作って公開してみる
実際にエンジニア、プログラマとして就職したり、クラウドワークスやランサーズで仕事を受注する、といったことが一旦のゴール(というか本当の始まり)という感じになるかと思いますが、その時にあった方がよい(というかほぼ必須)なのが「ポートフォリオ」です。
↓↓↓ ポートフォリオってなに?という方はこちら↓↓↓
「ポートフォリオ」でなくても、実績のURLが出せれば十分です。
まずは完全コピーでいいので一通り流れを経験する
まずは、だれかが詳細に紹介してくれているものでよいので、真似してどんどんToDoアプリなどなど作ってみましょう。
まずはたとえばこんなの
【DB不要】PHPでToDoアプリを作る
https://qiita.com/masa_mf3/items/948a0f4d2857c6739ac5
上はさくっとできると思いますが、その次はちょっと突っ込んでこんなの(ここまで来たら本を買ってみて、本を参考に作ってみるのも良いと思います。)
Laravel&Bootstrapで作るTodoアプリケーション開発(入門編)
https://zenn.dev/ponta/books/164bb277874f1e607f97を
作ったものは公開しましょう!!!
自分で企画したアプリケーションを作る
「自分でサービスを作ってみる」に含めたい注意事項です。
- ちゃんと自分のオリジナルの企画で。
- ただのHTML、CSS、Javascriptを使っての単なるウェブサイトではなく、PHP、Python、etc言語を使ってシンプルでもいいので「プログラミング」の要素を盛り込んだサービスにすること
- 難しすぎるのは避ける。「開発」自体は3日~長くても1週間で作れそうなものにする
※セキュリティのことを理解するまでは、大事な情報を取り扱う企画はやめましょう。
- サービス企画
どんなサービスを作るか考えます。この時に、はじめはできるだけシンプルなものを作ることを心がけましょう。
たとえば、こんなサービス、シンプルでありながら強いインパクト。すばらしいと思います。
鼻毛通知代理サービス「チョロリ」:http://hanage.info - 開発
企画したものを開発しましょう。とりあえず動けばOK。細かいこだわりは捨てて、予定した期間でできるだけ一通り作りきりましょう。予定期間を大幅に超過してしまったら、一旦切り捨てられるところはカットして次にすすみましょう。
- リリース
レンタルサーバでもherokuでもなんでもOKです。みんなが見られるようにしましょう。
- 運用
例えばウェブサイトなら、Googleanalyticsを入れたり、Search consoleも登録したりして、SEOなどについてもちょっと知ってみましょう。
【今さら聞けない】Googleアナリティクスとは?導入手順から使い方まで5分で理解!
https://wacul-ai.com/blog/access-analysis/google-analytics-method/what-is-google-analytics/
【やさしい】Googleサーチコンソールとは?使い方・設定の基本
https://satori.marketing/marketing-blog/seo/google-search-console/
大事なことなのでもう一度
作ったものは公開しましょう!!!
まとめ
大事なことは、自分の企画でゴールに至った(世にサービスを出した)ということです。
それだけであなたWEBエンジニア(の卵)として以下の評価が付加されます
- 適性があるであろうこと
- 目標達成能力があること
ここまでできたら、
- 引き続き独自企画のアプリケーションを作ってみる
- クラウドワークスやランサーズ で簡単な仕事を受けてみる
のどちらか、もしくは両方をやりながら知識を得、腕を磨き続けつつ、タイミングをみてどこかの会社にエントリーしてみましょう。
もちろん弊社でも募集中です。実務未経験でもこれだけやってきました、という方がいれば是非お問い合わせください!!!
文:開発部Y