こんにちは!
未経験からエンジニアに転職した、じくあし(@jikuasi)です。

という方が激増している昨今。
初心者でもプログラミングを学べるツールやサービスが急激に増えてきています。
そんな中でも、まず99%の人がやるであろう鉄板のサービスが、そうご存知「Progate」。

可愛いキャラクターが出てくるスライドを見ながら、ゲーム感覚でレベルアップが出来る、画期的なサービスです。
Progateでプログラミングをやっていけそうかどうか適性を見て、
いけそうだったらドットインストールとか、Railsチュートリアルといった他のサービスにチャレンジする。
これが鉄板ルートになっていると思うのですが、ちょっと待った!!
それ、危険です!
目次
Progateを最初にやると危険な理由

1.そもそも楽しく出来るようになってる
適性を見ると言いながらも、正直Progateは本当にゲーム感覚で出来ちゃいます。
どうしても詰まったら、答えを見て先に進めるんですよね。
もちろん答えを見た後で、ロジックしっかり考えて納得するのならいいんですが、
なんとなく

って感じで先に進んじゃいません?
僕はそうでした!笑
で、クリアしたらさも自分がその技術を習得した気分になっちゃうんですよね。
それは錯覚であり、まやかしであり、マボロシです。マボロシ〜!!
2.ドットインストールもUdemyも、出来たつもりになっちゃう

同じくその後のステップであるドットインストールやUdemyといったサービスも、教材としてとても優れてはいるんですが、
いかんせん、動画の通りに進めたら出来ちゃうので、これまたさも自分が習得したような気分になっちゃう。
マボロシ〜!!!
まず真に大切なのは、アルゴリズムを考えること



それはね、頭を動かして考えることだよ
エンジニアの仕事は、手を動かすことではありません。
論理的思考に基づいて、プログラムを組み立てることです。
その為には、論理的に思考出来る能力が必要であり、その能力を鍛える必要があることは明らか。
その為にまずオススメしたいのが、フローチャートを書くことです。
フローチャートって何?

ぐう畜の行動をフローチャートで書いた図
フローチャートっていうのは、フローという文字通り「流れ」のこと。
プログラムの処理の流れをしっかりと理解出来ているか、確かめるすべになります。
これは何もプログラムだけの話ではなく、日常の行動も全てフローチャートに書き起こすことが出来ます。
ちなみに四角で書いてるのが処理、つまり単なる行動です。
そしてひし形で書いてあるのがif文、つまり条件分岐と言われるもの。
「もしも〇〇だったら、Aの行動を取る、そうでなければBの行動を取る」
といったような具合です。
例えば、自動販売機で飲み物を買うときのフローチャート考えてみるとどうでしょう。
自販機を見つける
→商品を見る
→ラインナップに欲しいものがあるか
→ある
→財布を取り出す
→財布の中身を見る
→財布に小銭があるか
→ない
→お札はあるか
→ある
→お札を取り出す
→お札を入れる場所を探す…
といったように、意識していなくても実はめちゃくちゃ多くの処理と条件がなされているんですよね。
こういったことをフローチャートに起こすことが、論理的思考の良いトレーニングになります。
もしこのフローチャートを書くのが嫌で嫌でたまらない!
という人は、おそらくプログラミングに向いていないので、辞めといた方がいいでしょう。
まとめ:まずはフローチャートでアルゴリズムを学ぼう
色んなプログラミング教材サービスが乱立していて、未経験からでも簡単にエンジニアになれる時代になってきています。
ただ、実際になった後に活躍出来るかはまた違った話。
そして活躍出来るかどうかを大きく左右するのが、自分の頭で考える力。
サービスを使って何か成果物が出来上がった時も、出来たものの仕組みを自分が果たして本当に理解しているかどうか、
しっかり考える必要があります。
まあ何はともあれ、まずは簡単なフローチャート書いてみることは、非常にオススメです。
ぜひ一度チャレンジしてみてください(^^)