本記事の内容
・この記事の信頼性
・エンジニアになるまでに最低限必要な勉強内容
・新人エンジニアになる前に勉強した内容
・【新人エンジニアになって気付いた】勉強しておいた方が良かったこと3選
この記事の信頼性
こんにちは。Web系エンジニアのカズです。数年前に未経験からプログラミング学習を始めて転職し、現在は単価80万円~90万円の案件を受注して活動しているエンジニアです。
エンジニア歴は約7年になります。使用言語やフレームワークは以下です。
・HTML 7年
・CSS 7年
・Javascript/jQuery 7年
・PHP 7年
・Typescript.js 3年
・laravel 5年
・Vue.js 4年
・React.js 3年
本記事では「新人エンジニア」へ向けて、お役に立つ情報を発信したいと思います。
正確には現場に、新人のプログラマーとして参画する方に向けた内容です。
というのも「自己学習」と実際の現場に入ったときの「実務」では大きくギャップを感じる部分があると思います。
実際に私が経験したことで、おそらく多くの方にあてはまるであろう内容だと思います。
また、その対応策も記載した記事になります。
エンジニアになるまでに最低限必要だと思う勉強内容
私が思うエンジニアになるまでに最低限必要だと思う勉強内容です。
①基礎学習(Progate,ドットインストール)
②実践的な学習(簡単な機能を沢山つくる)
③練習用ポートフォリオをつくる
④本番用ポートフォリオをつくる
ここで大切なことは「②実践的な学習」と「③練習用ポートフォリオをつくる」の工程です。
この②と③の工程を疎かにしてる学習をしてきた方もいるのではないでしょうか。
基礎を学んだらそれを使えるレベルまで身に付けないといけません。
プログラミングに限らずですが、基礎ができたら沢山練習したり実践して鍛えますよね。
自分で考えてプログラミングをする訓練を②と③で沢山やる必要があります。
もし②と③の工程が足りないなと感じる方は、ぜひやってください。
本記事では、これに加えて「新人エンジニアまたは転職前の学習中の方」にやってほしいことをお話します。
【経験談】私が新人エンジニアになる前に勉強した内容
・言語:HTML,CSS,Javascript,jQuery,PHP
・ツール:BackLog,vscode
【新人エンジニアになって気付いた】勉強しておいた方が良かったこと3選
①チーム開発の経験をすること
②他人が書いた、大量のソースコードを読みとけるように勉強すること
③仕様について会話をする練習をすること
①チーム開発
チーム開発で必要なこと
- 他人のソースコードを読む
- バージョン管理が必須になる(Git)
- 自分のソースコードが他人から見て読みやすいのかを考える
他人のソースを読む
バージョン管理が必須(Git)
自分のソースコードが他人から見て読みやすいのかを考える
②大量のソースコードを読む力
・ルーティングやURLからコードを探す
・ショートカットキー(Vscode)
開発者ツールを使う(CSS,Javascript)
ルーティングやURLからコードを探す
PHPの場合はURLからどのファイルのソースコードが反映されているのかを確認できます。
URL例:https://ドメイン名/index.php
この場合はindex.phpのソースコードが画面に反映されているということです。
また、フレームワークのLaravelではルーティングファイルを確認するのが良いでしょう。
Laravelではデフォルトでweb.phpのルーティングファイルが設定されています。
例えばURLが「/user/login」の画面を見ていて、どうロジックが組まれているか確認したいとしましょう。
その場合、web.phpで「/login」と検索します。Vscodeなら「Ctl+F」コマンドですね。
上記だとLoginControllerのlogin関数の中の処理が動いていることが特定できます。
Vscodeなら「Ctl+P」のファイル検索でLoginControllerを開いてすぐ確認ができますね。
ショートカットキー(Vscode)
大量のソースコードを読み解くのに便利で良く使う、ショートカットキー(Vscode)を紹介します。
・Ctl + F (ファイル内検索)
・Ctl + Shift + F (全体の一括検索)
・Ctl + P (ファイル名検索)
③仕様について会話する
エンジニアはプログラムを書くことだけが仕事ではありません。ポジションがプログラマーであっても同様です。
プログラムを書くといっても「仕様を明確にする」という工程が必要なので、仕様についての会話力は必要になってきます。
現場に入る前の勉強では、プログラムの読み書きやツールの使い方などは学習していても、会話する訓練というのはあまりしていないのではないでしょうか。
仕様について説明するのは、意外に伝え方が難しかったりします。時には専門用語を使わないと、上手く伝わらないこともあります。
逆に聞く立場の時に、ずっと専門用語でわかりにくい説明をしてくる人も中にはいます。その時に理解ができないと仕様の認識がかみ合わず、「求められているものと違うものを作ってしまった」なんてこともあり得ます。
仕様の会話中でも「それって、こういうことですよね?」という確認が臆せずできるかが重要です。
自分の仕様の認識と相手の仕様の認識が一致していないと、作業内容がズレてしまい効率が悪くなってしまいます。
まとめ
勉強は個人開発だけでなく、チーム開発をすることを取り入れましょう。
チーム開発で勉強できる内容は下記です。
チーム開発で勉強できること
・他人のソースコードを読める。大量のソースコードを読む力が付く。
・バージョン管理ツールを使用して、実践的なチーム開発ができる。
・チームで仕様の認識を合わせる訓練ができる。
コメント