年々規模が拡大しているIT業界ですが、私も現在そのIT業界で働いています。
今までにSE、コンサルタント、プログラマーと一通り業務を行ってきましたが、実は1度転職を経験しており、前職でSEやコンサルタントを経験した後に転職を経て、現在はプログラマーとしてのキャリアを歩み始めています。
おそらくこの記事をご覧になっている皆さんの多くはプログラミングを学ぶことに興味を持っており、その目的にIT業界への転職、またはプログラマーとしてのキャリアを歩むことを考えているかもしれません。
しかし、プログラミングというとやはり難しいというイメージがあるかと思いますし、実際私もそのイメージを抱いていました。
その不安がプログラミング学習を始める妨げになっているのではないでしょうか。
ただ、結論を言うと、プログラミング学習はコツさえおさえれば決して難しいことではなく、だれでもチャレンジできます。
そこで今回は、実際に今までプログラミング未経験だった私がプログラマーとして転職した経験を元に、プログラミングを学ぶコツについて紹介していきます。
記事のもくじ
実務レベルのプログラミングを学ぶときにぶつかる多くの不安
まずはここで、皆さんの多くが感じることであると考えられる、プログラミング学習を始めるにあたっての不安を共有していきます。
ここで挙げる不安の多くは私も実際に感じたことであり、共感いただけるかと思います。
自分が感じている不安が自分だけのものではなく、ほかの人も感じていることを体感していただけると幸いですし、この後紹介する学習のコツの理解もしやすくなることでしょう。
どの言語を学んだらいいの?
プログラミング学習を始めるにあたってまず直面する問題は、数あるプログラミング言語の中からいったいどの言語を学べばいいかわからず、それを調べるだけで労力になって挫折してしまうということです。
私もこの問題を体感しており、調べるだけで疲れて結局学習に至らないということが何度かありました。
ではどの言語を学べばいいかというと、結論はあなたがプログラミングで何をしたいか次第です。
ここでプログラミング言語をいくつかピックアップしてその特徴を載せましたので、参考にしてみてください。
- 【Python】:人工知能などの開発で積極的に使用されています。日本では求人情報がまだ少ないことが難点ですが、文法がシンプルで学びやすく、また将来性があることから注目度が上がっています。
- 【Java】:WebアプリやAndroidアプリ開発で多く使用されています。日本では企業向けソフトウェア開発で多く使用されているので需要も高く、初心者には少し難しい言語ですが汎用性もあるのでとても人気の言語です。
- 【Ruby】:日本で生まれたプログラミング言語で、Webアプリ開発で多く使用されています。文法も簡単で日本語の参考書も豊富なので、初心者に人気の言語です。
- 【PHP】:Webサイトの開発なので多く使用されています。フレームワークが多く、Web制作会社を中心に日本でも需要が高いのでとても人気の言語です。
自分がどのような開発をしたいかを決めてしまえば、自ずと学ぶべき言語も見えてくることでしょう。
また、これら言語は文法は異なりますが基本的なロジックに共通点は多くあるので、まずは簡単な言語から学習を始めてみるのもありでしょう。
ちなみに私は、企業向けアプリ開発に興味があったのでJavaを勉強しました。
プログラミングを学ぶって難しくないの?
プログラミングを学ぶことに対して「難しい」というイメージを抱き、それが学習の一歩を躊躇させているという人も多いでしょう。
正直、そのイメージ通りプログラミング学習はそう簡単ではありません!
しかし、どの業界で働くにも知識は必要ですし、その中でもプログラミングは答えのあるものなのでとても学びやすいです。
学習方法も多岐にわたるので自分に合った学習方法が見つかるでしょうし、知識が身につけばそれだけ実力に直結するので、学びがいを感じやすいと私は考えています。
プログラミングを学ぶのに英語学習は必要?
ずばり、プログラミング学習に英語は必ずしも必要ではありません!
実際に私の周りのプログラマーも大半は英語が苦手と言っているので、英語ができないことでプログラミングを勉強できないことは決してありません。
しかし、偶然にも私は学生時代留学経験があることから英語を得意としており、それがプログラミング学習にけっこう活きていると実感しています。
たとえば、ソースコードを見ると英単語がモチーフとなるメソッド名やクラス名は多く存在するので、英単語の理解があるとそれだけ早くコード理解ができますし、調べ物をするときにプログラミング関連の情報は英語のものが多いので、英語が読めることはメリットになります。
英語が得意なら、なおさらプログラミング学習に自分は向いているからラッキーという程度には考えてもいいかと思います。
どれぐらい勉強したら実務で使えるようになるの?
何事も勉強することは大事ですが、ゴールを決めずに完璧を求めて勉強から抜け出せないと、頭でっかちになっていつまでたってもその分野で活躍することはできません。
私の場合、後で詳しくは述べますがプログラミングスクールの1ヶ月コースで学習したので、それを修了することを初期学習のゴールとして勉強を進めました。
したがって、私はしっかり勉強した期間は1ヶ月です。
おそらく皆さんは、それだけ?と思うかもしれませんが、実際一通り勉強しただけでは全然実務で戦力になりません。
しかし、最低限の学習だけで実務に飛び込んでわかったことですが、最低限でも勉強して業務に取り組むことで自分が今どれぐらいのレベルにあって、これからどのようなレベルアップが必要かが明確になります。
そして、その程度の技術力でも業務は実際のところ回ります。
参考書を一通り見終えたら、1つプログラムを作り終えたらなど、自分なりに勉強には区切り目標を設け、実務に飛び込んでみてもよいでしょう。
どうやって学び始めたらいいの?
現在プログラミング言語を学習する方法はたくさんあります。
YouTubeなどの動画サイトで学びたい言語で検索すれば動画学習できますし、Webサイトでも無料学習サイトがいろいろとあります。
しかしその中で私が最もおすすめする学習方法は、プログラミングスクールに通うことです。
プログラミングスクールは1ヶ月コースから中には半年コースもあるところもあり、自分の学習ペースにあった選択ができます。
また、講師が元開発経験者であることが大半なので、自分の今後のキャリア相談ができたり、実務に即したコーディングのアドバイスがもらえたりと、独学で学習を進めるよりはるかに定着が早く確実です。
ちなみに私は、企業に入る前はWebサイトを利用して独学で基礎の基礎を学び、転職後研修としてスクールに1ヶ月通って実務に至りました。
継続して実務レベルのプログラミングを学ぶコツ
ここまで、皆さんの多くが抱くであろう不安や疑問を書き連ねてきました。
ここからはそれらもふまえて、実際に学習を始めていくにあたってのコツを紹介していきます。
これらのコツを理解して実践すれば、確実にプログラミング学習が定着し、スキルが身につくと思います。
とにかくまず行動する
最も重要なコツは、とにかくまず行動する!です。
この記事を読み終えたとき、多少なりともプログラミング学習に対してモチベーションが上がっているかと思いますが、その時こそ行動あるのみです。
プログラミング言語をどれにしようか決めきれなかったら、まずは簡単な言語を学んでみて、そこで合わなかったら方向転換しても問題ないです。
急がば回れということわざがとてもしっくりとくるキーワードで、行動することで初めて次に進めると私もプログラミング学習を通して痛感しました。
調べるくせをつけておく
続いては学習を少し始めてからのことにはなりますが、わからないことを調べるくせはつけておいた方がいいです。
プログラミング学習を始めると、エラーが起こったりわからない仕様があったりと、ひとりで解決するには難しい難題に次々と直面することになるかと思います。
それがプログラミング学習者の挫折につながるのです。
これは、私がスクールに通っていた時に講師も語っていました。
しかし実際、経験を重ねているベテランのプログラマーでさえわからない事象には多くぶつかります。
そして、その際の調べて解決する力がプログラマーとしての実力の差と言っても過言ではないのです。
わからないことが多い初心者の時から調べる力も養うことで、継続力にもなるのです。
将来何を作りたいかをイメージしておく
何事でもそうですが、最初の方はモチベーション高く継続できたとしても、徐々に中だるみしてきていつの間にかフェードアウトしてしまうことはよくありますが、その要因の一つに、継続した先にあるものが不透明であることがあげられます。
しかしプログラミング学習は幸いにも、学習することでの成果が目に見える形となって表現されます。
まずは自分が使える簡単なシステムに目標を置いて作り始めて、徐々に難易度を上げて最終的には世の中の人に使ってもらえるようなシステムを作ってみるなど、マイルストーンを置きながら作りたいものをイメージして学習するとモチベーションを保ちやすいです。
いつまでも参考書や解説動画にとどまらない
最後は、いつまでも参考書や解説動画にとどまらないということです。
おそらく多くの方は勉強というとまずは参考書を買って一通り読んだり、動画を一通り見たりして学習することでしょう。
もちろんそれらの勉強法が決して悪いわけではなく、インプットするためには重要なことですが、プログラミングを最も効率的に習得するコツは、実際に手を動かして学習するアクティブラーニングです。
参考書や動画での学習内容は基礎部分であり、それらをインプットして理解したと思い込んでいても実際に手を動かしてコードを書いてみると全然機能が動かず、内容が身についていなかったと痛感することでしょう。
私自身も、頭では理解できていてもいざコードを書いてみるとすぐにエラーが出てしまいました。
しかし、これらのことはアクティブラーニングだからこそわかることで、実際にコードを書いてみることで定着も早いですし、自分が何を理解できていないかも一目瞭然なのでとても効率的です。
未経験でもプログラマーとして転職できる?
ここまではプログラミング学習を始めるにあたってのコツなどを紹介してきましたが、最後は、プログラマーとしての転職について自身の経験を交えながら述べていきます。
なぜプログラマーとしてキャリアを歩みたいかという軸を持っておく
元々IT業界で働いていてもいなくても、なぜ、そしてどのようなプログラマーになりたいかという質問はほぼ100%聞かれます。
冒頭で紹介したように、私は元々IT業界にいたのでそこでの経験を踏まえた質問が多めでしたが、それでもプログラマーとして働く目的は必ず聞かれました。
この質問の意図は、プログラマーとしてスキルがあるかどうかも見られているというよりは、皆さんが作りたいと思っているものとその企業が取り組んでいるシステムの方向性の乖離を防ぐことにあります。
プログラマーと一言でくくっても、その内容は多岐にわたり、Webサイト関連から基幹業務システム、アプリ開発など様々です。
まずは自分が何をしたいかという確固たる軸を持つことで、適切な企業選びができるかと思います。
そしてさらに、その想いをしっかりと面談で伝えることができれば、正直スキルは二の次です。
なぜなら、スキルはモチベーションがあれば後からついてくるからです。
もちろん転職時の年齢によっては即戦力を求められることもありますが、第二新卒でしたらスキルはあまり気にしなくていいです。
プログラマーという仕事を理解しておく
プログラマーとして働くことを理解することも重要です。
プログラマーというとひたすらコードを書くというイメージを抱く方もいるかもしれませんが、決してそうではありません。
むしろ、コードを書く時間は全体の30%もないかもしれません。
なぜなら、それまでの要件定義やテスト、保守対応など会社の業務内容によってはいろいろなことをしなければならないからです。
大企業に行けばプログラミング専門の部署もあるかもしれませんが、ベンチャーも多いIT企業ではなかなかそのような企業は少ないです。
そこを誤解したまま転職活動を進めていると、企業としては採用しづらく、あなたの理想の転職は果たせない可能性が高いです。
企業研究をしっかりと行い、その会社で自分はどのように働きたいかということを明確にすることで、面談でスムーズで好印象なやり取りができます。
企業の業務内容と採用情報をしっかりと読む
これは先ほどの内容と少し重複することにはなるのですが、転職サイトに掲載されている企業情報はしっかりと読んで理解しておくべきです。
それにより自分のイメージと企業の業務内容との乖離を防ぐことができますし、その企業が自社製品を持っているかどうかでも業務内容や働き方は大きく変わってきます。
自社製品を持っている場合は、その企業に出勤し自社の開発を行うことになります。
一方で、自社製品を持っていない場合は、その企業が社員の技術力を売って他の会社のプロジェクトに参画するというシステムになるので、多くの場合常駐という働き方になります。
私は現在後者の働き方をしていますが、それはプログラマーとしていろいろなプロジェクトをみて、多様なスキルを身につけたいと考えたからです。
そして将来的には独立したいなと考えており、それを考えたら常駐型の方がいいと思いました。
これは正直、皆さんの将来像によりけりで、どちらが良くて悪いということは決してありません。
確かにそれぞれメリットとデメリットはありますが、1つの会社でプロフェッショナルを目指す人もいれば、独立していろいろな案件に触れたい人もいるでしょう。
転職する際は、この点にも注目しておいた方がいいでしょう。
まとめ:実務レベルのプログラミングを学ぶことは決してハードルが高いことではない!
今回は、「プログラミング学習を、実務レベルまで習得するための学ぶコツ」について紹介しました。
今回ここで最も皆さんに伝えたかったことは、未経験でもプログラミング習得のハードルは高くなく、プログラマーとしてのキャリアを歩むなら即行動!ということです。
タイトルにあるような「実務レベル」というのも正直際限がないですし、それならスクールなどで最低限の学習を修了させていち早く実務経験を積むべきです。
私自身実質1ヶ月のJavaスクール学習を経てすぐに実務デビューし、苦戦しつつも確実にプログラマーとして成長できています。
もう一度言いますが、プログラミングは決してハードルが高いことではありません!
この記事が皆さんの少しのきっかけになれたら幸いです。