こんにちは!
スマレジ・テックファームのWebエンジニアやまてと申します。
はじめに
今回は、Webエンジニアとしての自己成長のための自習についての、これまで半年の振り返りと、これから半年の目標を書きます。
期間は下記の通り、スマレジの人事評価の上半期/下半期に合わせています。
- 上半期(2022/05/01~2022/10/31) → これまで半年
- 下半期(2022/11/01~2023/04/30) → これから半年
目次
これまで半年の振り返り
上半期の目標と、目標のそれぞれに対して実行したこと(Do)、それに対する検証(Check)、これから改善すること(Act)を書きます。
上半期の目標 Plan
上半期(2022/05/01~2022/10/31)の目標は、以下の内容でした。
半期目標 Goal
自己成長についての半期(2022/05/01~2022/10/31)の目標ですが、以下の内容にしています。
1. DB設計の習得
動画教材サービス「独学エンジニア」の教材のパート「データベースとSQL」についての動画視聴・課題を完了させ、実務レベルの知識をつける。
同じく、動画教材サービス「独学エンジニア」の教材のパート「PHPとオブジェクト指向」についての動画視聴・課題(ブラックジャックゲーム作成)を完了させ、実務レベルの知識をつける。
3. Webアプリケーションのセキュリティの習得
『安全なウェブサイトの作り方』と、
『体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践(徳丸 浩 (著))』(通称「徳丸本」)
を通読して、実務で知っておくべき知識を身につける。
1. DB設計の習得
動画教材サービス「独学エンジニア」の教材のパート「データベースとSQL」についての動画視聴・課題を完了させ、実務レベルの知識をつける。
上半期の実行 Do
上半期(2022/05/01~2022/10/31)に実行したことは、以下の内容です。
- レッスン40:データベースを設計しよう
- 正規化 / ER図 / テーブル定義 / インデックス設計
- レッスン41:高速なクエリを書こう
- 実行計画の確認 / CASE式で条件分岐 / N+1問題への対処
- レッスン42:トランザクションで同時実行制御しよう
レッスン43: 【プロジェクト】ログ解析システムを作ろう
制作物は GitHub で公開しています。
検証 Check
- 計画通り、実行できました。
- SESの今の出向先で、DB設計について概要設計書を作成する際に、自習した知識が土台となりました。特に、トランザクションで同時実行制御について、実務で考える機会が多かったため、自習と実務の相乗効果を部分的に感じられました。
改善 Act
- 「ログ解析システムを作ろう」の課題については、今後、ブログ記事としてアウトプット予定です。
- これから半年のDB設計の学習については、Webアプリ開発を通して、より実践的な知識を得たいと考えています。
2. PHPとオブジェクト指向の学習
動画教材サービス「独学エンジニア」の教材のパート「PHPとオブジェクト指向」についての動画視聴・課題(ブラックジャックゲーム作成)を完了させ、実務レベルの知識をつける。
実行 Do
上半期(2022/05/01~2022/10/31)に実行したことは、以下の内容です。
- レッスン10: PHPの基礎を学ぼう②開発の効率化
- レッスン11: PHPの基礎を学ぼう③制御構造
- レッスン12: PHPの基礎を学ぼう④関数
- レッスン13: オブジェクト指向(OOP)で書こう
- レッスン14:UMLを使おう
- レッスン15:SOLID原則に則って書こう
- レッスン16:デザインパターン
レッスン17:ブラックジャックゲームを作ろう
制作物は GitHub で公開しています。
Qiita に関連記事を投稿しています。
検証 Check
改善 Act
- ブラックジャックについては、スマレジの教育担当の方にレビューをもらった点の修正が残っているため、その点は11月中に修正します。
- また、コンソール画面での操作をWebアプリ化してもいいのでは、とも他の方からお声をいただいたりもしましたので、取り組むかどうかは要検討です。
- 教材での学習を通して、手を動かす学習の重要性を実感しているため、今後の学習もインプットしたら手を動かす、というステップを踏むようにします。
- 以下の流れをテンプレートにしていきたいです。
- 教材でのインプット
- 手を動かしてのアウトプット
- 記事にまとめてのアウトプット
- 以下の流れをテンプレートにしていきたいです。
3. Webアプリケーションのセキュリティの学習
『安全なウェブサイトの作り方』と、『体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践(徳丸 浩 (著))』(以下、徳丸本)を通読して、実務で知っておくべき知識を身につける。
実行 Do
- 両方とも通読しました。
検証 Check
- 教材のタイトル通り、体系的なインプットはできたと思います。ただ、手を動かすというステップを踏まないと、理解できたという感覚には至らないと思っています。現時点は「この攻撃について概要を説明して」と言われたとしても、うまく説明できない状態です。
改善 Act
- 現時点は頭の中にインデックスは貼れた状態ではあるので、今後、セキュリティに関連する実務や自習の際に、もっと理解を深める機会を得たいと考えています。
その他(習慣化など)
ブログ記事の投稿(週に1記事投稿)
- 5/1〜10/31の半年間で、 26 記事投稿しました。
Qiita 記事の投稿
- 5/1〜10/31の半年間で、 9 記事投稿しました。
- この記事をかなり多くの方に見ていただいたことで、経験の浅い私にも、題材によっては誰かにとっての価値になる記事を書けるんだなー!と成功体験を得ることができました。その後は、 Qiita への投稿は楽しく継続できています。
- 記事としてアウトプットすることは、私にとっては強みにできるという感触がありましたので、今後も量をこなして腕を磨いていきたいと思います。
- ただ、いいねをもらうために記事を書く、という目的のために書いているのではなく、アウトプットしてインプットを強化する、という目的のために書いていることを忘れないようにします。
朝活の継続
- 5/1〜10/31の半年間、一日も途切れず、朝の学習を継続しました。
学習時間の確保
- 5/1〜10/31の半年間の学習時間は、 618 時間でした。夫婦共働きで子育てしながら、という生活の中では時間を作れている方かと思っています。
- 学習時間を確保できている要因としては、以下が大きなものと考えています。
- 残業がない
- 家事の時短を工夫している
- 健康でいられるよう、食事、睡眠を大事にしている
そういえば2年以上、一度も体調不良になってない。(副反応と食あたりを除く)
— やまて|Webエンジニア2年目 (@r_yamate) 2022年10月25日
- 心や体の健康管理は、学習するにしろ、仕事するにしろ、継続やパフォーマンス向上の土台となるので、健康管理を強く意識しながら生活していることは自分の強みの一つだと最近感じています。
これから半年の目標
これから半年、 下半期(2022/11/01 ~ 2023/04/30)の目標です。
以下、スマレジの人事評価で提出する資料の「自己成長考課」の欄に書いた内容をほぼそのまま転載します。
1. PHPフルスクラッチでのWebアプリケーション開発の学習
動画教材サービス「独学エンジニア」の教材のパート「フルスクラッチでWebアプリケーション」の動画講義、課題を完了させる。
下記の内容を実施します。
書籍『良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方』(通称、ミノ駆動本)を通読する。
通読して、アウトプットとしてブログ記事に投稿します。
2. スマレジアプリマーケットのWebアプリ開発
使用技術の学習として、書籍『TerraformでFargateを構築してGitHub Actionsでデプロイ!Laravel編』のハンズオンを実施する。
スマレジ・アプリマーケットに公開できるWebアプリ(PHP/Laravel) を開発する。
3. 出向先で必要な技術の学習
- AWS(ECS(Fargate)、DynamoDB)、Docker、Redisについて学習し、ブログ記事やQiita記事としてアウトプットする。
以上が、「自己成長考課」の欄に書いた内容です。
上記の中で最も注力したい課題は、 スマレジ・アプリマーケットに公開できるWebアプリ(PHP/Laravel)の開発です。
その他
他に実行すると決めていること、やれたらやりたいことなどを箇条書きします。
他に実施すると決めていること
- ブラックジャックについて、スマレジの教育担当の方にレビューをもらった点について修正する。
- 過去のポートフォリオWebアプリの開発の振り返り、バグ修正、機能追加する。
- ブログ記事を投稿する。(週に1記事投稿、2023年3月から月2記事投稿)
- Qiita 記事を投稿する。(月に1記事投稿)
※ 現在考えている記事の題材の案 → ログ解析システムの作成工程、過去のポートフォリオWebアプリの開発の振り返り、AWS(ECS(Fargate)、DynamoDB)、Docker、Redis、ミノ駆動本…
できればやりたいこと
- 所属部署の有志で内製アプリを開発する🦆。
- 同部署の経験3年以上のエンジニアの方が、開発するならコードレビューすると言ってくださっている。
- Web開発関連の副業を始める。
TryHackMe をやってみる。(セキュリティの学習)
朝活の継続
- 4/30まで、一日も途切らせず毎日継続します。
学習時間の確保
- 100時間/月を学習時間として確保します。(半年で600時間程度)
計画 Plan - 11月
下半期(2022/11/01 ~ 2023/04/30)の目標に沿った11月の計画です。
1. PHPフルスクラッチでのWebアプリケーション開発の学習
- 独学エンジニアの動画講義、課題
- 読書『良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方』
2. スマレジアプリマーケットのWebアプリ開発
- 読書&ハンズオン『TerraformでFargateを構築してGitHub Actionsでデプロイ!Laravel編』
- スマレジ・アプリマーケットに公開できるWebアプリ(PHP/Laravel)開発の下調べ
3. 出向先で必要な技術の学習
- AWS(ECS(Fargate)、DynamoDB)、Docker、Redisについての以下の学習
おわりに
迷いなく取りかかれるところからどんどん実施していこうと思います。量をこなす半年間を過ごします。
今回の記事は以上です。ありがとうございました。
お話いただいた方々ありがとうございました!LTとても勉強になりました🙏 https://t.co/zDRXgiM0m4
— やまて|Webエンジニア2年目 (@r_yamate) 2022年10月30日
みなさんそれぞれの悩みの中で成長していて、その情報を交換して、切磋琢磨する良き仲間ですね。 https://t.co/hd4obrb5EH
— やまて|Webエンジニア2年目 (@r_yamate) 2022年10月30日
エンジニア同士のつながりも大事にしていきたいです。