こんにちは、私は大学も前職もザ・文系。プログラミングスクールでいくつかの言語を学び、フリーランスエンジニアになりました。
フリーランス歴は今年で6年目、そこそこ実績もあります。
今回はよく聞かれる、「フリーランスエンジニアを目指す場合、何を勉強すればいいか」について回答していきます。
フリーランスエンジニアを目指す場合、何を勉強すればいい?
エンジニアの仕事内容は、大きく分けて2種類に分かれます。フロントエンドとバックエンドです。
フロントエンドとは
フロントエンドとは、WebサービスやWebアプリで直接ユーザーの目に触れる部分のことです。
ユーザーが文字を入力したりする部分や、バックエンドのソフトウエアと直接やり取りをする部分のことを指します。
フロントエンドの開発で利用する言語は主に、HTMLやCSS、JavaScriptです。
バックエンドとは
次にバックエンドとは、Webサーバーやデータベースのシステムなど、ユーザーの目に見えない部分のことです。
ユーザーが入力した内容などのデータ処理やデータベースへの保存、検索結果の出力などを行います。
バックエンドの開発で利用する言語は主に、JavaやJavaScript、PHP、Python、Rubyです。
開発効率を高めるための各種フレームワークを利用して、開発が行われます。そのため、言語だけでなくフレームワークも使いこなす必要があります。
初心者には、フロントエンド開発で利用する言語がおすすめ
私自身は全くプログラミング言語が分からない状態から手探りでHTMLやCSSを学んでいたのですが、もっと自分のサイトを見栄え良くしたいと思うようになり、JavaScriptやRubyなどを学ぶようになりました。
フロントエンドの開発で利用する言語は直接ユーザーの目に触れる部分を動かすので、プログラミング言語を初めて触る方にはおすすめです。
なぜなら、自分が書いたことが反映されていると見てすぐ分かるので、成長の実感が持てるからです。
成長の実感が持てないと、全く学んだことのない分野を開拓するモチベーションを保つのはとても難しいです。
それに、バックエンドの開発で利用する言語は、それ単体だけでなく同時に開発効率を高めるための各種フレームワークも利用しなければいけません。
そうなると、一つの言語をマスターするために膨大な勉強量が必要になります。
それに比べると、フロントエンドの開発言語は勉強量が少なくて済むので初心者にはとっつきやすく、おすすめなんです。
フロントエンドの開発言語の中でも、特におすすめは?
HTMLやCSSはフロントエンドの開発では当然できるものとして扱われます。
その上で、JavaScriptはブラウザ上で動くだけでなくサーバー側で動くものもあるため、非常に利用範囲が広がってきています。
あなたがフロントエンドエンジニアになるにせよ、バックエンドエンジニアになるにせよ、まず学んでおきたい開発言語であることには違いありません。
ちなみに、現場では開発効率を高めるために、JavaScript単体ではなくフレームワークやライブラリが積極的に利用されています。
JavaScriptにはさまざまなライブラリが用意されていますが、その中でもよく利用されるフレームワーク・ライブラリは「React.js」、「jQuery」、「Vue.js」、「AngularJS」の4つです。
JavaScript以外にも学びの幅を広げたいという方は、これらのフレームワーク・ライブラリを使いこなせるよう触ってみてはいかがでしょうか。
フリーランスエンジニアを目指すなら、具体的な目標があると成長しやすい
初心者におすすめの開発言語はフロントエンド関連の言語。特にJavascriptとそのフレームワーク・ライブラリです。
一番自分の成長が目で見て実感しやすいですし、フロントエンド関連に限らずエンジニアの需要は年々増えているので食い扶持に困ることもありません。
ただ、できれば「何を作りたいか」を具体的に心に留めておくと、成長速度はぐんと速まります。
もちろんフリーランスのエンジニアになること、フリーランスのエンジニアになって時間や場所に縛られず仕事をすること、一定の生活費をそれで稼げるようになることも目標ではあります。
しかし、フリーランスエンジニアになること、生活費を稼げるようになること、のようなふわっとした概念的なものよりも、具体的にこういうサービスを作りたいとか、こういうアプリを作りたいと目標に形がある方が、それに向かって何を勉強すればいいのか、どれくらいの時間やお金を費やせばいいのかが具体的に考えやすいからです。
これからフリーランスエンジニアを目指す皆さんには、開発言語の選択よりも前に「具体的に何を作りたいか」をぜひ考えてみてほしいです。
独学だけは絶対やるな
もしあなたが独学でフリーランスエンジニアを目指しているなら、私は全力で止めたいです。
なぜなら、プログラミング言語を独学する人の9割は1年以内に挫折するという実験結果があるから。そして、私自身もそれを経験したうちの1人だからです。
私はフロントエンドエンジニアになりたいと思い始めた頃、さまざまなプログラミング言語を独学で習得しようと、無料の学習サイトを使ったり本で学んだりしていました。
しかし、学ぶほど「どこが分からないのか分からない」状態になり、結果的にプログラミングスクールで学ぶようになりました。
独学していたのは1年間ほどでしたが、正直言って無駄な時間だったと後悔しています。
私が通ったのは、日本最大級のプログラミングスクール「テックアカデミー」ですが、そこでは体系的にプログラミング言語を教えてくれるだけでなく、自分専属のメンターがいろいろと相談に乗ってくれました。
メンターたちは現役のエンジニアなので、リアルタイムの情報(生きた情報)を踏まえて相談に乗ってくれるのが本当にありがたかったです。
どこが分からないのか分からないと言えば、分かるところまで戻って根気よく教えてくれました。
フリーランスのエンジニアを目指していると言えば、何を作りたいのか、どんな人生設計を目指しているのかと親身になって相談に乗ってくれました。
もしこれから何かプログラミング言語を学びたい、エンジニアになりたいと思われているなら、私は独学ではなく、プログラミングスクールで勉強することをおすすめします。
テックアカデミーには、プログラミング言語を教えてもらえるだけではなく、エンジニアになった後の自分の人生についても共に悩み導いてくれるメンターがいます。
現役エンジニアのメンターにあらゆる質問をぶつけられる環境…それは貴重で贅沢な環境です。
お金を惜しんで独学し結果的に潰れるのか、自己投資と思ってメンターにがっつり質問し、投資分を回収+自分の人生に生かすのか。
どちらを選ぶかはあなた次第です。
ちなみに私は、「Webアプリケーションコース」と「フロントエンドコース」を受講しました。
いきなりコースを選ぶのは不安だ…という方は、ぜひ1週間の無料体験を受けてみてください。
この無料体験では、テックアカデミーで開講されている「Webアプリケーションコース」の一部を、実際に受講するのと全く同じ環境で体験することができるんです。
メンターには24時間相談し放題なので、プログラミング言語に関してだけでなく、今後のキャリアパスなどについても質問を投げかけてみてください。
きっと親身に相談に乗ってくれるはずです。
もし全コースを見てみて、複数のコースを受講したいけど選べない…という場合は、セットコース(セットにすると割安になります)やウケ放題というプランもありますよ。
ぜひチェックしてみてくださいね。