プログラミングを勉強してきたけど、一通りできるようになった。さて。これからどうしたらいいのかなぁとお悩みでしょうか?
プログラミングってどこが学習の終わりかわかりにくいこともあって、どこまでが初心者、どこまで学習したら転職できるほどの力がついているんだろうって悩んでしまいますよね。
今日は一つの目安として、これができれば【脱初心者】だという目安をお伝えしていこうと思います。
何を作りたいのか決まっている?
プログラミングを利用して作成できるアプリケーションにはたくさんの種類があることをご存知でしょうか?
【脱初心者】だもん、当たり前じゃない!という声も聞こえてきそうですが、念のために伺います。
この記事を読んでくださっている皆さんは、作りたいものが決まっていますか?
「え?なにそれ?プログラミング言語は学んだけど、作りたいものってなに?」ということでしたら、学習の内容に漏れがあるかもしれません。こちらの記事を参考にして、もう一度学び直しましょう。
プログラミング言語を扱って作れるものは大きく分けて次の3つになります。
- Webアプリ
- スマホアプリ
- コンソールアプリ
それぞれ、どんなアプリが作れるのかをサラッとおさらいしてみましょう。
Webアプリ
ブラウザ上で動作するアプリケーションです。パソコンでもスマホでも動作するので重宝されています。
今では様々なWebアプリが世の中にありますね。例えば、Amazonや楽天などのECサイト。TwitterやFacebookなどのSNSなどもWebアプリですし、企業の基幹システムもWebアプリ化されているものが殆どですね。
つまり、「何でも作れる」というのが現状です。
Webアプリを作りたい!と思っているあなたはどんなアプリを作りたいでしょうか?
スマホアプリ
WebアプリであげたAmazonや楽天、TwitterやFacebookはスマホアプリも充実していますね。面白いゲームもとても多くリリースされています。
スマホアプリは、AppStoreやGooglePlayからダウンロードできるアプリケーションです。
スマホ上で動作するのでスマホの機能であるカメラや位置などを利用できることも魅力の一つです。
スマホアプリは「ネットワーク上のサービスを利用するか、スマホ上だけで完結するのか」がアプリの大きさの違いになってくるかもしれません。
あなたが作りたいと思うスマホアプリはどんなアプリですか?
コンソールアプリ
あまり聞きなじみがないかもしれませんが、コンソールアプリは、画面の無いアプリケーションです。
例えばデータ収集や分析などで良く使われるアプリです。どちらかというと遊びというよりは、ビジネスよりでしょうか。
もしあなたが作るなら、どんなコンソールアプリアプリをイメージしているでしょうか?
どこまで学習できてますか?
さて、どんなアプリを作りたいのか?のイメージができたところで、もう一つ伺います。
「プログラミング習得のロードマップ」どこまで学習していますか?
⑦番まで終わっている!という方は【脱初心者】を目指しましょう!
もし、「え?これ勉強してないんだけど・・・」という項目があればぜひ学習してきてくださいね。
プログラミング習得のロードマップについてはこちらの記事で詳細に解説していますので、参考にしてみてください。
ロードマップを一通り学び終えたら目指せ【脱初心者】
ロードマップ終わったんだけどどうしたらいいのかなぁと考えているあなたにおすすめの勉強法を伝えますね。
それは、「自分でサービスを作ってリリースしてみる」ということです。
プログラミングはWebアプリを作るものなので、当たり前と言えば当たり前なのですが、1人ですべてを賄うのはなかなかにハードですが、その作業が今まで気づかなかったことを気づかせてくれます。
自分のサービスを作るうえでの注意点をいくつか解説していきましょう。
まずはどんなアプリかを考える
例えば、簡単なSNSのようなアプリを作ろう!と考えたなら、どんな仕様にするのかを考えましょう。
画面の構成や画面遷移は?機能はどんなものがある?など、考えることはたくさんあります。思いついたら、きれいでなくてよいので必ず紙に書き出してみましょう。
こうして「仕様を考える」ことが、プログラムの精度や今後の学習するポイントが見えてくるんです。
仕様を考えることは本当に財産になります。
プログラミングの業界で働くときにも、ユーザーは何をしたいのか?何を求めているのか?どんなアクションを取らせたいのか?を考える基礎になります。
ぜひいろいろと考えて、書き出してみてください。
欲張らずに1機能程度の簡単なものにする
独りで仕様を考え、実装することは本当に大変なことです。アプリケーションは通常、複数名で数か月かけてつくるものですからね。
初めてでもあるので、できれば機能は少なく、最初は1機能程度に留めておいた方が良いです。
なぜなら、あまりにも膨大な量の機能だと、「嫌になる」からです。
冗談でしょう?と思うかもしれませんが、人間はすぐに飽きてしまう生き物です。目標は低く達成しやすいものを少しずつ積み重ねる方が良いです。
最終的に30機能作りたいとしても、まずは目の前の1機能でリリースできるところを目指しましょう。機能は後からでも追加できますからね。
わからなくてもとりあえず最後まで仕上げる
仕様が決まったら、さぁ実際に作って行きましょう。
私も未だにありますが、アプリケーションの製作中に「この動作はどうやるんだ?」と悩むことがあります。その時には検索したり、本を読んだり、あらゆる手段を講じることでしょう。
それでもどうしても解決しないことがあるかもしれません。
もしそうならその動作がなくても動くようにしておきましょう。別の引き出しを見つけることは大切です。ただし、最初にやりたかった方法は後々調べるようにしてください。
例えば「撮影した写真をWebサーバーにアップロードする。」という方法がわからなかったとします。方法はたくさんあるので、検索すれば解決します。
例えば「毎月クレジット決済をさせる」という方法がわからなかったとします。これは今では実現可能になっていますが、数年前まではそれを実行してくれる代行業者のAPIがPaypalくらいしかありませんでした。その場合には、「手動で決済してもらう」「毎月決済してねメールを送る」などの方法をとるなどして回避できます。
こうやって他の方法を織り交ぜながらなんとか最後まで仕上げてください。つまづいてその場で止めてしまうのが一番よろしくありません。
行き詰ったら誰かに相談する
検索しても出てこない、うまくいかない、エラーがでている・・・・
アプリを作っているとたくさんの「できない」に直面します。
そういう時は「誰かに相談する」というのも一つの方法です。
身近なエンジニアがいなければSNSで発信してみてください。エンジニアの人たちは口はあまりよろしくない人が多いですが、実はかなりのお節介焼きの優しい人が多い印象です。
真剣に取り組んでいることがわかればきちんとアドバイスをしてくれると思いますのでぜひ臆せずに発信してみてください。
それも怖くていやだ!という場合には、MentaやTeraTailなどのQAサイトを利用しましょう。エンジニア専門のQAサイトや悩んでいるAPIや言語専用のコミュニケーションサイトなどが用意されていることもあるので、そういったところを利用してみてください。
レスポンスは必ず来ると思います。
リリースするぞ!
作ったアプリケーションが完成したら、リリースしましょう!
せっかくなので誰かに使ってもらうと良いですね。
とりあえず知り合いに使ってもらう
お友達や家族などの身近な存在に「アプリ作ったから使って!」と言えば、誰もが嫌な顔はしないでしょう。
ぜひ使ってもらってください。そして、そのそばで誰かが使うところをぜひ見てください。
自分が想定しないような使い方をしたり、わかりにくい動きや文言があったりと、自分独りの目線では気づけなかったことがたくさん出てくると思います。
何回か使ってもらった後に感想もきちんと聞きましょう。
そうして自分の作ったアプリケーションを見直すと、客観的にアプリを捉えることができるようになるのでとても大切です。
不具合や使いにくいところを修正する
リリース後に結構放置してしまいがちですが、不具合は必ず直しましょう。できれば、改善修正もしてほしいです。
少しずつそうやって自分の作ったアプリケーションを育ててあげてください。そうすることで「これからの自分に必要な勉強が何なのか。」を改めて感じることができるでしょう。
最後に
もし、プログラミングを使った業種に転職を考えているのでしたら、リリースしたアプリは面接時に強力な武器になります。
できれば、ソースコードも一緒に提出してみてください。未熟なのはいいんです。プロじゃないんだから未熟なのは当たり前です。
1つの機能だけだったとしても、きちんと完成させてリリースしているというところは本当に大きなポイントになります。
また、ソースコードを見ればどれほどの熟練度かが予想できますので、相手企業からの評価も得やすくなります。
ぜひ、1つアプリケーションをリリースして【脱初心者!】を目指しましょう。