こんにちは。こんばんは。おはようございます。

今日はプログラミングに向いている人の特徴について現役フリーランスエンジニア目線で書いてみます。
スーパーマリオという任天堂の看板とも言えるゲームに例えて説明します。
プログラミングの向いてる人の特徴
目次
学ぶことが好きで苦に感じない

学ぶのが好きで苦に感じない人はプログラミングに向いています。
プログラミングは他の仕事より、学んだことがちゃんと成果として表れる度合いが目に見えて分かりやすいです。
分かりやすいイメージで例えると、勉強とゲームを混ぜたような感覚です。
プログラミングを学ぶということはスーパーマリオのステージのクリアの仕方を覚えることと一緒なんです。
インターネットには、いろんなウェブサイトやアプリが存在します。
これをスーパーマリオと比較してみると、

といったイメージに近いです。
スーパーマリオに出てくる敵キャラクター
そう考えると、世の中にはウェブサイトやアプリは世の中にごまんとあるので、プログラミングは終わらないゲームと捉えることができ、攻略法(ウェブサイトやアプリの作り方)が沢山学べるといえます。
学ぶことが好きなあなたにとっては最高の仕事になります。
常に「なぜ?」を考える癖がある

日頃から、「なんでこうなるの?」とか「なんでそうなるのか?」と考えている人もプログラミングに向いています。
物事がうまくいかなかったときに、本質的な原因を探ろうとする人には最適です。
うまくいかなかったときの解決方法を探せる力が備わっているからです。
ウェブサイトやアプリを作っていると、「なんでこういう使い方をしているのに、うまくいかないんだろう?」と思うことが沢山あります。
そのうまくいかない原因を知ろうとすることで、似たようなうまくいかない問題を解決できる能力も増えます。
これを、スーパーマリオメーカーを例にして説明します。
スーパーマリオメーカーには、プロ級と言うべき人たちが作ったステージがたくさんあります。
彼らが作ったステージは並大抵はクリアできないレベルです。
下の動画は、スーパマリオメーカーの動画で人気のYouTuber、Yuccaさんという方の動画です。
見てもらえば分かるように、並のプレイヤーじゃクリアできないようなステージばかりです。
この動画だけでなく、普通に遊ぶだけじゃクリアできず、「どうすればうまくいくんだろう?」と思わせるようなステージが沢山あります。
このように、スーパーマリオメーカーのステージのクリアの仕方を考えることと、プログラミングにおけるデザインや仕組みを考えることは同じです。
プログラミングでいえば、
- ウェブページを開いたときにフェードインでページを表示するためにどういう処理を書けばいいのか?
- ボタンを押した時に、押したようなアクションを付けるのにどういう処理をかけばいいのか?
- 画像を横並びにするために、cssをどうやって書けば良いのか?
などを考えることが、スーパーマリオメーカーのステージのクリアの仕方を考えることと同じです。
なので、日頃から「なぜ?」を考える癖がある人は、プログラマーにおける問題解決能力に長けています。
好奇心旺盛である

いろんなことに興味が持てる好奇心旺盛な人もプログラマーには最適です。
勉強しているときも、仕事でウェブサイトやアプリを作っている時には、調べ物をしているときに、あなたを「お?」と思わせるテクニックが使われていることがあります。
好奇心旺盛な人は、そのテクニックを見て、自分が今作っているものに対して閃きが生まれることもあります。
これは、スーパーマリオでいう、地下に入れる土管を探すことや隠しブロックを見つけることを同じです。
スーパーマリオメーカーで言えば、他のプレイヤーが作ったステージを遊んでみて、そこから新しいステージを作るヒントを得ることです。
スーパーマリオメーカーではこんなステージも作ることができます。
実は凄腕のプレイヤーたちが、このように、演奏コースと呼ばれるステージを作ったりもしているんです。
この動画以外に、パズドラのステージのBGMを作成する人がいたり、ポケモンのBGMを作ったりしている人もいます。
○パズドラBGMのステージ
○ポケモンのBGMが聞けるステージ
他にはクイズやピンボールを彷彿させるステージやスマブラを意識しているステージなどを作っているハイレベルな人もいます。
こういうクオリティの高いステージが出来たのは、好奇心旺盛な人だからこそできたことです。
好奇心旺盛な人は、アイデアが沢山生まれるので、プログラマーなどのクリエイティブな仕事に向いています。
できなかったことができることに喜びを感じる

できなかったことができることに対して嬉しいとか喜ばしい気持ちを感じる人はプログラミングに向いています。
プログラミングを学んでいくと、思い通りにいかないことが早い段階で沢山出てきます。
例えば、
- ボックスを作って、横並びに出来たのは良いけど、バランス良く並べることができない
- メニューの検索フォームをバランス良く作れたが、パソコンやスマホの画面の幅によって、デザインが崩れてしまう
- カーソルがあるボックスの上に乗った時に、色は変わるが、文字の色が変わらない
などの不具合がいとも簡単に出てきます。
このように、何か問題を解決できた時に、「よっしゃ!」と思える人は、プログラマーに向いています。
スーパーマリオメーカーで言えば、こういうステージを作ってきた人たちはステージを作り上げたときに「よっしゃ!」と感じることが多かったはずです。
例えば、スーパーマリオメーカーでは以下のような難しいステージもあります。
こういう難しいステージをクリアしたときに、「よっしゃ!」と感じる気持ちがある人はプログラミングに向いています。
また、あなたがまだ幼い頃のことを思い出してみてください。
習い事をしていたとしたら、何かにつまづいたことはありますか?
例えば、
- そろばんを習っていた時に、中々次の級に受かることができず、受かった時めちゃくちゃ嬉しかった
- サッカーやテニスをしていたときに、中々勝てない相手のチームに勝てた時、めちゃくちゃ嬉しかった
- 学校のテストで、100点を取ろうと思っても中々取れない中、100点を取れたテストがあったとき、めちゃくちゃ嬉しかった
などの経験があり、今でもできなかったことにこの上ない喜びを感じる人は、プログラミングを学んでみると結構楽しく学べます。
続けることが一番大切であることを理解している

続けることが一番大切であることを理解している人は、プログラミングに向いています。
実はこれまでに解説した4つのことの中でもこれが一番大事です。
プログラミングに限ったことではありませんが、何事も続けることが大切です。
最初から何でも料理できる人もいなければ、世の中に受け入れられる絵が書ける人もいません。
スーパーマリオだって最初から全ステージノーミスでクリア出来る人なんていなかったはずです。
難しいところがでてきてそれをクリアするために自分の時間を使ってクリアしたはずです。
仕事やビジネスが板につくのには時間がかかります。
フリーランスになるには現場経験を積む必要があるので、当然の如く時間がかかるわけです。
なので、続けることが一番大切であることを知っている人はプログラミングに向いていると言えます。
プログラミングはそんなに難しいことはない
以上が、プログラミングに向いている人の特徴です。
プログラミングは難しいことなんて実はそんなにないんです。
今回ここに上げた5つの特徴はほとんどの人がどれか必ず持っているものです。
昔何かにハマったことがあって、それのために時間をかけて頑張った人なら誰でも向いているとも言えます。
「学ぶことが好き」のところでも挙げましたが、プログラミングはゲームと勉強を混ぜたようなものです。
どちらかというと、ゲームの要素のほうが強いので、勉強よりも楽しいです。
プログラミングに向いていない人と諦めなくていい
今回、プログラミングに向いている人の特徴をまとめてみましたが、自分はプログラミングに向いていない人と諦めないでください。
最初は向いていないと思っていたけど、挑戦してみたら、意外にめちゃくちゃ向いていることに気づいたなんてこともありますから。
実は僕はそっちのタイプだったんです。
学ぶのも好きでしたし、好奇心も人一倍ありましたが、プログラミングに興味はなかったのです。
しかし、やってみたらすごく面白くて、これを仕事にできれば面白くなりそうだなと思って始めたのです。
だから、まずはやってみることをオススメします。
また、ここで書くのは僕の一意見なので、プログラミングに向いている特徴がなかったといって落ち込まないで下さい。
プログラミングを学んでフリーランスになってみて
僕はプログラミングを学んでフリーランスになりました。
フリーランスエンジニアになってみて、
- 仕事も楽しくなった
- 月収は3倍近くになり、毎月使えるお金が増える
など、いいことが沢山あり結果的に一石多鳥でした。
プログラミングを学べば、あなたが20代前半であれば、20代の内に月収80万円、年収1000万円超えも夢ではありません。
フリーランスになってよかったことは「会社を辞めてフリーランスになってよかったことを後悔したこと5つ」にまとめています。
自分がやりたい仕事が見つからないけど、今日書いた特徴のうち、一つでも、当てはまるものがあるのであれば、プログラミングに挑戦してみる価値はあります。
コメントを残す