お久しぶりです、とくりんです!
最近は他言語の勉強と旅行と忙しくしておりましたら体調を崩してしまい熱などはないのですが咳が止まらないです笑
3/18追記
PHPでの開発に熱中してたら更新遅れました😢
技術課題が終わったので夢のオンライン有給インターン!?になりたいですね
本題に入りますと今回はTechDojoでの経験を踏まえたMoreの点になります。
AIの使い方
私は今回主にAIについて深く考えるきっかけになりました。Claude sonet3.7などどんどん性能が進化しており、知識がなくてもアプリが作れるとまで言われています。ですが私は情報を取捨選択できるための他言語の知識やプログラミング全体の構造理解があった上でのみ、成り立つと考えています。実際、同じグループの友人と私はAIを利用していく中で上記のような知識に私と差があり、成果の進捗が異なったと考えています。
ですが、初心者はAIを使うなというつもりはございません。私が大切だと考えたポイントは、
生成したコードをペーストする際に理解を伴えるようにしよう
プロンプトは細かく記載して自分の欲しい情報を出力できる方法を学ぼう
言語やアーキテクチャなどのインプットを同時並行で行おう
だと思います。理由については過去の課題の項目で感じていることがほとんどです。強いて言うとすればインプットをサボって理解を伴わないペーストはまじで自分の首を絞めることになると思います。まだAIが普及したてでこれがベストプラクティスってのは見つかっていないので積極的に使いながらそのたび自問自答して考え続けていきたいです。
思考の言語化
次は思考の言語化するためのプロセスについてです。
これは質問があまりできなかった課題と関連しています。
コードやアーキテクチャを考えていく中で詰まることやエラーが起きてしまうことがあると思います。その際に私はエラーのメッセージでとにかく検索や質問していました。
それでは、コードのこの部分で何をしたいのか(抽象化)、コードをどのように編集したらそのエラーが起きたのか(具体化)で自分の中での整理できておらず、質問するのに適切な答えが得られなかったり調べ方の選択がうまくできなかったりすると考えました。
これは社員さんとの会話での内容を自分なりに解釈してまとめたものです。このように考えていく中で自分の段階を理解しながら一つずつこなしていくことが解決で効率的に施行する方法だと思います。
Figmaでのアーキテクチャ理解
前回にお見せしたようにアーキテクチャの理解に文字だけでなく、Figmaなど視覚的にわかりやすくすることは初学者にとってプロジェクトの全体像をつかむのにとてもいい学習法だと思います。設計ができていない場合は無暗にコードを書いてしまって、ファイルの競合や親子関係など技術的な問題だけでなく、自分の達成度でのモチベーションの維持やスケジュール管理といったところでも大変になることが分かりました。
新しい開発をする際には毎回行っていこうと思います。
まとめ
初学者として臨んだモバイルアプリ開発でうまくいかず悔しい思いもしましたが、Androidアプリの知識やエンジニアとしての考え方などを学び、考えるきっかけになったと思います。
拙い文章でしたが最後まで書ききれてよかったです。
CyberAgentの皆様、Dojo生のみんなありがとうございました!