はじめに
実務未経験からエンジニアとしてオープンロジに入社してはや半年。振り返りの一つとしてこの記事を書いてみました。
エンジニアとしての転職が決まり、それまで使ったことのないLaravelを書くことになったので、有給消化期間をほぼほぼ勉強に当てました。そんな記録です。
入社前の一ヶ月、僕は以下のような状態でした。
- 大学は工学部。情報系ではないが、基本的な情報工学は勉強した。
- 数ヶ月前に応用情報を取得したばかり
- プログラミングは大学で初めて触れた。C/C++とPythonの基本的なところはやった。
- PHPは殆ど触ったことがない。強いて言うならWordPressで関数のカスタマイズするくらい。
- ましてLaravelは全く知らない
- Docker, RDB(SQL)は少しかじった程度
やったこと①|ProgateのPHPとSQLをやる
PHPの文法を知らなかったので、手っ取り早く理解するためにProgateを1周しました。
Progateはハンズオンでテンポよくできるのでいいですね。
大体2日〜3日くらいで終わったと思います。
やったこと②|DockerでLaravel+MySQLの環境構築
開発はDockerの環境を使うことを聞いていたので、DockerでLaravelの環境構築をしました。
ゆうきゃんさんのQiitaの記事に細かく手順が書いてあり、とても参考になりました。
Dockerの細かいところについては次の本を参考にしました。
この環境構築だけで、僕は4、5日使ってしまいましたが、Dockerがある程度使えるようになったので良かったかなと思います。
やったこと③|Laracastsの「Laravel 8 From Scratch」を見ながらコードを模写
https://laracasts.com/series/laravel-8-from-scratch
Laravelには公式ドキュメントにチュートリアルがありませんが、その代わりにlaracasts.comで様々な動画が公開されています。課金しないと見られないものもありますが、基本的なチュートリアルは無料です。
このLaravel 8 from Scratchは、動画の再生時間が9時間48分に及ぶボリュームです。 内容は、ブログ投稿サイトをスクラッチで作るものになっています。Laravelの基本からN+1問題やMassAssignment脆弱性などの重要な部分、DI(Dependency Injection)の解説まで網羅されていて、正直この動画が無料なのはなにかの間違いではと疑ってしまうような内容です。
英語しかありませんが、動画のJeffery氏の解説が非常にわかりやすいので、英語が少し聞ければ十分役に立つ動画でした。英語が聞き取れないところは、Siriにリスニングしてもらって対応していました。
完走するのに3週間かかりましたが、今思えばLaravelで開発するのに必要な知識の60%くらいは網羅できたのかなと思います。
進めていく上で大事だったこと
わからないことは一旦放置
これはプログラミングに限った話ではないと思うのですが、わからないところは一旦放置して次に進めると良いです。
難しい話をすぐに理解するのは難しく、ずっとそれを考え続けても理解できるわけでもないなと改めて感じました。一旦放置して次に進め、また戻ってきたときに初めて理解できるものも多かったです。
「その日のノルマをすべてやるまで次に進まない!」のではなく、「3週間のうちに理解できるようになればいいや〜」くらいのゆるいスタンスのほうが、いろいろ楽だしかえって効率が良いと思います。
GitHubに毎日Push
Githubに草を生やすことでモチベーションが維持できます。
できなかったことより、できたことに目を向けるのがよいです。
最後に
正直、これでも内容的には不十分ですが、1ヶ月という限られた時間でできることはやれたのではないかなと思います。
実際、仕事をしていく中で覚えないといけないことが圧倒的に多いと思うので、これ以上の内容は必要だと感じたり、興味を持ったりしたときにやれば良いのではないかなと思っています。