全くの未経験から『独学でフリーランスのプログラマーを目指す』のは可能なのでしょうか?結論からすると「可能」です。ただもちろん、ラクをしてなれるわけではありません。
今回は、独学でフリーランスのエンジニアを目指す方にとって、オススメのステップをご紹介して参ります。
オススメはwebプログラマーを目指すこと
そもそもwebプログラマーとは?
Web上のあらゆるサービスを、プログラミングを通して作っていく人たちです。FacebookやTwitter、InstagramといったSNSはWebサービスの一つです。その他、最近テレビCMなどでもよく目にするSmart Newsや、食べログもWebサービスに該当します。
Webプログラマーは、大きく分けると
- 『フロントエンドエンジニア』
- 『バックエンドエンジニア』
の2つの役割に分けられます。
簡単に説明すると
『フロントエンドエンジニア』は
webサービスにおける表側の部分を作っている人たち。ツイッターの例で言えば、「画面のここにプロフィール画像があり、このボタンを押すとツイートされる」などは、彼らによって表現されています。
一方の『バックエンドエンジニア』は
サーバーやデータベースといった、我々一般ユーザーには見えない、裏側の処理を行うプログラムを作っている人たちです。例えば、ツイッターでつぶやいた文章が、「どこに保存され」「どうやってフォロワーさんだけに表示するか」といったことは、バックエンドエンジニアが存在しないことには、うまく機能しません。
これらの意味や役割の違いなどは今の段階で、ピンと来なくても大丈夫です。実際にプログラミングを勉強していけば、意味やそれぞれの違いなどが分かるようになってきます。
Webプログラマーがオススメな理由
言うまでもないことですが、Webプログラマーの需要が年々高まっているからです。今は実に様々なWebサービスが存在しています。それだけ社会が必要としているからに違いありません。となると、そのWebサービスの開発ができるプログラマーが必要とされるのは、当然のことです。
あとWeb系のプログラミングは、
- 学習に必要な情報が豊富にそろっていたり
- 学習の難易度が比較的高くない方であり
未経験の方でも始めやすいからです。
では次に、具体的な独学のステップを見て行きましょう。
独学でwebプログラマーになるステップ
以下の流れで、学習を進めていくと段階的に成長ができます。
- インターネットの仕組みを理解する(ドメイン、サーバー、ブラウザなど)
- HTML/CSSを理解する
- Bootstrap等のフレームワークを学ぶ
それでは順を追って説明していきます。
①インターネットの仕組みを理解する(ドメイン、サーバー、ブラウザなど)
先ほど『フロントエンド』と『バックエンド』2つのエンジニアについて説明しました。こういった意味を理解するためにも、まずは「インターネットがどういった仕組みで機能しているのか」を知る必要があります。
例えば以下のサイトで、初心者の方向けに分かりやすく説明してくれていますので、ぜひ一度目を通してみてください。
②HTML/CSSを理解する
Web(サイト)の世界における基礎中の基礎知識ともなるのが、このHTMLとCSSです。この2つは、難しい言葉を使うとマークアップ言語と言います。で、このHTMLとCSSが存在することで、Web上でいろんなものが表現できるようになっています。
現時点で「さっぱり分からん」という方は、当然のことなのでご安心ください。例えば、以下のプログラミング言語学習サービスを使えば、誰でも簡単に学ぶことができます。
Progate
ただ文章を読むだけでなく、実際にコードを入力してその結果を見ながら学習をすすめることができます。初級編であれば無料です。有料でも月980円しかかかりません。
そのほかでは『ドットインストール』というプログラミングの動画学習サイトがあります。こちらはほぼ全て無料です。思いつくプログラミング言語は大抵が網羅されています。
分かりやすさはもちろんのこと、学習の項目が細分化されていて、段階的に学習を進めることができます。
③Bootstrap等のフレームワークを学ぶ
選択肢は1つではありませんが、HTML/CSSを一通り理解したら、『Bootstrap』というWeb制作のフレームワークを学ぶのも、1つの手です。
フレームワークとは…
「Web制作を、手っ取り早く進めるための機能の集まり」です。
「?」が頭に浮かんできた方は、マーボー豆腐を作るときをイメージしてください。家に何もない状態で、調味料をイチから全部そろえるのは面倒ですよね。
だったら、CookDoなどのマーボー豆腐の素を使った方が、断然ラク。そして早い。例えるなら、そのCookDoとフレームワークは似ています。
要するにBootstrapを使えば、Webサイトの制作効率が上がり、そして制作の幅も広がるのでオススメです。
その後は…
PHP、JavaScript、jQueryといったプログラミング言語を学べば、よりハイスペックなプログラマーへとステップアップすることができます。
本記事においては、あれこれ伝えても頭が一杯になるかと思いますので、詳細は控えます。「こんな言葉があるんだな」と頭の片隅に置いておく程度で大丈夫です。
後ほど確実に、「あ、必要だな」と感じる時が来ると思います。
プログラミングスクールに通うのもアリ
よりスピーディにスキルを磨いていきたい人は、プログラミングスクールがオススメです。
実体験をもって伝えると、テックキャンプは間違いありません。
TECH::CAMPの特徴
オンラインのみのコースもありますが、基本は教室型です。ただ学校や塾のように、授業が存在するわけではありません。教室の中で、用意されたカリキュラムを自己学習で進めます。カリキュラム自体が分かりやすいのはもちろんですが、最大の特徴は、分からないことがあればすぐメンターに相談できる点です。これが何よりの魅力と言えます。
プログラミング学習は「分からない」→「調べる」→「理解」の連続です。分からないことは、自分で調べて解決することはできます。ただ一人で勉強をしていると、調べた先で「また分からないことが出てきて」…それを調べると「また分からないことが出てきて」…と、ギモンの無限ループに陥ることがよくあります。
そんな非効率な学習を解決する方法が、「詳しい人に教えてもらうこと」です。無駄な情報をカットして必要な情報だけを教えてくれるので、道に迷わず効率的に学習を進めていくことができます。
プログラミング学習において大事なポイント
インプットしたらアウトプットすること
これはよく言われることですが、ただ理解しただけでは、一向に成長しません。理解したものを、実際に作ってみることが大事。
今回で言えば、HTML/CSSを一通り理解したら、一度Webサイトを作ってみましょう。理解したつもりでも「あれ?思った通りに表現できないな」といったことが、発生するかと思います。
実践してみることで分かるのが、本当の理解度です。それに加えて「あ、こんなこともできたらいいな」という新たな欲(疑問)も、手を動かすことで浮かんで来るようになります。
ある程度できるようになったら、積極的に提案してみる
PHPやJavaScriptのスキルがあった方が、仕事の幅は広がります。とは言え、HTML/CSSのスキルだけでもフリーランスとして活動することは不可能ではありません。
Webサイトの運用保守の案件(例:簡単なページ更新など)であれば、そのスキルだけで十分通用します。それほどスキルが高くないうちは、CrowdWorksで案件を見つけてくるのがベターでしょう。
ちなみに実績がない人こそ、先ほどいった「実際に何か作ってみる」ことが大事になってきます。その制作物がスキルの証明になるからです。逆に言うと、実績なし・独学の未経験で、「頑張ります!」という意欲だけでは正直厳しいと言えます。
一度就職するのもあり
「今すぐフリーランス」ということに固執しない方であれば、アルバイトでも何でも構わないので、一度就職してみると良いです。
勉強しながらお金が稼げるし、プログラマーの繋がりもできるしで、メリットも大きいです。マイナビバイトやバイトルなど、アルバイト系の求人サイトでも、いくつか募集されているのを目にします。その求人サイト経由で応募してみるのも一つの手と言えます。
プログラマーに向いている人の特徴3つ
例えば、以下のような人が向いています。
- 1.サボりぐせがある人
- 2.PCのフォルダ整理が得意な人
- 3.ずっと学習を続けていられる人
それぞれ説明していきます。
1.サボりぐせがある人
「サボる」というとネガティブなイメージがありますが、ことプログラミングに関しては、大事な感覚です。
基本的にプログラミングは、同じことを何度も繰り返すのを良しとしません。いかに、不要な部分を仕組み化するかが重要になってきます。その点、「あー何度も面倒くさい。一回でまとめたい」みたいな発想のある人ほど、無駄な部分への気付きが多いので向いています。
2.PCのフォルダ整理が得意な人
人によっては何個かテキトーにフォルダを作って、あとは全部『その他』フォルダにゴチャっとまとめる人もいます。
そんな中で、「日付別」「案件別」「画像」「書類」…etc 色々ありますが、このフォルダのジャンル分けがうまい人は、プログラマーに向いています。
やってみないとピンと来ないかと思いますが、プログラミングは、物事を抽象化する作業と、具体化する作業を行ったり来たりします。その作業が、フォルダの整理ととても似ています。
3.ずっと学習を続けていられる人
なんと言ってもコレです。プログラミング学習に終わりはありません。
どれだけ経験を積んでも、分からないことが日々出てきます。別な見方をすれば、『勉強するのが苦手な人』だと、途中で確実にイヤになって諦めてしまうでしょう。
まとめ
もちろん、プログラマーは決してラクな仕事ではありません。それでもプログラマーは、年齢・性別・これまでの経歴などに関係なく活躍するチャンスがあるお仕事です。
プログラマにとって大事なことは『今、何ができるか』ということ。フリーランス・サラリーマンに限らず、プログラマーに挑戦してみる価値は確実にあります。
フリーランスエンジニアの方へ
- 自分のスキルをもっと生かしたい!
- 高単価の案件に挑戦したい!
- 収入を安定させたい!
そんなお悩みはありませんか?
フリーランス向けの案件紹介エージェントに登録してみましょう!
登録も利用も無料で案件を紹介してもらったり、契約を代行してもらえますよ。詳しくは下記の記事を読んでみてね!