31歳、転職4回、未経験でエンジニア転職成功

「プログラミングに向き・不向きは関係ない」理由と壁を乗り越える方法を解説

作成: 2019.04.24 更新: 2019.04.23

 

>> 関西最大級200坪の教室がオープン
全面ガラス張り、最高の学習環境をご覧ください!

営業職などで、今の仕事に不満はないけれども、将来を考えるとあまり給料も増えないのではないかと思っている人もいるでしょう。転職サイトではIT系はエンジニアを中心に年収の高い職業があります。

しかし、「プログラミングをやってみたいけれど自分には向いていない気がする…」「ITエンジニアの適正がなければやるだけ時間のムダではないか」と考えて尻込みしてしまっていませんか?

実のところ、プログラミングには若干の向き・不向きはありますが、「プログラミングスクールで学ぶ」のように自分にあった方法を選べば、仕事としてやっていくレベルのプログラミングスキルを身につけることは可能なのです。

今回は、プログラミングに向き・不向きが関係ない理由とぶち当たる壁を乗り越える方法について紹介します。

プログラミングの向き・不向きを気にする必要はない

プログラミングを始めるにあたって、「自分にはプログラミングに向いた素養があるのか」と気にする事はありませんか。

実際に、ものすごいプログラマと言われる人たちのキーボード入力速度などを見ていると、圧倒されてしまい、自分にはとてもではないができないと感じてしまう人もいるでしょう。

もちろん多少の向き・不向きはあります。例えば「数学が得意」「論理的に考えられる」「集中力がある」「几帳面な性格」といった素養があれば、有利にはなります。

ですが、後述するように、それがすべてではありません。

適正を考えるよりもまずはやってみることが大切

そもそも、プログラミングを始める前から「自分には適性がないのでは」と悩むことにはあまり意味がありません。向いている向いていないを考える前に、まずはやってみることが最も重要です。

そしてやってみれば、意外とできるものです。簡単なプログラムを書いてみれば、初めてであってもそれなりに動くプログラムが作れることに気が付くでしょう。

「やってみたら意外と簡単だった」というものは世の中にいろいろあります。プログラミングについてもそんなに構えなくてもよいでしょう。

まずはやってみること、そしてプログラミングによって何を実現したいのかを持っていることが大切です。

向き・不向きは一概には判断できない

向き・不向きというのはまったくないわけではありませんが、あまり気にするべき項目ではありません。

実は覚えやすいプログラミング言語とそうではない初心者には難しいものもあるので、適性を一概には判断できないからです。

例えばJavaやC#のようなプログラムは「変数定義」や「ポインタ」など、理解しなければいけない項目が数多くあります。

しかしPHPなど、Webサービスを簡単に作成できるように開発されたプログラミング言語は、初心者でもとっつきやすいようにできています。

つまり、学習するプログラミング言語によって難易度や学習にかかるコストは異なるのです。

もちろん共通する部分もありますが、それぞれの言語で特徴があるため、それらをすべて同じように考えて、向き・不向きを判断するのはナンセンスだと言えます。

仕事レベルのスキルは誰でも身に付けられる

そして「数学が苦手」「アルファベットで書かれているし」などは気にする必要はありません。実際に世の中にはITエンジニアはたくさんいますし、その出身は文系・理系を問いません。

実際、筆者の同級生で美術科を卒業し、数学なんて大の苦手だと言っていた女性が、システムエンジニアとして働いていました。

ITエンジニアやプログラマと呼ばれる人たちの中には、「この人は向いてるな」と思われるような優秀な人もいます。一方で特別な素養がない状態からプログラミングを身につけた人も当然いるわけです。

実際問題として、食べていける程度のスキルは正しい学習方法で取り組めば誰でも身に付きます。もしも適性や才能が関わってくるとすれば、それは世界でも有数のITエンジニアを目指す場合だけかもしれません。

「プログラミングが不向き」と感じてしまう理由

 

これからプログラミングを始めようとする人や、これまでに実際にやってみて挫けてしまった人の多くはどうして「自分はプログラミングには不向き」だと考えてしまうのでしょう。その理由を紐解いてみます。

初心者には難しいプログラミング言語を選んでいる

まずはキチンと初心者向けのプログラミング言語を選べていないという可能性が上げられます。

特に「大手IT企業で活躍するならJava」など、難易度の高いプログラミング言語を選んでしまうと、なかなか身につかずに「自分は向いていないのでは」と考えがちです。

そもそもこれらの言語ではプログラミングを行う開発環境を構築する段階で挫折してしまうことも多いのです。環境が構築できなければ、当然のことながら学習の準備もできませんから「無理」と思ってしまうわけです。

ですが、プログラミングの考え方というのはどの言語でも比較的共通しています。ですので、まずはそういう難易度の高い言語ではなく、学びやすい言語を選ぶべきです。

例えばRuby、PHP、JavaScriptなどがはじめやすくてよいでしょう。筆者のおすすめはJavaScriptです。これは普段使っているブラウザさえあれば動作確認もできますので、かなりおすすめです。

また、それ以外の言語でもフレームワークを使うと初心者でもプログラミングを行いやすいと言えます。

目標設定ができていない

次に、プログラミングを行う事で何を実現したいのか、どの様になりたいのかなど、目標を決めずに闇雲に勉強している場合は挫折しやすいと言えます。

この目標設定は、「なにができる様になればOKなのか」というゴールを示すものです。ゴールがないとどこに向かえばよいかわからず、途中でどの程度進んでいるのかもわからなくなり挫折してしまうのです。

「アプリ開発」「Webサービス開発」「転職の実現」など、できるだけ具体的な目標をしっかりと思い描き、そこから逆算して、必要なことを身につけていくようにするとよいでしょう。

プログラミングには適正が必要と思い込んでいる

そして先程も書きましたが、理系の人や才能がある人にしかできないと勝手に思い込んでいるというのも、「不向き」だと考えてしまう理由です。

実のところ単なる思い込みでしかないのですが、「自分は理系ではないし、適正がないからわからないことが多い」と考え、だから無理なんだという言い訳にしているとも言えます。

ですが、どんなITエンジニアも日々わからないことを解決しながら前に進んでいます。筆者も「これってどうやったらいいかなぁ」などと考えながら、結構試行錯誤しています。

もちろん設計書をしっかりと書くことで、動作するかどうかを事前にチェックはするのですが、それでもどうやったら実現できるのかわからなくて、いろいろとネットで情報を集めます。

ですから思い込みを捨て、わからないことは調べながらやればよいのです。

仕事として働くエンジニアでも日々学びながらプログラミングを行っているのですから、初心者がわからないことだらけなのは当然のことでしょう。

一人でムリにがんばっている

最後に、すべての作業を一人でやろうとしすぎることです。もちろん勉強するためには一人でやるべき事は多いのですが、独学にこだわり過ぎると心が折れてしまいます。

実際、ある程度の基礎がわかるまでは、独学ではつらい部分もあるのです。ですから質問や相談ができる相手がいるかどうか、そこが壁を乗り越えるのに必要な要素です。

特に環境構築など、最初の段階でつまずいてしまった場合、誰かに教えてもらえれば壁を乗り越えるのはそんなに難しいことではないです。

ただ、全部を独学でやろうとすると、「プログラミングの前段階でつまずくなんて才能がない」と思いがちです。

ちなみに、本当の初心者には環境構築は難しいものです。プログラミング言語の種類によっては、一体何の事かさっぱり分からない専門用語の羅列に思えるものです。

「プログラミングが不向き」という壁を乗り越える方法

では、この壁を乗り越えるにはどのようにすればよいのでしょうか。「自分はプログラミングに不向きだ」と感じたときに、それを乗り越える方法を紹介しましょう。

プログラミングで何を実現したいか考える

1つ目は先にも書きましたが、まずは「何を実現したいのか」という目標・ゴールを明確にすることです。プログラミングの学習はゴールではありません。

プログラミングというのはあくまでもツールの1つでしかないのです。ですから壁を乗り越えるにはプログラミングで実現したいことは何かを考える必要があります。

この際に重要なことは、実現できるかどうかはあまり気にしないことです。

そこが重要なのではなく、例えばモチベーションを維持する「夢」のような大きなものでもかまいません。つまり具体的でなくても構わないのです。

もちろん具体的であればあるほど、目標が明確になります。プログラミングを身に付けることで未来の自分がどうなりたいのかを考えれば、向き・不向きなどというのは小さいことに思えるはずです。

目標からスケジュールを設定する

2つ目は、スケジュールを立てることです。

これには、実現したい事がゴールとして明確化されている必要があります。実現したい現実的で具体的な目標が決まっているのであれば、それを実現する上でやるべきタスクを考えることができます。

そしてそのタスクを1つ1つクリアしていけば、目標は達成できるわけです。

そして、これが重要なことですが、もしも途中で挫折しかけた場合にも再度目標とスケジュールを見直すことで、もう一度前に進むための力を得ることができます。

自分にとってやりやすい学習方法を見つける

3つ目は自分の学習スタイルを確立することです。

プログラミングを学習する方法はたくさんありますので、ネットなどで紹介されている色々な方法を試してみて、その中から自分にあった学習方法を利用するとよいでしょう。

書籍で地道に勉強する方法、とにかくサンプルコードをたくさん入力して身につける方法、そしてプログラミングスクールなどの学校に通って学ぶ方法などです。

もちろん、できればお金がかからない方がよいと思うでしょうが、まったく費用をかけずに学ぶというのは難しいものがあります。

やはり参考になる書籍を購入する費用などはケチるべきではありません。それにコストがかかるという理由で選択肢を狭めるのは良くありません。

それによって結果的に遠回りになってしまい、大切な時間を浪費してしまうことにもつながりかねないからです。

人から教えてもらう

そして4つ目は、教えてもらえる人を見つけることです。

独学でやるスタイルが合っている人でも、プログラミングを行っていると、エラーが出たときにどうやってクリアしたらよいのかがどうしてもわからない場合も出て来ます。

そういう時に、シンプルに教えてくれる人を見つけておくと、いざという時に大変助かります。

例えば、SNSでプログラミングをやっている人を探すのも一つの手ですし、テラテイルなどの質問サイトを利用してもよいでしょう。

Yahoo!知恵袋やQiitaには過去のサンプルコードなども結構書き込まれていたりします。また英語でも大丈夫なら世界中に開発者を抱えているstack overflowというサイトも便利です。

もし周りやSNSに質問できそうな人がどうしても見つからなかった場合や、質問をしにくいと感じているのであれば、お金がかかってもプログラミングスクールを利用すれとよいでしょう。

どうしてもコストが気になるのであれば「時間をお金で買う」「未来の自分に対する投資」と考えればよいのです。

TECH::EXPERT 東京・名古屋・大阪・福岡

プログラミング未経験からWebエンジニアとして転職成功まで導くスクール TECH::EXPERT は、挫折しない環境を提供いたします。すべて駅から通いやすい便利な場所。いつでも質問できるメンター(講師)、一緒に頑張る同期がいるから頑張れる。そんな教室を是非見にきてください!

プログラミングのスキルは人生の選択肢を増やす

ここまで「向き・不向き」やそう考えてしまう理由、プログラミングの学習方法を紹介してきました。

数学的な素養はあればあったに越したことはありませんが、文系であっても論理的思考力を鍛えられれば問題はありません。

実際に2020年に小学校で始まる「プログラミング的思考」を学ぶ活動では、その目標を「論理的思考の獲得」としています。

つまり、プログラミングを学ぶことは「論理的思考」を身につけることにもつながるのです。これは今の仕事に対してもプラスになるでしょう。

プログラミングのスキルがあれば、今の仕事でのスキルアップにもつながりますし、転職も視野に入るわけで、選べる働き方が増えることになります。

そして何よりPCがあればプログラミングの仕事はできます。

外回りが体力的に厳しくなっても働くことができますし、自宅にいながら働くという、リモートワークやテレワークにも対応することができます。

多様な働き方は政府が推進する働き方改革においても推奨されています。

ですから向き・不向きを気にして尻込みしたり、プログラミング学習をやるかやらないかを決めるよりも、まずは一歩踏み出してみるべきでしょう。

未経験からエンジニア・Webデザイナーを目指すならTECH::EXPERT

TECH::EXPERTは未経験からのエンジニア・Webデザイナー転職を実現するスクールです。

転職成功率は98.5%(2019年1月時点)。確実に使えるスキルを身につけるための教育と、徹底した就職サポートであなたの転職を叶えます。

無理な勧誘は一切ありません。まずは無料キャリア相談(カウンセリング)にぜひお越しください。

無料キャリア相談の日程を見る

この記事を書いた人

Tatsuya T. Yamada
Tatsuya T. Yamada
天文学・宇宙物理学の研究を行い、一般向けの講演会や解説書も書いていた。現在は、1991年から行っている「パソコンを使った教育」を本業とし、eラーニングソフト・コンテンツを開発している。教育ビッグデータ、教育へのAI活用の専門家。日本天文学会、教育システム情報学会、宇宙作家クラブ会員。