プログラミングをゼロから学ぶ初心者:文系でプログラミングとは関係ない仕事をしていましたが、Webエンジニアを目指してプログラミングを勉強しようと決意しました。初心者なので何もわかりませんが、プログラミング学習で気をつけることがあれば教えてください。
という相談にお答えします。
筆者のプログラミング経験
僕のプログラミングに関するキャリアは、独学でプログラミングを勉強するところから始まりました。
プログラミング初心者:プログラミングの勉強を始めたいけれど、周りに相談できる人もいないし、何からすべきかも全くわからない。まずはプログラミング初心者を脱出して、調べれば何となく理解できるところまで進みたいので、他の人がどうやって勉強したのか[…]
仕事でどうしてもプログラミングの技術が必要でしたが、頼れる人もいなかったので自分で半年くらい勉強しながら何とかしていて、落ち着いたタイミングでセブ島でのエンジニア留学に行きました。
2年前、僕はフィリピンのセブ島にてエンジニア留学をスタートしました。6月末まで、セブ島のNexSeedでエンジニア留学してます。セブにお住いの方、留学中の方、旅行中の方も、ぜひご飯行きましょうー!#tabippo— ルイス前田 […]
その後は、フルタイムのエンジニアが入社してくれたので、Webメディアの編集長とエンジニアを兼務で働いています。出身は商学部で専攻はマーケティング、前職は広告代理店の営業・企画担当だったので、バリバリの文系です。
プログラミングの勉強は独学の期間が辛かったですが、やってみて分かったことも多かったので、実体験を元にプログラミング学習の事前情報を解説します。
何を勉強するかに時間をかける
プログラミングスクールやプログラミングの学習サイトを開くと、言語ごとにコースが設定されています。
プログラミング学習大手の「TechAcademy」を例に出すと
・Webアプリケーションコース(Ruby on Rails)
・PHP/Laravelコース
・Pythonコース
・Node.jsコース
・Scalaコース
など
プログラミング初心者であるほど、どの言語を選ぶべきなのか迷ってしまうほど豊富ですが、1つ目の言語をある程度勉強してみないと比較ができないので、迷ったらRuby on RailsかPHPを選べばOKです。
RailsかPHPを選ぶ理由は、メジャー言語なので受けられる仕事が多いためです。もし、スタートアップで働くことやWebサービスの開発に興味があれば、Railsですが、とにかく仕事数を重視するのであればPHPです。
本やサイトを読んだだけで勉強した気になる
プログラミングは手を動かさないと覚えられません。この辺りは英語学習と同じでして、英会話も英語で話す経験を積み上げないと話せるようになりません。TOEICの点数は低いけど、英会話は困ったことがないというサバイバルな人は、実践を重ねている人です。
プログラミングの基礎的な理論や言語ごとのルールなどはササッと一読して、続きはエラーを出しながら身体で覚えましょう。
分からないこと、詰んだところをいつまでも考える
プログラミングを勉強していて「なぜか動かない」ってことはよくあります。真面目な方ほどなぜだろう?と思い悩むのですが、プログラムが動かない時って1ヶ所ではなく、複数のミスが重なっていることがあるので、一度詰まってしまうと抜けられません。
初心者の人がプログラミングを学ぶ場合においては、学習している部分が動かなくても次に進める救済措置があるので、15分考えて分からなければ切り替えて次に進みましょう。
そして、区切りのつくところまで勉強が進んだら、もう一度挑戦してください。今度はきっと動くプログラムを書くことができます。
暗記しようとする
プログラミングはテストではありませんから、コードの書き方やメソッドを暗記する必要はありません。熟練のエンジニアでも、検索したり、過去の自分のコードを参照しながらプログラミングをしています。
環境構築に手を出して行き詰まる
僕がプログラミング学習で最も難しかったのは、コードではなくコードを書き始めるまでの環境構築でした。例えば、プログラミング学習サービスの老舗である「ドットインストール」は自分のPC内で環境を作って、プログラミングを進めることを推奨されます。一方で、ブラウザ上でプログラミングができる「Progate」などの学習サービスもあります。
プログラミングの実務では、テスト環境を作ったり、複数の環境を使い分けることがありますので、環境構築ができることは大切ですが、1行も書けずに環境構築で詰まるとかなりしんどいので、僕は環境なしですぐにコードを書き始められる学習サービスか、詰んだ時にすぐ聞けるメンター付きのプログラミングスクールをオススメします。
何でも自分でやる
最後に、僕は独学でプログラミング学習をスタートしましたが、もう一度やり直せるならプログラミングスクールに通いながら勉強します。結局、独学だと理解している部分がいびつだったので、エンジニア留学という形で全体の学び直しをしました。
忙しくて勉強の継続に自信がない人は短期集中の学校型の「TECH CAMP(テックキャンプ)」
地方や遠方に住んでいて学校に通えない方はオンライン型の「TechAcademy(テックアカデミー)」
プログラミングの他に、英語も学びたい方は留学型の「NexSeed」
選択肢はこの3つのどれかになるので、ピンときたものを選んでください。
今回の記事は以上です。プログラミングはニーズの高い技術ですので、手に職がなくて今の仕事を辞められない方や人生一発逆転したい方には、挑戦する価値があります。