こんにちは、Aki(celcior0913)です。
今回はプログラミングの考え方【ガチでわかりやすく解説する】というテーマで解説していきます。
そして今回のお悩みはこちら。
プログラミングの考え方が知りたい。プログラミングの考え方を理解すれば、ある程度できるようになるのかな?それとプログラミングを学ぶ上で大切なことってなんだろう?
上記をお悩みをお持ちの方に向けて記事を書いていきます。
そんな私はエンジニア歴は3年ほど。
当時はプログラミングのプの字もわからないくらい雑魚でした。
なので、今回は当時何もわからなかった過去の自分に向けて記事を書いていきます。
また上記の内容を知りたいという方がいましたら、ぜひ参考にしていただけたら幸いです。それでは解説していきます。
プログラミングの考え方
プログラミングの考え方がわかっても書けるようになるまで時間がかかる話
プログラミングを学ぶ上で大切なこと
プログラミングの考え方

すごく簡単にいうとやりたいことリストを作ることです。
全ての事柄にはやることが存在する
例えば話すなどの日常の動作も同じです。
話したいことを頭で考える → 話したいことを話す
みたいな。
例えば英語も日本語も話せるという方の場合、上記の流れにもう一つ工程が加わります。
話したいことを頭で考える → 話したい言語(日本語 or 英語)に変換する → 話したいことを話したい言語で話す
みたいな感じです。
そんな感じで、やりたいことリストを作っていく作業がプログラミングの考え方です。
プログラミングはやりたいことリストの集合体
そう考えてもらえればOKです。
逆にいえばやりたいことリストにないことはやってくれないということでもあります。
またAIはどうなのってとこもあるかと思うんですけど、AIも基本はやりたいことリストの集合体です。
こちらも同様にやりたいことリストにないことは基本的にはやりません。
もっと深い部分まで伝えるとそうじゃないなんて言われる部分もあるかと思いますが、とりあえずはAIもやりたいことリストの集合体として考えてもらえればOKです。
アルゴリズムという言葉も聞くけど、それは一体なんなのか
わかりやすい言葉でいうと手順(やり方)のことです。
掃除の手順、目的地に行くまでの手順、料理を作る手順などなど。
結果にたどり着くまでのやり方(手順)のことをアルゴリズムといいます。
プログラミングの考え方がわかっても書けるようになるまで時間がかかる話

プログラミング言語を理解していなければ書けないからですね。
〇〇語で回答してくださいって言われても知らなければ回答できない話
例えば僕たちが住んでいる国にはそれぞれ言語がありますよね。英語、日本語、スペイン語、フランス語などなど。
もしその学んだことのある言語以外の知らない言語で答えを回答してくださいって言われたらキツくないですかね。
それと同じでプログラミングでも考え方とかがわかってても、肝心のプログラミング言語を知ってなければ書けないんですよね。
それに加えて英語で書いてあるんですよ。大体のプログラミング言語って。
そうなると日本の方の場合、英語 + プログラミング言語の両方を覚えないといけないんですよね。
なので英語がある程度理解できるという方以外は書けるようになるまでに結構時間がかかります。
パソコンの知識が全くない方だとほぼほぼ挫折すると思う
プログラミングを始める前からわからないことだらけだからですね 。
『そもそもプログラミングってどこに書けばいいの?』
『書いたけど画面に表示されない、、、』
『なんかエラー出てるけど、英語で書かれてて全くわからない、、、』
みたいな。
ちなみに僕はプログラミングってどこに書けばいいの?というところで挫折しました。
パソコンのスキルが全くないと思う方は独学は諦めて企業で働くなりスクールで学んだほうがいい
圧倒的に時間がかかりすぎるからですね。
例えば小学生になったばかりの子供に大学レベルの問題を渡してこれを解いてくださいといったら解けますかね?
ぶっちゃけ無理ですよね。
それと同じようにネットサーフィンくらいしかしない方に、プログラミングの準備をしてくださいって言ってもほぼ無理ゲーなんですよね。
なので、圧倒的に知識がないと思う方は企業で働くなりスクールで学んだりしたほうが圧倒的に時間を抑えられるのでそうするべきかなと。
確かにスクールは高いなんて意見もあるかもしれません。
ですが、独学だったら1年くらいかかってしまうものを10万円くらいの値段で3ヶ月で学習できるのならコスパ的には悪くないと思うんですよね。
なので必要だと思う方はスクールも検討してみてもいいかなと。
デイトラやSkillHacksといったスクールであれば7万円ほどでスキルを学べます。
オンライン(インターネット上)で受講が可能なので、わざわざ移動する必要もありません。
気になる方は下記にリンクを貼っておくのでよろしければ参考にどうぞ。
>>デイトラはこちらからどうぞ。
>>Skill Hacksはこちらからどうぞ。
プログラミングを学ぶ上で大切なこと

継続することですね。
多くの方は勝手に挫折していく
駆け出しエンジニアの多くは『全然わからない、、、自分には才能がないんだ、、、』みたいな感じで挫折してしまう方がかなり多いです。
例えば10人の駆け出しエンジニアがいたとします。
そこからエンジニアになれるまで学習を続けられる方は半分もいないんじゃないかなと思います。
なので、継続するだけでOKです。
スキルなんて続けていれば嫌でも伸びるのでそこまで気にしなくて良いのかなと。
1年くらいは頑張っても良いけど、2年目以降はのんびりやれば良いと思う
1年もあれば知識レベルもある程度高まるからですね。
どんな仕事でもそうですけど、始めたばかりの頃って何が正解なのかもわかりませんよね。
仕事を始める前から趣味でやっていたとかなら話は別ですが、そうでもなければ最初の一年くらいは本気で仕事と向き合って知識を高めるのもありなのかなと。
何もわからないうちはどちらにしろしんどいので。
遠回りも悪くない話
実際にプログラミングを始めてある程度時間が経った時に『なんか自分って周りと比べると自分って成長遅いなぁ、、、』って感じたり、エンジニアになれたけど『これやりたいことじゃないんだよなぁ、、、』って思うことって結構あったりします。
ですがぶっちゃけエンジニアを始めて5年くらいした後にどのくらい差があるかというとそんなに大差はなかったりします。
なので、今は少し成長が遅かったとしても問題なしです。
また自分のやりたいことじゃないことをやってる時ってしんどかったりするんですけど、たまにこれ面白いかもみたいなことに出会うことってあったりします。
実は僕もその中の一人でして他の記事でもお伝えしてるのですが、最初Web制作で稼ぎたいと思ってました。
ですが案件でたまたまiPhoneアプリのリリース作業をしたときに、『iPhoneアプリを作るエンジニアもいいな』なんて思ったのと他の言語に比べて直感的に画面がわかりやすかった。
ということもあり、結果としてWeb制作ではなくiOSのフリーランスエンジニアとして独立をしました。
そんな感じで知らないだけで実は面白いみたいなことって結構あったりするので、やりたいことじゃなくてもとりあえずやってみようくらいの感じで取り組んでみるのが良いかなと。
まとめ
このくらいで終わりにします。
今回はプログラミングの考え方【ガチでわかりやすく解説する】というテーマで解説していきました。
プログラミングの考え方が知りたいという方の参考になれば幸いです。
最後まで読んでいただきありがとうございました。
ですがそんな私もエンジニアになり3年ほど経ち、プログラミングの知識も徐々に増えてきました。