「プログラミングに興味があるけど、自分は頭悪いしなぁ…」
なんて考えている人も多いかと思います。
ですが、ボク自身の経験上、そこらのエンジニアのレベルなら頭の良し悪し関係ナシに到達できると思っています。
なので、本記事では現役エンジニア6年目のボクが「プログラミングは頭悪いと習得できないのか」について解説していきます。
ボクの状況・出身高校・大学の偏差値は底辺レベル。
・学生時代までは何かをやり切ったがない。
・理屈ではなく、感情で生きているタイプだった。
頭が悪くてもプログラミングを習得できる【事実】
プログラミングは”理論的に考える”がとても大切です。
むしろ、コレができなければ、本当の意味で「プログラミングを習得した」と言えないかと思います。
そして、この「理論的に考える」というのは”問題が生じたときに自身の力で解決する”ことを繰り返していれば、身につくものだと考えています。
物事を一手先までしか考えられなかった頭が悪かったボクがプログラミングを使って仕事ができているので間違いないかと思います。
はじめは誰もプログラミングは理解できない
少しプログラミング勉強してみたけど、全くわからない…
もしかして、オレ向いてないのかな…
いやいやw
みんな少し勉強したぐらいじゃ、コードをみたときは「なんだこの文字の羅列は…」って意味が理解できないハズだよ。
勘違いしている人が多いようですが、ほとんどの人は数か月勉強した程度ではプログラミングコードを理解できません。
それこそ勉強の仕方によっては何か月も勉強しても、ほとんど理解できない人もいます。
もともと学生時代に習わなかったプログラミングは難しい分野です。
確かに呑み込みの早さは頭の良し悪しで決まるかもですが、初めの段階で向き不向きの判断するのはよくありません。※やっているうちにできるようになる。
実践を繰り返しているうちに頭がよくなる【実体験】
オレは頭が悪いからプログラミングは向いていないと思う…。
今まで勉強もしてこなかったし、理屈で物事を考えたことがないし…。
ボクもプログラミングを始める前は勉強もできなかったし、感情的に生きてきたタイプでしたよ。
でも、プログラミングを始めて1,2年したら、物事を理論的に考え、理解できるようになりました。
システムによってはコードが複雑になることもあります。
また、システムに使う多くの部品(オブジェクトやメソッドなど)では「何をするのか・どう動くのか」を理解するのも大変です。
プログラミングはこういった一般生活には出会うことのない難解な問題とも呼べるモノに向き合う必要があります。
そして、それらの問題に対して、理解を深める努力を繰り返すことで、勝手に理論的に考える癖と力がついていきます。※日常生活でも理論的に考えられるようになる(と思う)。
ボクの感覚では、プログラミング上での問題では「分析・推理力」が試されると思っています。
だから、ボクの場合、プログラミングに触れていくうちにシステム開発ではもちろん、違う分野でも専門的に理解しやすくなりました。
なので、文系出身だろうが、中卒だろうがプログラミングを実践していれば、勝手に理論的に考える癖と力がつき、自然と頭がよくなります。
ですので、現在「自分頭悪いなぁ」と思っていても、取り組んでいれば頭がマシになるので、気にしなくてOKです。
スポンサーリンク
プログラミング習得に必要なモノ
プログラミングに必要なモノはパソコンとソフトを除けば”精神面”だけです。
そして、下の2つはボクの経験上、最低限必要なモノだと考えています。
・継続力
・忍耐力
正直、頭が悪かろうが、上の2つさえあれば、プログラミングを習得できます。
コレがあれば、あとはプログラミングに時間をかけるだけで、そこらのプログラマーのレベルまで到達できると考えています。
ここではザックリと「なぜ、継続力・忍耐力が必要なのか」について解説していきます。
プログラミングを習慣づける『継続力』
まず初めにプログラミングでは、備わっている既存のオブジェクトやメソッドをある程度の数を覚える必要があります。
それらはの数はそこそこあるので、覚えるのが大変かもしれません。
システムを作る上で、シンプルに暗記することや複雑なモノを理解する部分が出てきます。
たぶん、勉強が苦手な方は初めはツライかもしれませんね。
なので、そのたくさんのプログラミングで”必要な知識を積み重ねるための時間が重要で、そのための継続力が必要になる”というわけです。
この大量の時間とそれを実行できる実行力はプログラミングでは避けられないことなので、楽するのは諦めましょう。
そして、さらに多くのことが実現できるよう、さらに新しい技術を使いこなすための勉強の習慣を身に着ける必要があるのです。
ボクの場合、プログラミングを始めた当時は平日は『勤務時間+帰宅後3時間』を2年程度続けていました。
そうすると、数か月で一人で簡単なシステムが作れるようになり、2年後にはフリーランスで活動できるレベルに達しました。
躓いても根気よく問題解決に取り組める『忍耐力』
プログラミングが初心者であれば、必ず分からないところが出てきます。
そして、その分からないところで長時間躓くことがあります。
そんなときに”分かるまで問題解決に取り組む”という考え方ができる人はプログラミングを習得できる人です。
「分からないところを後回しにする」というのも得策な場合もあります。
しかし、「わからない(複雑な)ところは後回し」でやっていくと、再び同じところで躓き、長時間悩むハメになるし、技術的な成長もイマイチになります。
なので、「もう分からん!」という気持ちになっても、ネットなどを活用して情報を集めて推理し、ゴールにたどり着ける忍耐強さがあることが重要なわけです。
スポンサーリンク
おまけ:プログラミングの勉強の仕方【提案】
まずはボクが実践している独学法を試してみてください。
ボクが初心者の頃から実践しているお金のかからない方法なので、少なからずマッチする人もいるかと思います。
しかし、「自分はそもそも独学が向いていない…」という人もいるかと思います。
そういう人でお金がある人はオンラインスクールなどで”現役エンジニアに教わる”という方法がよいかもしれません。
例えば、下のようなスクールがあります。
スクール名 | おすすめポイント |
---|---|
【エンジニアへの転職を本気で考えている方向けのオンラインスクール】 ・オンライン教材を使用、かつ途中で躓いても質問し放題。 ・転職サポートも充実しており、未経験からのIT業界へ転職を求めている方におすすめです! ・DMM.comグループならではの求人紹介。 |
|
【堅実に実力を伸ばしたい方向けのオンラインスクール】 ・講師は全て現役のエンジニア。 未経験から確実に習得するために開発されたオリジナルカリキュラムでWebデザイン、 Webサービス開発、アプリ開発などを幅広く学習することができる。 ・オンライン・マンツーマン指導で、高い学習効果が評価され、多くのメディアで紹介されている。 |
|
【効率よく確実な実力が持てるエンジニア転職に特化したオンラインスクール】 基礎学習を2ヶ月、実践開発を2ヶ月で即戦力を目指す計4ヶ月のコース。 就職先の見極め方や応募書類の添削、面接対策なども提供。 |
|
【インフラエンジニアに特化した】 インフラエンジニアの登竜門的資格で、ネットワーク機器関連の知識を証明する『CCNA』の取得を目的としたスクール。 専任講師がしっかりと学習サポートし、 わからないことがあれば回数制限なしで質問も可能。 |
プログラミングは専門的な内容であることから、早い段階で断念する人がとても多いです。
ですが、上のスクールなどで有識者から教われれば、上手くいけば短期間でスムーズに中級者レベルまで達することができるかもしれません。
まぁ、お金がない人はアマゾンで安い本を購入したり、YoutTubeの動画を見たりして安く済ませられるように努力してみましょう。
それでは、最後まで読んでいただきありがとうございます。
またね(/・ω・)/
スポンサーリンク
スポンサーリンク
コメント