Web開発産業がブームに沸いている昨今、こんな質問をよく耳にします。「どうやったらWeb開発者になれますか?」。 質問の仕方が間違っていると思います。尋ねるのなら、こちらのほうが良いでしょう。「Web開発者として成功するにはどうすれば良いですか?」。
このように尋ねるのが重要な理由は、Web開発者は世界中にたくさんいますが、成功している人は限られているからです。
この記事の目標は、ライバルよりも秀でるための考え方、知識、スキルを習得し、Web開発者として成功することです。会社員なのか、フリーランスなのかは問いません。
また、「プロになるための壁」を必死に破ろうとしているWeb開発志望者やWeb開発者にも読んでもらいたい内容です。
これから紹介する21個のステップを実行すればWeb開発者として成功し、さらに上を目指せます。
1. Web開発に対して本当に情熱がありますか?
「情熱」はしばしば、本来の意味とは離れた意味で使われます。本来の意味は「強く抑えきれない感情」です。
情熱は受け身な言葉ではありません。能動的に行動しようとするものです。ほとんどの人はフルタイムの仕事を嫌っています。本当に好きで情熱を持てることを仕事にしている人はほとんどいません。
次のような自問自答が大切です。
- Webサイトやアプリの作成を考えるのが楽しいか?
- Web開発はやりがいのある仕事になりそうか?
- Web開発者としてのライフスタイルは自分(そして、家族)に合いそうか?
上の質問に対する答えがイエスなら、Web開発者になると良いです。
Web開発者として成功する秘訣についてもっと詳しく知りたい人は、Versioning Showの記事『What Makes a Good Engineer』も参照してください。
2.「Web開発者として成功したい理由」はなんですか?
自分自身に問うべきもっとも重要な質問です。なぜWeb開発者として成功したいのですか?
- これまでにないものを生み出して人の生活を変えたいからですか?
- ほかの人のプロジェクトをサポートしたいからですか?
- 自分のプロジェクトを成功させたいからですか?
- 稼ぎたいからですか?
私の「Web開発者として成功したい理由」の1つは、人の力になり人の生活に良い変化を与えたい、と考えているからです。そして、生活が変化した人たちがほかの人にも同じようにしてほしいという想いです。
疲れてしまったり、気が向かなかったり、イライラしたり、モチベーションを保てないときでも「Web開発者として成功したい理由」があり、成し遂げたい思いがあれば行動を起こせます。
3. どちらががおもしろいですか?
「論理」や「問題解決」か、「デザイン」や「ビジュアル」のどちらが好きですか?
論理や問題解決が好きなら、バックエンドWeb開発が向いています。
デザインやビジュアルが好きなら、フロントエンドWeb開発が向いています。
バックエンドのプログラミングはWebサイトではまったく見られません。どこかにあるサーバー(すべてのWebサイト情報を保存している大きなハードドライブ)がすべてのWebサイトデータを処理し、ブラウザーに送信するところをイメージすると分かりやすいです。
フロントエンドのプログラミングは実際に目に見えます。Webサイトでクリックすると動作を確認できます。
どちらも好きかもしれませんね。
4. 行動計画を作りましょう
なにをおもしろいと思うか、なにが楽しいかが分かったら、次はプランを練ります。
勉強にどれくらいの時間を割けますか? 学習にどれぐらいの金額を投資できますか?
自分に合ったプランを練ってください。次のようになるかもしれません。
勉強できる時間が毎日2時間しかなく、予算は500ドル未満でフロントエンドWeb開発に興味がある。
どこでなにを学べばいいかについてリサーチした結果、大枠は次のようになります。
- 第1月目:HTMLとCSSを学ぶ
- 第2月目:ブートストラップとデザインの基礎を学ぶ
- 第3月目:HTMLとCSS、ブートストラップを利用してWebサイトを構築する
- 第4月目:JavaScriptを学ぶ
- 第5月目:より高度なJavaScriptを学ぶ
- 第6月目:HTML、CSS、JavaScriptを使ってWebサイトを構築する
- 第7月目:個人的なポートフォリオとなるWebサイトを構築し、自分ブランドを作る
- 第8月目:企業や組織に営業をかけ、Webサイト作成の仕事をもらう(ただし、経験を積むため無料で)
- 第9月目:知識を増やし、強化する必要があるか部分を確認する
- 第10月目:最低でも5つのクライアントのWebサイトをポートフォリオとして作成する
- 第11月目:フリーランスの基本とビジネスに必須の知識を学ぶ
- 第12月目:見込み客に営業をかけ、仕事をくれるように頼み、お金をもらって仕事をする、または仕事に応募する
示した例は説明を目的に作成した一般的なガイドラインで、このプランが絶対ではないことに注意してください。
5. 実際に行動に移しましょう
大きなことを成し遂げようと思ったら、妥協や犠牲は必要です。
Web開発者またはフリーランスのWeb開発者として成功したいと考えており、時間がないとなげいているなら、日/週/月のルーティーンの中で省ける時間を考えて、もっと学習し、スキルを磨き、応用できるようにするため、より多くの空き時間を確保します。
もっとも大きな誘惑はテレビでしたが、私はこれを断ちました。「テレビなし」の生活が現在で2年以上続いていますが、なかなか良いものですよ。
私以外にも「テレビなし」の人はたくさんいます。もっとも優れたマーケティングの専門家の1人であり、いまの時代の思想的指導者であるSeth Godinもテレビを見るのは無駄と強く賛成しています。
どれだけ「理由」が必要ですか? 先延ばしにしたり言い訳するのはやめて、行動に移して実際にやってみてください。
6. モチベーションのなさはトレーニングで克服できます
モチベーションがあると良いですが、ときにはない場合もあります。やる気が起きなかったり、楽しんで作業できないときも、訓練をしておけば行動できます。
7. ソーシャルメディアで存在感を出しましょう
ネットでの存在感を出すことも必要です。ソーシャルメディアは有効な手段です。
必ずLinkedin、Twitter、Instagram、Facebookのプロフィールを作成します。
8. ポートフォリオを公開するWebサイトを作成しましょう
「こういうことができる」と人に伝えるよりも、「このようなことをしてきました」と、実績を見せるほうが重要だといつも言っています。
以下に優れたポートフォリオの例を3つ上げます。
上の3つのWebサイトを見てください。作成者はまだビギナーレベルですが、自分の作品や専門知識をどのようにアピールしているかを読み取ってください。
ポートフォリオのできが良ければ、クライアントや潜在顧客が寄ってきます。プロジェクト/Webサイトのリストをぜひ作ってください。ただし、しばらくの間は無償で働く必要があるかもしれません。
9. オープンソースプロジェクトに貢献しましょう
オープンソースプロジェクトに貢献するとたくさんアピールできます。たとえば、以下のようなことです。
- 自分の仕事への情熱
- チームビルディングスキル
- 自分のスキル
オープンソースプロジェクトの最大のメリットは良い結果を出せばコミュニティ内で認められることです。認められることで、信頼度も上がります。
jQueryの開発者であるJohn Resigはおもしろい発言をしています。
人を雇うときはいつでも、履歴書よりもGitHubでの実績を重視する。
次の5つのサイトでオープンソースプロジェクトに貢献できます。
- GitHub(入門者向けのこの記事を読んでください)
- freeCodeCamp
- Automattic
- Angular
- Go
10. 不屈の精神を持っているますか?
なぜ不屈の精神を持っている必要があるのでしょうか?
Web開発者はキャリアの途中でしばしば難題に直面します。コードにエラーがあっても、思った通りにコードが機能しなくても、解決法が見つけられなくても諦めず、手抜きをしないでください。不屈の精神で挑み、問題を解決してください。
問題の解決には長い時間がかかるかもしれませんが、不屈の精神で学んだことは将来の財産になります。また、これから取り組むプロジェクトでも経験によってより高い効率でより優れた成果を出せます。
11. 頭を使って仕事をします
木を切るのに6時間あれば最初の4時間は斧を研ぐのに使うだろう。
私はエイブラハム・リンカーンのこの名言に感銘を受けました。より効率的で速い方法で物事をする方法を無視し、コーディングなどの技術面や、フリーランスとしての事業を営むことに集中してしまうのはやりがちなことです。
成功する開発者は頭を使って働くことでより良い結果を出しています。
12 .知識量だけがすべてではありません
私はあなたよりも多くのプログラミング言語を知っているから、私のほうが成功している。
知識量だけがすべてではありません。むしろ自分のいまの知識でなにができるかが重要です。
採用面接で、知識量の多い人が常に仕事を得られるのでしょうか?
「現実世界」で生きていると、そうではないことが分かります。能力があるだけで仕事が保証される、またはフリーランスでクライアントが付くわけではなく、ほかのさまざまな要因も関係します。
13. 常に学び続けてください
どの業種のエキスパートも知識を増やし、スキルを磨くために常に学んでいます。Web開発でも継続して学ぶのは大切です。
C++を20年前に学んだものの新しい知識を増やしていなければ、今では通用しません。
経験がどの程度であれ、常に新しい情報にアンテナを伸ばし、学び続けてください。
14. 「できます」よりも「作りました」
次のような人物の場合、どちらを雇いますか?
- 優秀な成績でMBAを修了した35歳のビジネスコーチ
- 資格などは持っておらず、高校を中退したが、数百万ドルの企業を3社経営した経験を持ち、そのうち2社を売却して利益を上げた30歳のビジネスコーチ
経験は理論に勝ります。「○△□を作成できます」と言わないでください。Web開発者であれば誰でも言う言葉です。実績をアピールしてください。
15. 価格はできるだけ高く
自信がついて多くの経験を積んだら、自分のサービスの価格設定を高くする必要があります。
これが運命の分かれ道です。年収5万ドルと9万ドルでは、どちらが良いですか? Webサイトを500ドルか5000ドルの、どちらで作成しますか?
たとえば、ここに2種類のワインがあるとします。1つは5ドル、もう1つは55ドルだとしたら、5ドルのワインにはなにか問題があるのではないかと思いませんか?
サービスにも同じように価格設定の原則が当てはまります。
例はフリーランスの場合でしたが、給与の交渉にも同じ原理が当てはまります。
16. 生産性をアップ
邪魔されることなく1時間半集中して作業するほうが、間にほかの作業をいくつか挟み、メッセージ、YouTube、おかしなGIF画像に気を取られながら作業するよりも効率的です。
できる限り誘惑を排除し、集中する時間を作って生産性を上げます。
ポモドーロテクニックを確認してください。
17. コーディング以外のスキルも学ぼう
プログラミング言語だけを学ぼうとするのは良くありません。
成功する可能性を高めるには、マーケティングの基本、交渉、コミュニケーション、ソーシャルスキルなどほかのスキルも学ぶことが重要です。
世の中で成功している開発者を見てください。ただコーディングに集中しているだけでなく物事をよく知っていて有能な人たちです。
18. ネットでほかの人と交流しよう
コーディングのコミュニティ、Facebookグループ、Twitterのチャット、そのほかのプラットホームに参加してください。「不適切な」質問をしてしまうのではないかと不安に思わないでください。
Stack Overflow、Reddit、Quora、ブログなどの場所で質疑応答をして交流を深めてください。
19. もっと社交的に
外の世界に出てほかの人とつながる段階です。
私は本当に内向的です。本当にそうです。人は私をヤドカリだと言います。グループでいるときどこにいると思いますか? そうです、端にいます。
もし、私のように内向的なら、どこかで「内向的だ!」と認識し、自分が心地よい場所から出て人と交流する必要があります。
Meetupなどのサービスを使って、近くの集まりの情報を閲覧してください。
追伸:開発者の集まりやイベントだけに行けばいいのではありません。フリーランスの人はビジネスイベントにも行ってください。結局、開発者はほかの開発者を雇うことがあるのです。
20. もう1つの人格を持とう
Webサイトの訪問者やビジネス経営者のように考える必要があります。
Webサイトの訪問者として、自分のWebサイトを次のように考える必要があります。このWebサイトを訪れた各段階で、どのようなことを考えるのか? このWebサイトを訪問した目的の答えは得られたか? このWebサイトは自分の欲しい情報をすべて与えてくれたか? このビジネスは信頼できるか? などです。
Webサイトのビジネス経営者としては、自分のWebサイトを次のように考える必要があります。Webサイト訪問者がWebサイト訪問時に考えている質問や疑問に答えられているか? どのようにすれば質問への回答ができるのか?どのようにすればWebサイト訪問者にこちらが望むような行動を取ってもらえるか?などです。
21. 決して諦めない
成功する人でも何度もつまずきます。しかし、成功する人に共通の特徴は決して諦めず、新しい方法やより良い方法を見つけることにあります。
成功するか失敗するかを決めるのは、継続する意思があるかどうかだけの場合もあります。
夢、野望、目標を決して諦めないでください。
最後に
これはできない、成功できないと考えないでください。誰かに自分の成功を信じてほしいなら、私があなたの成功を信じます。
(原文:21 Steps to Becoming a Successful Web Developer)
[翻訳:中村文也/編集:Livit]