まず初めに
私はプログラミングを初めて1年の初心者ですが4人のチームでアプリ開発をしています。構成はフロントエンドが2人、バックエンドが2人で、私はバックエンドかつPMをしていますPMとまで言えないかもしれないですが。チーム開発は、そこそこの経験者がやるものという考えが一般的であり、それは正しいと思います。しかし、私はあえてチーム開発を選びました。この記事では、自分が何を考えたのかを言語化し、記録することを目的とし記述します。
自分のスキルと将来像
私はフロントエンドの技術は正直あまり知りません。HTML,CSS,JSの基礎を勉強してチュートリアルをやった程度です。チーム開発をする上で最低限の理解とイメージができるようにしました。対してバックエンドは私にとって必要な分野であり、色々な実装に自分で挑戦しています。
現状の自分のスキルとしてはこのような感じで、今後もJSのフレームワークを自分で使ったりすることはあまりないと思います。その理由は、自分の考える将来像からです。私は将来的に実現したいプロダクトがあります(これについてはかなり長くなるので別の記事に)。しかし、それを実現するにはIoTからサーバサイド、ネットワーク、AIなど数えきれないほどの多くの技術が必要で、多くの人手も必要です。そんな中で自分に必要な力を考えるとそれは自分がプロジェクトを管理する立場で、かつ幅広い技術の視点を持つことであると考えました。
チーム開発にした理由
今回のアプリはWebアプリでありユーザインタフェースはブラウザとなります。しかし、コンピュータと人とのインターフェイスという視点で考えると、ブラウザというのはある1つの選択肢です。僕の考える実現したいプロダクトでは、人とコンピュータのインターフェイスでやり取りする情報量(次元)という観点で革新が必要となります。したがって、今その実装をすることは出来ないのです(GPTにインターフェイスとしての可能性を感じる話は別の記事に)。私が今最も効率的に学び実装することが出来るのはサーバサイドの技術であり、そのため今回のアプリ開発ではフロントの技術に興味がある人との共同開発という形をとることで、お互い学びたいことに集中して学べる形を取りました。
まとめ
最後までこの読みにくい文章を読んでくれた人はいるのでしょうか? 正直ここに書いているような内容は、プログラミングを初めて1年の人が考えたことであり、自分でも時間を空けて読んだらどう思うか分かりません。 しかし、この考えの途中経過を記録することは多くの意味があると考えます。将来的にこの記事が黒歴史とならないことを祈りながら、この記事のまとめとします。