- 「プログラミングを独学したので何か作りたい!!」
- 「何かアプリを作りたいけどアイディアがない。。。」
こういった疑問に回答していきます。
本記事の内容
-
作ったことがない人はTodoアプリを作るべき
-
次はインスタグラムクローンを作ってサーバーサイドも実装
-
最後はポートフォリオ作成
-
あとは実践
Contents
作ったことがない人はTodoアプリを作るべき
今までに自分で1からアプリケーションを作ったことがない方は、絶対に最初はTodoアプリを作ることをおすすめします。
Todoアプリ??なんか簡単そうと思ったでしょうか。
半分正解で半分違います。
Todoアプリだって意外と難しい
世の中には数多くのTodoアプリがあります。
機能がたくさんあるものや、機能を制限することで使いやすさを重視したものもあります。
これらを実際に作ろうと思うとかなりの労力がかかります。
手を動かしてみると以下のような悩みが出るかと思います。
-
その① デザインをどうしよう
-
その② どんな機能をつけよう
-
その③ データが保存できない
など。
1つずつ答えていきますね
その① デザインをどうしよう
こちらについてはTodoアプリを検索してみて、「パッと見簡単に作れそうなアプリ」を参考にすればOKです。
WEB系言語であればTodo管理WEBサイト、ネイティブ系言語だったらそれぞれのデバイスにあったアプリを参考にしましょう。
ネイティブ系言語・・・Swiftなど特定のデバイスでしか動作しない言語
学習用に作るので丸パクリでも大丈夫です。
その② どんな機能をつけよう
よくあるアプリの機能としては「CRUD」と言われるものがあります。
CRUDとは、Create、Read、Update、Deleteの頭文字を繋げたものです。
要はTodoを作れて、それを閲覧できて、作ったTodoを編集・更新できて、削除もできるというものです。
世の中の全てのアプリはこのCRUDをベースに作られているので、この4機能を実装してください。
CRUDを実装した上で余裕があれば、Todoをドラッグアンドドロップで入れ替えたりできる機能を実装してみてもいいかと思います。
その③ データが保存できない
データを保存することはいったん忘れてしまいましょう。
作ったTodoリストがリロードすると全て消えてしまうのは悲しいですが、最初のうちはいろいろやると挫折するので機能を制限した方がいいです。
次はインスタグラムクローンを作ってサーバーサイドも実装
Todoアプリを作ることができればクライアントサイドについては案外簡単に実装できるかもしれません。
※フロントエンド・・・ユーザーに視覚的に見える部分。フロントエンドとも言ったりします。
※サーバーサイド・・・ユーザーが視覚的に見えないサーバー内の処理を指す。具体的にはデータベースの操作処理など。バックエンドとも言ったりします。
ですがアプリケーション開発はクライアントサイドの実装だけでは終われません。
サーバーサイドの実装も必要です。
具体的には画面から入力したTodoをDBに保存して、データの永続化やログイン機能・いいね機能などに挑戦してみましょう。
難しく感じるかもしれませんが、やっていることはTodoアプリと同じです。
作って、編集して、更新ができて、削除ができるようにしてください。
インスタグラムを選ぶ理由は画像をメインとしたSNSだからです。
現在は、SNSだけでなく業務アプリでも画像の添付機能は必須となりますのでこの機会に学習をすることをおすすめします。
インスタが難しければ他のアプリでもOK
いきなり一人でSNS開発は難しいという方は、Udemyがおすすめです。
別記事でおすすめのUdemy講座をご紹介しているのでご覧ください。
Udemyとは動画でプログラミング学習コンテンツを購入できるサービスです。
本より動画の方が隙間時間に学習できるのでおすすめです。
詳しくは下記でご紹介しているのでご参考にください。
さらに勉強したい人へ
アプリ開発のさらなる勉強をする時には、作成した簡単なアプリに対して機能追加をするのがおすすめです。
理由は以下です。
-
最初っから作成するわけではないので手軽に学習ができる
-
目的を明確にした学習ができる(今日はソート機能を実装する!など)
-
フルスクラッチだとアイディアが出にくいが、既存のものへプラスする作業はアイディアが出やすい
筆者もこれらの手順で勉強した
最初はTodoアプリ?と思って舐めてました。
もっとすごいアプリを作りたいと思ってましたが、最初のうちからすごいアプリなんか作れません。
最初は小さく始めることで基礎がつきます。
そして広げていくことで応用が身に付きます。
基礎がなければ応用はあり得ないので、いきなり難しいことをするのはおすすめしません。
TodoアプリからSNSクローンという流れで学習を進めるようにしましょう。
実はもう就職や転職だってできるレベル
一般的な開発企業で、未経験可の企業であればもう就職・転職ができるレベルになっています。
私がPLをしているプロジェクトも、かなり大規模なWEBアプリケーションですがCRUDが全てです。
そこに画像を掲載したりする機能もありますが、インスタクローンが作れれば問題ないですよね。
転職を考えているならポートフォリオを作成しましょう
これから就職をしようと考えている新卒の方であればポートフォリオは用意しなくてもいいと思います。
ただ、転職を考えている方は作成することをおすすめします。
ポートフォリオ作成をおすすめする理由は以下です。
-
他の人がやらないから目立つ
-
未経験者の「独学をしている」は採用側からするとレベルがわからない
-
やる気を証明できる
他の人がやらないから目立つ
プログラミングスクールに行っていない多くの未経験エンジニアの方は、面接で「やる気がある・独学した」と言うしかないと思います。
未経験の業種へ足を踏み出すため、実務経験を示すことができないからです。
しかし、いくらやる気があると伝えても「やる気だけを伝える人と何か成果物を提出してくる人」であれば、採用されやすいのは後者です。
さらに、独学で四則演算ができるようになった人と独学でアプリを作れるようになりたいなった人だとレベルが違います。
でも、採用側からしたらどちらも「独学」をした人なので面接が上手でない限り技術面での差別化を図ることができません。
実際に作成したアプリを公開するというのは良い勉強になるので是非実践してみてください。
やる気を証明できる
ポートフォリオを作って提出することができると、採用側からはかなり好印象です。
なぜなら、企業側は未経験者に対して技術力を求めているケースは少ないからです。
実力は実務で身につくものですので、期待してもしょうがないんですね。
どれだけ自信があったとしても、実務でお客様の要件をロジックに落とし込むレベルまでの独学はほぼ不可能です。
そもそも期待していないので、うまくできている必要はありません。
一生懸命さが伝われば100点です。
エンジニアはエンジニアという仕事やプログラミングが好きな人が多いです。
未経験の人が一生懸命作った成果物を見て、将来のエンジニアになる可能性がある方を笑ったりする人はいないです。
プログラミングスクールという選択肢もある
独学だと学習が続かない人や、就職サポートがある方が安心という方はプログラミングスクールをおすすめします。
以下のプログラミングスクールは大手で実績もあるので、ご自身に雰囲気が合うスクールがあれば通うことを検討してみましょう。
-
TechAcademy ※1週間の無料体験ができる
-
テックキャンプ ※転職できなかったら全額返金制度がある
-
Skill Hacks ※他スクールよりも圧倒的に安い
プログラミングは切磋琢磨する人がいた方が成長するので周りにライバルがいる状況に身を置けるのがスクールのメリットです。
無料体験もあるので一度申し込みをしてみても良いと思います。
あとは実践
独学やプログラミングスクールに通って実力をつけることができたらあとは実践です。
いつまでも実務を経験しないまま、勉強だけしていても1円にもなりません。
エンジニアは若くて優秀な人が多い業界です。
1年でも1日でも早く動いた方が後々楽です。
私はエンジニアを志望してから、会社を辞めて転職するまで4ヶ月でした。
転職して実務を経験すると、独学の1ヶ月は実務の1日くらいの濃度があることを知りました。
どちらが若いうちに成長できるかは歴然ですよね。
転職であれば転職エージェントがおすすめ
エンジニアへの転職が初めてという方は、転職エージェントを利用するのがベターです。
求人サイトに載っている企業の中にはリア充感がある画像を載せていてついつい憧れてしまうこともあります。
ですが、実際はほとんど派遣で自社に出勤なんてしない企業もあります。
派遣をメインにしていることを知っているのであれば問題ないですが、「求人サイトに騙された!」という思いをしたくなければエージェントを使いましょう。
筆者も転職活動をする際にはエージェントをして転職をしました。
転職エージェントは転職者の採用が決まると、採用先の企業から報酬を得るビジネスですので本気でサポートしてくれます。
-
GEEK JOB ※ITエンジニアに特化したエージェント
-
第二新卒エージェント ※20代の転職に特化したエージェント
以上。
無料なので使えるものは使いましょう。