ご挨拶
初めまして!
未経験からエンジニアを目指しRUNTEQでプログラミング学習中のあいと申します。
11月末には卒業制作のアプリのMVPを取得し、無事に卒業認定をいただきました。
現在は本リリースに向けてアプリ開発を続けています。
今回は、アプリ開発を始める際に誰もが悩むであろう、「やりたいこと」と「機能」をどのように「技術」に落とし込んでいくのか、その手順についてお話しします。これからアプリ開発に取り組もうとしている方の参考になれば幸いです。
前提
- 筆者のバックグラウンドは芸大でデザインやクリエイティブなことを専攻してました。アートやデザインの世界では、アイディアを生み出す際にリサーチをたくさんすることは当たり前です。そのため本記事はその考え方が元になっております。
- あくまで筆者の1つの考え方であるため、全ての方に当てはまるとは限りません。
- 初学者がアプリ開発を通して学んだことをまとめておりますので、温かい目で見守ってくださると幸いです。
- もし別の方法でうまくいっている方がいらっしゃれば、教えていただけますと幸いです。
たくさんアプリを触ってリサーチしよう!
RUNTEQ生の場合、ソーシャルポートフォリオなどを通じて先輩方のアプリにアクセスできます。実際にアプリにログインして、以下のポイントを意識しながら隅々まで触ってみてください。
-
RUNTEQ生の場合のおすすめのリサーチ先
- ソーシャルポートフォリオ
- RUNTEQのアプリイベント用の特設サイト
- インターネットやYouTubeなどでプログラミング学習中の個人開発アプリを探す
-
どんな機能がどの技術で実装されているのか?
- RUNTEQ内の学習記録(times)やQiitaやZennの記事、開発者ブログなどの開発者のアウトプットから探します。
- どんなAPIを使っているのか、ロジック、機能名などが書かれているかもしれません。
-
その機能はコードのどこで実装されているのか?
- まず、該当アプリのGitHubにコードを見に行きます。
- コントローラー、モデルのタイトル名やコミットメッセージからここかもしれないと思う単語を見つけます。
- 該当ファイルを開き、ここかもしれないと思うコードを自分で読み解いたり、AIに解説を依頼したり、どうしてもわからない場合は、聞けるなら開発者に質問してみてもいいかもしれません。
また、実際に触ってみて感じたことも重要です。
- アプリ開発者がどのような目的でその機能と技術をそのアプリに使っているのか。
- 機能、技術、アプリ、サービスそれぞれが、あなた自身にどのような効果を与えてくれるか?
手札を増やし、アイディアに技術を当てはめる
1. リサーチで手札を増やす
アプリや技術を調べることで、たくさんの実装例や技術の組み合わせが手札として手に入ります。
「〇〇機能には△△技術が使われている」といった情報が蓄積されると、次にどの技術を使えば良いか自然とわかるようになります。
2. 自分のアイディアに置き換えて考える
増えた手札を元に、作りたい機能を技術に変換してみましょう。
例:
- 「〇〇機能を実装したい」 → 「△△技術を応用すればできるかも!」
人に相談することを選択肢に入れよう
初めて挑戦することは、一人で考えてもなかなか解決できないことが多いと思います。
例えば、
- どの技術で機能を実装しているのか?
- コードのどこに目的の処理が書かれているのか?
- 手札は増えたが作りたい機能を技術に変換する感覚がつかめない
こうした壁にぶつかったら、人に相談する ことも一つの方法です。
RUNTEQでは、エンジニアの方との技術面談で相談できます。そしてコミュニティ内の仲間に相談することもできます。他の視点を得ることで新しい考え方やアプローチに気づけることも多いです。私自身、人に相談して壁を乗り越える経験をしてきました。
ただ、相談するときは相手にリスペクトを持つことが大切です。自分なりに調べたり考えたりした上で質問し、感謝の気持ちを伝えることで、より良いコミュニケーションや学びにつながります。
一人で考える力も大切ですが、相談することで学びが加速することをぜひ覚えておいてください。相談を通じて得た知識や視点は、必ず自分の成長につながります。
まとめ
やりたいことを技術に変換するには、まずはリサーチを繰り返しそれでも難しければ相談することが大切です。技術の使い方や組み合わせを学び、少しずつ自分のアイディアに落とし込んでみてください。
私自身、最初は何をどうやったらいいのか途方に暮れたこともありますが、この方法で少しずつアイディアを技術に落とし込み、最終的にアプリを作り始めることができました。この記事が少しでもお役に立てたら嬉しいです!