言語やフレームワークは学習したけど、現場に入る前に何をやっておいたほうがいいの?という方に向けて解説していきます。
なので、言語やフレームワーク以外に関することをまとめました。
結論
- Docker
- SQL
- Git/GitHub
- 質問の仕方
SQL
結論から言うとSQLでCRUDができるレベルでいいと思います。
SQLは勉強しておいた方がいいです。僕はまだやったことないですが、保守運用をしている同僚は、SQLでデータ操作をする作業は日常茶飯事と言ってました。
僕もサーバーエラーの問題を調査する時にどのクエリが発行されているか、どのテーブルとどのテーブルがjoinされているかを把握していないといけません。
indexを貼る作業も当たり前のようにやっておいて!と言われてしまいます。
しかし、個人でアプリを開発する際はそんなに大量のデータを扱うことはないからです。
本や動画教材、Progateなどでさっと学習して、欲しいデータを取ってくることができれば問題ないと思います。
余裕があれば、indexを貼ったり、フレームワークを使ってソースコード上のどこでクエリが発行されてるかを確認するといいと思います。
Laraveで言うと、ご存知かもしれませんが、「Laravel Debugbar」と言う便利なものがあるので、使ってみましょう。
Docker
Dockerは現場によって異なると思いますが、取り入れている現場に入る予定の場合は勉強しておくと、環境構築がスムーズです。
最初に環境構築を時間をかけずにできると、すぐに開発やコードを書くフェーズに移行できるからです。
やることとしては、Laravelの開発環境をDockerを使って構築してみることをオススメします。
Git/GitHub
Gitについては、必須でやっておいたほうがいいです。
1人で開発するときは、add、commit、pushくらいしかやらないと思いますが、revert、fetch、stashなども学んでおくといいです。
人間誰しも失敗する生き物ですので、間違えて他の開発者の差分を取り込んでしまった、pushを取り消したい、commit履歴を1つにまとめたいなどこんな時にどうすればいいのかを考えます。
ググったらすぐにどうやればいいのかがわかると思うので、現場に入る前に自分の開発環境で練習しておきましょう。
また、複数人で簡単なアプリをGitでバージョン管理して、開発してみるのもいいと思います。
間違えた時の対処法を現場に入る前から知っておくと、いざ現場でミスってしまった時に冷静に対応することができます。
質問の仕方
- 質問するときは、結論から話す
- 起きている問題
- ソースコードを共有
- 自分なりに調べたことや考えたことを伝えることも忘れないようにしましょう。
質問するときは、結論から話すようにします。
やりたいこと、解決したいことを1行でまとめられると尚いいです。これで「何が言いたいの?」と言われることを避けることができます。
起きている問題について話します。
エラーが起きている場合は、自分がどのような作業をした時にこのようなエラーが出たのかと言うことを簡潔にまとめて伝えます。
状況を事細かに説明すると、案外すぐに解決することが多いからです。
逆にきちんと状況を伝えれないと、簡単に解決するようなエラーに時間がかかってしまい相手の時間を奪うことになってしまいます。
だから、相手には自分がどのようなことをやっており、何をしたらエラーが出たのかという問題をきちんと伝えましょう。
また、新機能追加をする時にここまでやったが、自分が実現したいことがうまく実装できないと言うことを明確にして伝えるという時も同様です。
ソースコードを共有する
該当箇所や必要であれば、全部のソースコードをみてもらいましょう。その時は、GitHubのリポジトリに上げたのを共有するといいです。
もし自分が該当箇所だと思っている部分が全然違っている時に相手の時間を奪ってしまいます。
できるだけ、GitHubのリポジトリに上げて共有しましょう。
自分なりに調べたことや考えたことを伝える
調べたことや考えたことは忘れないようにメモを取っておきましょう。参考にした記事でもいいですし、自分なりの仮説でもいいのでなんとか自分で解決するように試みましょう。
調べたことが多くなってしまう場合は、自分がメモしたのを見せてもいいでしょう。
たまに質問内容をまとめていると、自分でまだ試したことがないことに気付いたりします。
また、自分で頭がスッキリした状態になり、自己解決できたりするので、質問前にまとめておくのはオススメです。
まとめ
ここで述べた4つの現場に入る前に勉強しておくことも大事ですが、言語やフレームワークに関する理解がないと現場で苦労することになってしまうので、まずは言語やフレームワークの理解を最優先にしてから上記の4つを勉強するようにしましょう。
以下にもう一度、現場に入る前に勉強しておくことをまとめておきます。
- Docker
- SQL
- Git/GitHub
- 質問の仕方
コメント