4~6月 サーバーサイド(バックエンド)開発
1年目に引き続きバックエンド開発担当だったものの、Java・SpringFramework、Docker・AWS ECSと、関わる技術領域が一転しました(1年目はAWSのAPI Gateway + Lambda(Python) + DynamoDBの構成のマイクロサービス開発)。異なる環境、言語での開発経験を得ることができ、刺激を受けました。また、フレームワークの学習をする中で、DI(依存性注入)の考え方に触れるきっかけとなりました
プロジェクト都合でこの期間だけ別チームに移動したこともあり、今までと違う人たちの中でどう動けばいいか?を考えながら仕事をした、貴重な期間でもありました。
7~3月 Androidアプリ開発
Androidアプリ開発とは言っても、UIの開発はほとんどしていません。Service(バックグラウンド・アプリケーション)の設計から開発までを、複数プロジェクトで担当しました。一方、ServiceはUIアプリと連携するので、検証用のモックUIアプリを作る必要もあり、イベントハンドリングや画面設計の勉強もできました。
また、プロジェクトに慣れてきた段階で、役割を拡大し、開発計画の作成から開発までのすべてを、ほぼ1人で担当しました。技術調査や、不具合調査もたくさん行いました。大きく2つのプロジェクトでの開発を経て、かなり開発力に自信がつきました。
技術面では、マルチスレッド、デザインパターン(Commandパターン、Facadeパターン、Factoryパターン)、アプリでのHTTP通信、SOLID原則を意識したクラス設計など、かなり実践的な技術を扱えるようになってきました。
取得した資格
応用情報技術者試験
4カ月くらい勉強しました。会社での推奨取得年齢が30歳だったので、5年早く達成したと言えます。情報系の勉強は社会人になってから始めたので、良いペースで学習が進んでいると思います。
AWS Certified Solutions Architect – Associate
勉強期間は2ヶ月程度。とにかくPing-t無料問題集を周回しました。今年度は、AWS関連の開発担当ではありませんでしたが、システム設計における、コンピューティングサービスやストレージサービスの役割、スケーラブル、疎結合などの考え方を身につけました。
また、Androidアプリ開発に活きた部分もあります。マルチスレッドなアプリケーションを設計した際、スレッド間が非同期で動作するための仕組みには、キューイングサービスであるSQSを導入するシステムの考え方を応用することができました。
読んだ本
- 仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん
- プロになるためのSpring入門ーーゼロからの開発力養成講座
- ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本
- 基礎&応用力をしっかり育成!Androidアプリ開発の教科書 第3版 Java対応 なんちゃって開発者にならないための実践ハンズオン
- Unityの教科書 Unity 6完全対応版
個人開発
- JetpackComposeを使用した複数画面アプリ
- 画面遷移の作り方、MVVMアーキテクチャ
今後について
開発計画を立てたり、数十クラスのアプリを設計、実装したりと、やれることはだいぶ増えました。しかし、まだできない(そもそも知らない)ことだらけです。特に、未知の技術に対する苦手意識が強いです。生成AIやサンプルコードを利用すれば、ある程度の成果はすぐに出せる世の中ですが、技術力が頭打ちにならないよう、根本的な技術への理解を深める必要があると感じました。LinuxやTCP/IP、OSSのコードリーティング等、少しずつ進めていきたいです。
コメント