スマレジのテックファーム(SES 部門)で Web 系エンジニアとして働いている やまて(@r_yamate) と申します。
2023 年 4 月からは、スマレジの関連アプリの開発業務を担当しています。
業務でのコーディングは初めてで、日々奮闘中です。Flutter(Dart、Kotlin)をメインで担当していて、React、Laravel の一部機能実装を担当しています。
開発しているアプリはリリース間近で、利用していただく日を楽しみにしています。
はじめに
今回は、Web 系エンジニア3年目の 2024 年のプラン、「この先1年は具体的には何するのか?」について、PDCA サイクルに基づいて Plan(目標設定と行動計画)を考えます。
目次
1. 目標設定
どのようなスキルを身につけていきたいか、エンジニアキャリアの軸足にしたい分野については、前回の記事で以下のように書きました。
35 歳でのエンジニアキャリアスタートなのでエンジニアとしての老い先は短いため、これと決めて得意分野を尖らせたほうが良いのでは?と思うこともありました。
しかし、現在新規開発のプロダクトに参画していて思うことは、バックエンド開発だけ、という範囲のみを担当し続けることは逆に難しいのではないかと感じています。
フロントエンド開発、バックエンド開発、ネイティブアプリ開発、守備範囲外とは言ってられず、必要に駆られて経験することになったため、そのように感じました。
とは言え、守備範囲は広く保ちつつも、エンジニアキャリアの技術的な軸足としたいのは、バックエンドです。
要約すると、「軸足はバックエンドで、守備範囲はアプリ開発全般」を身につけていきたいので、目標設定する学習範囲は、
「バックエンドを中心としたアプリ開発全般」
で、ここから外れないように逆算して、することを考えて、2024 年の具体的な目標を設定します。
a. Flutter でのアプリ開発スキルの向上
Dart(と Kotlin)の理解度を高めることを通して、プログラミング言語の理解を深めたいです。
現在の業務で、Flutter(Dart、Kotlin)をメインで担当して、実務経験年数はもうすぐ1年になりますが、まだまだ理解が足りないと痛感しています。
目標とするスキルレベル
Flutter の目標のスキルレベルについては、経験年数2年という年数相応の実力をつけることです。SES 部署のエンジニアとして、案件に一人で入れるレベルの状態になることが目標です。
現状のスキルレベル
Flutter の現在のスキルレベルは、Dart、Kotlin の言語としての理解は進んでいますが、Flutter 開発での フロントエンドのフレームワーク(ウィジェット、状態管理など)としての理解が弱い状態です。
業務での Flutter 開発の内容としては、ほぼ画面を作ることはなく、プリンターなどの周辺機器との連携の実装を主にしているため、知識に偏りがあります。そのため、経験年数1年の Flutter エンジニアを自信をもって名乗るには、知識の偏りの穴埋めが必要であると考えています。
なぜ Flutter(Dart)なのか
正直なところ、言語の選定にはそれほどこだわりがないです。今実務で必要とされているのが Flutter であるため、言語としては Dart を通してプログラミングというものの理解をより深めたいです。
(言語はなんでも良いと思うのは、基礎的な部分はどの言語もそれほど違いがないと考えているためです。)
とはいえ、Flutter 固有の知識ももちろん深めたいです(ウィジェット、Riverpod など)
あとはテストコード書けるようになりたいな、ならなくちゃ、と思っています。
また、Flutter自体は「軸足はバックエンド」という条件の芯は食ってないですが、バックエンドの知識も十分必要とすると感じているため、Flutter に打ち込んでも問題ないと考えています。
b. React でのアプリ開発スキルの向上
Flutter の他に React の一部機能実装を担当することがあり、業務で触れているうちは必要になる知識のインプットをしていこうと思います。
ここ半年くらいの実装の割合としては、ざっと以下の割合です。
- Flutter 60%(うち、Dart 40%、Kotlin 20%)
- React 35%
- Laravel 5%
目標とするスキルレベル
実務で機能を実装して、その実装内容について説明できるレベル、を目指します。
現状のスキルレベル
現場も以下の状況です。
基本的なことすら分からないこともたくさんある中、既存のコードを参考にして、実装する機能はなんとか仕上げる。を繰り返してる。
— やまて|Web系エンジニア3年目 (@r_yamate) 2024年2月14日
基礎勉強してる時間も取れず、とにかく真似して実装してみる、泥臭く書いては消してを繰り返して、動かす!、というスキルレベルです。
確実に実装できるようにはなってきていますが、ああでもない、こうでもない、わからないことは都度調べるという試行錯誤が辛すぎて、ガッツリ基礎学習して理解したい気持ちが湧いてます。
c. その他アプリ開発全般
イメージとしては良書を読んで底上げされるようなエンジニアとして身につける知識を得たいです。
また、Flutter、React 以外には、他の担当するメンバーがいるものの Laravel を実務で触れる機会はあり、Laravel についても吸収できる限り、実務を通してスキルアップしたいです。
2. 行動計画
目標を達成するための具体的な行動計画を立てます。
a. Flutter でのアプリ開発スキルの向上
Flutter でのアプリ開発スキルの向上に関連しては、以下をやります。
実務
何よりもまずは実務でスキルアップを第一とします。Flutter を実務で担当できている、必要な機能を実装する、そのために必要な知識を必要に応じて、業務外でもキャッチアップします。
読書『Flutter x Riverpod でアプリ開発!実践入門』
状態管理は Flutter を実践的に使うには欠かせないようなので、通読してみます。
個人開発
最低限の機能を実装したアプリを作りたいように作ってみます。
エンジニア転職時に Webアプリとして開発した読み聞かせ管理アプリを Flutter で開発してみようと考えています。
b. React でのアプリ開発スキルの向上
React でのアプリ開発スキルの向上に関連しては、以下をやります。
実務
同じく主には実務でスキルアップを図ります。基礎については、学習を動画を見ることで補います。
学習ロードマップに基づく学習
保留している以下の学習ロードマップの学習を再開します。
特に動画学習は確実に完了させようと思います。
ただ、学習の際は肩肘張らず、動画を"見る"だけに徹しようと思います。
YouTubeやUdemyなどで、動画コンテンツを見る。ここで重要なのは、"観る"のではなく、ただ"見る"ということだ。完璧に理解しようとして"観よう"としても、興味がないことは続かないので、気付けば別のものを見ていることだろう。当たり前だが、エディタは開かなくてよい。(開いてもよい)
適当な集中力でも続けられるように、ただ"見る"だけに徹する。人間の脳と五感は素晴らしいものなので、過去に見聞きした記憶が頭の片隅にあるくらいの状態でも、「あ、あの時のあれか」みたいに、将来的に結び付くことがあるかもしれない。
動画を"見る"のイメージはこの感覚です。
個人開発
最低限の機能を実装したアプリを作りたいように作ってみます。Flutter のアプリを先に作ります。
c. その他アプリ開発全般
読書『良いコード/悪いコードで学ぶ設計入門―保守しやすい 成長し続けるコードの書き方』(再読)
1年実務でコードを書いた今、改めて読んでみたいと思っています。主に通勤電車で読み進めます。
動画『【世界で70万人が受講】Web Developer Bootcamp 2023(日本語版)』
こちらの動画教材は、かなりボリューム(67 時間の動画)ですが、動画を"見る"だけに徹して、ちまちま見ていこうと思います。
ブログ記事投稿
月に1記事投稿します。(1〜5月)
ブログ手当が終了する予定であるため、当ブログは手当終了に合わせて、定期更新は終了するつもりです。
Qiita 記事投稿
ブログ更新終了後、月に1記事投稿します。(6〜12月)
記事投稿内容は、以下のようなスキルアップにつながる内容にします。
- Flutter、React などの技術記事
- キャリアビジョンの整理の記事
勉強会の参加
余裕があればですが、定期的にエンジニアの勉強会には参加したいです。
#今日の積み上げ の投稿
続くかわからないけど、一旦再開します。投稿してるときは質を考えた学習習慣の継続が安定すると思っているからです。
前提
色々とやること書きましたが、前提として、「仕事より家族」「健康第一」で過ごしたいと思っています。
仕事より家族
現在生後2ヶ月の息子がいて、家事育児での負担が以前よりも断然大きいため、仕事も学習も頑張りすぎない程度に頑張る必要があります。可処分時間は以前より短いので、ここまで書いてきた内容は、必達とは考えずに、時間が取れたときにやれるだけやる、という軽い感じでいこうと思います。
健康第一
先月、仕事も育児も全力で頑張ろうとして案の定、体調を崩しました。それからなかなか全快せず、睡眠時間を多くとる必要があったり、集中力が低下したり、自宅での学習継続が難しい状況になってしまいました(たぶん自律神経が乱れてる)。体調は徐々に良くなってきてはいますが、心身のコンディションを整えながら1年を過ごします。
以下を守ります。
- 睡眠時間を平均7時間とる
- 腹筋ローラーを毎日続ける
- 首・肩の凝りの解消のストレッチを毎日続ける
おわりに
今回は、Web 系エンジニア3年目の 2024 年のプラン、「この先1年は具体的には何するのか?」について、PDCA サイクルに基づいて Plan(目標設定と行動計画)を考えました。
無理せず、なるべく気楽に楽しみながらやっていこうと思います。
ありがとうございました。
QAチームの方が、アプリの仕様をどんどん理解していって、バグを次々と見つけていくのが凄くて驚き。そしてバグチケットが山積みで驚き🙂
— やまて|Web系エンジニア3年目 (@r_yamate) 2024年2月8日
リリースまでも、リリース後も引き続き大変そうです。