MENU CLOSE

記事

2020.01.20

翻訳記事

【翻訳】180日でWebデベロッパーになる方法(学歴なしで)

【翻訳】180日でWebデベロッパーになる方法(学歴なしで)の画像1
Photo by Tracy Adams on Unsplash
Indrek Lasn
Indrek Lasn

ソフトウェア開発、プロダクト開発、会社の立ち上げを独学で経験。心身ともに自分に合った健全なものを嗜みつつも、時に大きなリスクを自ら背負うこともあります。

※この記事はIndrek Lasnさんの記事の許可を得て翻訳した記事です。プログラミング0からデータベース、React、Vueなどのフレームワークまでを180日で網羅する方法が記載されています。

https://medium.com/better-programming/become-a-web-developer-in-180-days-without-cs-degree-e869395972e1

Web開発者の界隈へのキャリアパスは時に複雑に見えるかもしれません。様々なプログラミング言語があり明確な道筋が用意されていないためです。Web開発者へのキャリアに対して何をすべきで何を学習していくべきでしょうか?

私は複数のスタートアップやスイス最大手の銀行でシニアエンジニアとして我流でプログラマーとなった人です。私がここで学んだのはどのように有利な知識を身につけていくのか。持続性と努力の問題で、誰でもWebデベロッパーになることができます。もし、これから解説するように動いていけば、あなたもWebデベロッパーになれます。

180日の期間を超えて努力を積み上げなくても、この記事の方法でWebデベロッパーになることができます。保証はできませんが、180日間はWeb開発分野の中でプログラミングのキャリアを始めるためには十分な期間です。

人によってはそれ以上、時間がかかるかもしれませんし早く終えるかもしれません。そこは、どれだけ自分が強い気持ちで努力を続けられるのかによります。

「私は19歳でWeb開発を学び始めました。当時はあまりお金を持っておらず、できる限りお金をかけずに学習していました。私が用意した道筋がもっとも費用対効果が高いです。」

世の中には無料で学習できる沢山のリソースがあって、複数のプログラミングスクールに通う必要はありませんが、どこで学習すれば良いのかを知る必要はあります。

効果が実証されているプログラミングスクールに私は反対している訳ではありません。ですがプログラミングスクールの中には高額で非効率なものもあります。Reddit掲示板にあるプログラミングスクールの見出しをよかったら見て下さい“The Good, Bad, and the Ugly of Web Dev Coding Bootcamps “— In Depth Explanation

著作者の注釈:この記事をブックマークしてみてください。すぐに参照していつでもコースを終わらせることができるように、チャレンジできるようにしておきましょう。

1〜15日:HTMLとCSSの基礎を学習

これはあなたの旅の始まり。基礎を正しく習得する事にフォーカスすることは重要です。強固な基礎を持つことは様々な科目をより素早く把握するための能力となります。

小さく始めてHypertext Markup Language(HTML)は何であるのか、どのように動くのかを学習してください。HTMLは全てのサイトとウェブアプリを構築しているブロックです。Cascading Style Sheets(CSS を学習するスキルを称賛します。CSSは、WebサイトおよびWebアプリケーションのスタイル設定に使用されます。

Mozillaには、無料のリソースの簡潔で最新のリストがあります。次のものが含まれます。

MozillaのWeb入門ガイド

1. Webの概要入門
2. 基本的なソフトウェアのインストール
3. あなたのウェブサイトはどのように見えますか?
4. ファイルを扱う
5. HTMLの基本
6. CSSの基本
7. JavaScriptの基本
8. ウェブサイトを公開する
9. Webの仕組み

プロフェッショナルなサイトを作成するのは大変な作業です。ウェブ開発に慣れていない場合は、小さなものからつくり始めることをオススメします。

新たなFacebookのサービス開発する必要はなく、オリジナルでシンプルなWebサイトをオンライン上で運営することはそんなに難しくありません。まずは、そこから始めてみましょう。

【翻訳】180日でWebデベロッパーになる方法(学歴なしで)の画像2
Getting started with the Web — https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web

16〜50日 JavaScriptの基礎を学び始める

JavaScriptは言語の中でも最も人気のあるプログラミング言語です。JavaScriptはすべてのWebサイトで使用されているため、かなり普及しています。

最新のブラウザーを使用している場合は、設定画面へ行ってJavaScript設定をオフにして好きなWebサイトを閲覧して見てください。するとWebサイトの97%が正常に機能せず、ロードもできないことをすぐさま目の当たりにするでしょう。

JavaScriptがWebをパワーアップさせています。どんなWeb開発の仕事においてもJavaScriptプログラミングが何らかの形式で必要となります。JavaScriptが人気のある理由に興味がもしあれば、私が以前書いた記事をチェックして見てください(※リンク先は英語です)“What Makes JavaScript Popular?“

JavaScriptが人気なおかげで、JavaScriptを学習するための多くのコンテンツがあります。すでに始めている場合の人も、FreeCodeCampにあるJavaScriptカリキュラムを最初に始めてみることをオススメしたいです。

【翻訳】180日でWebデベロッパーになる方法(学歴なしで)の画像3
FreeCodeCampカリキュラム

FreeCodeCampは効率的で、無料で、解決するためのインタラクティブな課題を用意してくれます。

【翻訳】180日でWebデベロッパーになる方法(学歴なしで)の画像4
FreeCodeCamp JavaScript カリキュラム — https://www.freecodecamp.org/learn

FreeCodeCampでJavaScriptのコースをやれば、JavaScriptの基本が理解できるようになり、JavascriptがどのようにWebデベロッパー全体の中で適用されているのかがわかります。

FreeCodeCampのJavaScriptコースは課題がたくさんあります。課題を終えるには数週間が必要でしょう。もしも途中でつまづいてしまったら、Google検索で答えをググってしまっても問題ありません。恥ずかしがらないでください。

ウェブ開発では一般的に、開発しながら新たに多くのことを学んで、StackOverflow(海外のエンジニア向け質問サイト。日本ならteratailなど)を読んでつまづいた箇所に近い質問と答えを見つけます。

51〜81日:30日のバニラJSコーディングチャレンジ

「Javascript30」は、ライブラリを使わないDOM操作やJavaScriptの基礎の両方に慣れたいデザイナーや開発者に向いています。

【翻訳】180日でWebデベロッパーになる方法(学歴なしで)の画像5
30日の30チュートリアルで30のお題を構築する — https://javascript30.com/

事前にJavascriptについてある程度は学習している必要があります。

「JavaScript30」はJavaScriptを0から学べるコースではなくて、多くの新しい状況に遭遇したり、ノウハウを培ったり、疑問の解消したりと、そういったことをアプリによって学習していきます。

デザインパターンやフレームワーク、ライブラリや抽象的な形式を明確にしながら舵を切っていく必要がありますが自分よがりになりがちでもあります。こうした一連の対処は素晴らしいですし、現場で必要なことです。ですが学習の初期段階においては理解の妨げになってしまう可能性もあります。

「JavaScript30」にあるチュートリアルでは、ほとんどがページと相互作用するブラウザーのAPIに大きく依存しています。もしconsole.log()を使ってその先へ進めないでいるのであれば、紹介したチュートリアルの動画は次のステップに繋がります。このサイトでビルディングするのは本当に楽しいですよ!

コースは無料で、楽しくてやりがいがあります。毎日続けて30日間、新しいビルディングの挑戦ができます。このコースを終了する頃には、JavaScript、DOMでのやり取り、ブラウザーAPIの操作に慣れているはずです。

82〜120日:フロントエンドライブラリを学ぶ(React、Vue、Angular)

競合企業に何らかの形式のフロントエンドライブラリを使用しているかどうかを尋ねれば、YESな答えが返ってきます。昔(2000年代)に、企業は袖をまくり、社内の独自フレームワークでニーズに合わせたライブラリを構築していたものです。

ですが最近のWeb開発の現場では、React、Vue、Angular、Svelteなどのオープンソースのフレームワークとライブラリを企業は使用しています。どのフレームワークを使用するかを決定するための選択肢が非常に多くてその選定は難しいです。

最終的な目標は、Web開発分野で新しい仕事を見つけることであることを忘れないでください。私のアドバイスは、自分の住んでいる地域を調べてみて、どのフレームワークが最も人気があり、こだわるべきかを確認すること。React開発者向けの求人が100件ある都市もあれば、Angular向けの求人が1000件ある都市もあります。お住まいの地域で最も人気のあるものを選ぶことに興味を持ってください。

(※翻訳者(吉村)からの追記:日本国内であればWantedlyの求人などから職種の需要をリサーチすることもありだと思います)

私自身がReactに偏っているのは、自分でチョイスしたことではありますが、チョイスする前までは一生懸命に考えていました。ここには正解も不正解もありません。

注:Reactは、ユーザーインターフェイスを構築するためのJavaScriptライブラリです。Reactの詳細については、ホームページ(もしくは公式チュートリアル)をご覧ください。

相互に接続されているWeb開発テクノロジーのグラフを次に示します。

【翻訳】180日でWebデベロッパーになる方法(学歴なしで)の画像6
How Technologies Are Connected — https://insights.stackoverflow.com/survey/2019#correlated-technologies

フレームワークを選択したら、ビルディングを始めましょう!より良い方向へ進むための唯一の方法は、常に自分のコンフォートゾーン(※快適だと思う環境)の外側に自分自身をプッシュしていくことです。

コードに関するアイデアがいくつか必要な場合は、Here Are 6 Front-End Challenges to Codeでフレームワークを選択して、目標に向かって作業を開始してみてください!

ヘルプが必要な場合は、GithubとStackOverflowに活気のあるコミュニティがあります。あなたは決して一人ではありません。

121〜170日:Node、MongoDB、PostgreSQL(バックエンドの開発)の学習

ここまで続けてこられたのであれば、途中で諦めることなんてしないでしょう!これまでフロントエンド開発がどのように動くのかについて学習してきましたので、バックエンドの知識を自分のスキルリストへ追加していきましょう。

実際にWeb開発を行う際には、すべてのアプリケーションにバックエンドが用意されています。最近のバックエンドは、フロントエンドで相互作用してくれるAPI(Application Programming Interface)を使います。

でもなぜバックエンドが必要なのでしょう?ええと、アプリケーションと私たちがやりとりしている際に、ユーザーは自身でユーザーを作ることができるとでも言っておきましょう。私たちはユーザーを作成するために、バックエンドサービスを必要とし、ユーザーデータを保存するためにバックエンドを使う必要があります。バックエンドとは、データベースと相互に作動して、データを提供してフロントエンドへ渡してくれる仲介役となります。全てがAPIを経由して行われています。

セキュリティは、バックエンドが必要なもう1つの大きな理由になります。バックエンドが意味することは、サーバー側での実行。つまり、この記事の文脈においてはブラウザーの外側を意味しています。開発者ツールを介して誰でもフロントエンドに置いてあるコードを見ることができるため、セキュリティの観点から機密データをフロント側へ保存することはあまりありません。

もし興味があれば、Wes Bosの「Learn Node」コースを開始することから始めてください。

【翻訳】180日でWebデベロッパーになる方法(学歴なしで)の画像7
Learn Node — https://learnnode.com/

ここに、すべてのテクノロジーがどのように接続されているかの全体像が載っています。すべてを覚えている必要はありませんが、全体像を把握して自分にとって適したポジションを理解するために役立ちます。

【翻訳】180日でWebデベロッパーになる方法(学歴なしで)の画像8
テクノロジーはどのように繋がっているのか — https://insights.stackoverflow.com/survey/2019#correlated-technologies

関連性のあるエコシステムに偏った技術の集合体は同じ開発者によって作られています。ネットワーク図はテクノロジーが相互にかなり協同して関わっていることを示しています。

171〜177日:DevOpsとGit(Docker、Heroku、AWS)の学習

Web開発能力を世界に示すには、Webアプリケーションをホストする必要があります。将来の雇用主は、たとえ未完成であっても、以前の仕事を見たいと考えています。

GithubのページにあなたのプロジェクトをホストするためにGitを使用する方法を覚えましょう。費用はかかりません。Githubのページは無料で、唯一の欠点としては、クライアント側のコードをホストできてしまうことです。自分のAPIをホストしたい場合は、Heroku、AWS、Digital Oceanを使ってサーバーをアップしないといけません。

【翻訳】180日でWebデベロッパーになる方法(学歴なしで)の画像9
Github ページ — https://pages.github.com/

10チームがあれば、その内おおよそ9チームがGitを使用してコード共有をしています。Gitを知っていると、すでにチームコラボレーションのループに入っていけるため、就職しやすくなりますよ。

180日:Web開発の職種へ申請を開始

ついに最終課題へと辿り着きました、今から本当の旅が始まります。

見つけられるすべての求人情報を見つけて申請していきましょう。自分が新米の開発者であり、初めてのエンジニアとしての仕事であるという事を希望先の会社へ明確に伝えてください。誠実さは付き合いを長続きさせます。新しい関係の第一歩を進めていきましょう。エンジニアリングの仕事に応募する場合、新米エンジニアに何が期待されているのかを正確に知っておくと便利ですよ。

就活の面接については、就活をする前に面接官に尋ねるべき8つの質問があります。

結論

ここまで読んでくれてありがとう。あなたの新しい旅は最高のものとなることを願っています。

始めることは決して簡単ではなく、あきらめることは簡単な方法です。夢をあきらめずに戦い続けてください。

新しいことを学んで、知らないかどうかを周りに尋ねつつ、ハングリー精神で好奇心を持ち続けてください。

この記事を翻訳した人

よしいたけ

海外ノマド歴3年目のよしいたけ。海外の複数拠点にしつつ個人でEC物販→メディア運営→Web制作を経験。Reactを用いた個人サービス開発を行う傍らでWebライティング(テック分野など)や、運営サイトの収入、サイト運営代行、Web制作系の受託などの複収入で生計を立てながら理想のライフスタイルを追求をしている。

最新の記事

カテゴリー