「プログラミングに向いてない人って、どんな人?」
これからプログラミングを勉強しようとしている人や、プログラミング初心者の素朴な疑問について、CodeCampの現役のエンジニア講師に答えてもらいました!ぜひ参考にしてみてください。
【こんな人にオススメ!】
- ITエンジニアを目指しているが、プログラミングを学習していくうちに「自分はプログラミングに向いていないかも」と不安になってしまった方
- これからプログラミングに挑戦するけれど、「自分に向いていそうか知りたい」という方
- IT企業のエンジニアとして就職したが、「続けていけるか不安」という方
質問に回答してくれる先生
プログラミングに向き不向きはありますか?
桑古先生:残念ながらあります
僕としては、残念ながらあると思います。プログラミングに向いているな、という方は課題を解くスピードが早いですし、わからない点を質問してくる際も「どこの何がわからないのか」「逆にどこまではわかっているのか」が明確です。
一般的には、プログラミングの向き不向きについて「理系かどうか」や「数学的思考ができるか」が重要であると思われていると思うのですが、それだけではありません。
「理想の状態」と比べて現状、何ができていないのかを言語化する「説明力」=「国語力」が求められるので、いわゆる「文系」的な説明力、素質のある方がプログラミングに向いていると思います。
椎野先生:向き不向きは「ない」と思います
私は、「ない」と思います。ただ根気はいると思います。
「最初は何か出来た!楽しい!」と思ったのに、すぐに「あれ?難しい・・、自分に向いてないかも?」と思ってプログラミングの学習でつまずいてしまう方が多いように感じています。
プログラミングの勉強は、外国語の勉強と似ています。外国語の勉強は、単語や文法だけ覚えても完結しません(これだけでも大変ですよね)。
その言葉を「使うシーン」をイメージしたり、その言葉の「文化や歴史」など目に見えない関わりも知る必要があり、外国語の学習も最初はなかなか成果が出づらい状況が続きますよね。
プログラミング言語も同様で、最初はコツコツ自分の知識や出来ることを積み上げていくしかないと思います。後はそれを続けられるかが重要です。
少しでもプログラミングが楽しいと思ったのなら、早い段階で「向いてない」と切り捨てず根気を持って勉強を続けてほしいです。続けることで、プログラミングって楽しいな〜ってジワジワ来る瞬間が必ずきます!
小長谷先生:向き不向きはあります
学校の勉強で数学が得意だったり英語が苦手だったりすることがあるように、「プログラミングの得意や不得意」というものは確かに存在します。
その要素として一番大きいのは、いわゆる「論理思考(ロジカルシンキング)」というものです。
具体的には、目的に到達するまでの手順(プロセス)を相手にわかりやすく明確に抜け漏れなく伝えることができる、といった性質の能力だと思います。
プログラミングの向き不向きを確認する方法(テスト)を教えてください
桑古先生:要素の分解や、状況整理が得意かどうか
これは難しい質問ですが、人に自分が見たものや状況を上手く説明できるかどうかを試してみればよいかもしれません。
例えば絵や写真を見て、それを誰か説明するときに「空が青くてなんかきれい」といったような漠然とした説明をするのではなく、「雲のない空が地平線まで続き、遠くには白い月がうっすら見えていて、その時刻はおそらく〜、色味は〜、場所は〜、方角は〜」などのように要素を部品に分解して具体的に説明できる人は、プログラミングに向いていると思います。
こういう人はプログラミングにおいても状況をうまく整理することができるので、向いていると判定できるんじゃないかなと思います。
椎野先生:まずは実際に触ってみよう
向き不向きが知りたいのであれば、インターネット上にあるプログラミングの学習教材をまずは3ヵ月ほど勉強してみましょう。
今はサクッと勉強できる学習教材(インターネットとPCがあれば学習がスタートできる環境)が揃っているので、一昔前よりもプログラミングにチャレンジしやすい環境だと思います。
教材で学んで行きながら「もっと知りたい」という気持ちになったら、少しずつ高度な教材や難易度が高いことに挑戦していくことをオススメします。
実際にプログラミングに触れてみて「辛い、楽しくない」と思うことが多いのであれば、学び方を変えてみるとよいかもしれません。
小長谷先生:論理思考が大切です
学校の勉強に置き換えて考えてみるとわかりやすいと思います。
例えば数学の科目に置き換えると、プログラミングに向いている人は「集合」が得意だと良いと思います。「かつ」「または」「否定」などの考え方はプログラムにおいて必須だからです。
あとは国語の場合だと、文章の読解力があるかどうかが大切です。プログラミングをする上で、問題(顧客の要望)を理解して、人に説明できる読解力や説明する力、それをプログラムで実現することが求められます。
どちらもベースになる力は論理思考(ロジカルシンキング)なので、文系理系といった区別とは関係ないように思います。
桑古先生:問題の切り分けがうまくできない人
例えば、プログラムがうまく動かない際に「なんか動かないんです」といったような質問をしてしまう方ですね。課題があったときにその「切り分け」や「要素分解」をするのが苦手なのだろうなと思うことがあります。
「どこまでは正しく動いていて、どこから正しく動いていないのか」を常に意識できるようになると動かない理由や、解くべき課題が明確になってスムーズにプログラミングを進められるようになると思います。
椎野先生:自習ができない人
自分でコードを書こうとせず、CodeCampでのレッスンを学校の授業のように先生が一方的に説明するスタイルで教えてもらおうとする方は、プログラミングができるようになるまでかなり道のりが長いと思います。
CodeCampで用意している教材は自習しながらコードを書き進めていくことができるので、まず自分で教材を読んでプログラムを書いて何が理解できて何が理解できていないのか自分で把握してもらえるといいと思います。
そしてレッスンでは、躓きから得たアナタだけの「なんで?」を先生と一緒にコードを見ながら解決しみましょう。そうすることで必ず自分の身になりますし、プログラミングがどんどん楽しくなると思います。
小長谷先生:英語に抵抗感のある人
プログラミングにおいては、「英語への苦手意識が強い」という方は学習に躓くことが多くなると思います。
プログラミングに関する情報は、英語の文献や参考サイトが多いです。日本語のサイトは一部で、有志の方によって翻訳されているケースが多く、最新情報を得るためには英語の文献を読むことになります。
初学者を脱してプログラムの経験を積むと、英語のサイト、文献をみることが多くなります。そこに抵抗を感じずに、調べて最新の情報に触れるという気持ちを持ってほしいです。
桑古先生:苦手意識がある人こそ、挑戦を!
これまでにお話させていただいたことは慣れれば克服できるし、問題を課題に切り分けてひとつずつ解決するスキルは日常生活でも確実に生活の質を上げてくれると思います。
むしろ、「プログラミングが向いていないかも」と思っている人こそ、新しい能力を伸ばす機会になるのでチャレンジしていただけたら嬉しいです。
僕たち講師陣としてもそういった方の助けになれればと思って仕事をしていますので、いつでも気軽に質問や相談をしてください!
椎野先生:自分に合った方法で学び続けましょう
最初のうちは、プログラミングに慣れるために量をこなすことが大事なのでまずは続けていったほうがいいと思います。
もし、自分がエンジニアとしてコードを書く役割でなかったとしても、エンジニアと一緒に仕事をする場合に、その知識が仕事をスムーズに進めるための手助けになると思います。
また、既にプログラミングを学習したことがあって「向いていない」と感じた方は、実はプログラミングではなく、学び方が合っていなかった可能性があります。
今はプログラミングの学習方法も多様化しており、マンツーマンやチャットで質問できたり、短期間で集中的に学ぶ、インターネット上で仲間を集めて学ぶ、会社に就職して実務経験を積む、など様々な選択肢があります。
学習を続ける上で、自分にマッチした学びの環境を見つけるのも大切だと思います。
小長谷先生:「好き」になれる部分を探そう
プログラミングに限った話ではありませんが、やっぱり好きこそものの上手なれだと思います。
プログラミングとは「人間の手作業やコミュニケーションを、いかに効率よく便利にするか」という挑戦です。
「向いている、向いていない」という視点もありますが、「こんなものがあったら便利だなあ」「こんなサイトがあったら盛り上がるだろうなあ」というワクワクした気持ちがあれば、プログラミングを好きになって、ぐんぐん成長していくことができると思います。
「向いてないかも?」から「楽しい!」へ
現役エンジニアのなかでもプログラミングの向き不向きについては意見が分かれましたが、プログラミングを勉強することやエンジニアを目指すことにはぜひ挑戦してもらいたいということでした!
どんな勉強でも、最初はわからないことだらけの状態から始まります。量をこなすことで慣れる部分も多くあり、自分で開発できるようになるにつれてプログラミングにハマっていった人をこれまでも多く見てきました。
CodeCampでは、200名ほどの経験豊富なエンジニア講師からプログラミングをマンツーマンで教わることができます。転職、起業・フリーランスなど、あなたの学ぶ目的に合わせてぴったりの先生を探してみてください。
【お知らせ】
CodeCampでは、Peing-質問箱-でみなさんから質問を受け付けています。現役エンジニアに質問したいことがあればぜひ気軽に投稿してください!
URL:https://peing.net/ja/codecamp_jp