これからこの記事を読む方の中には、
- 未経験からでもWeb業界で活躍できるのか?
- 異業種からでも転職可能?
- どうやってスキルアップすれば・・・
などと考えている方も多いのではないでしょうか?
Web業界は移り変わりが激しい業界であり、なおかつ多くの事を学び続けなければいけない業界です。ただ受け身な姿勢でいてはキャリアアップもスキルアップも望めません。どのような姿勢が必要で、どのようなスキルを身に着けるか、予め理解しておくことが重要です。
本記事では、Web業界に新しくエンジニアとして就職・転職する方に向けて、Web業界で生きていくにあたって身に着けて置いた方が良い基本的な姿勢やスキルについて説明します。
※すでに転職の意志がある方は、現役のフロントエンジニアとWebディレクター/デザイナーである当サイト運営者が厳選した、『Web業界に強い転職エージェント一覧』もチェックしてみてください。
Contents
社会人としてのコミュニケーション能力は必須
Web業界でも、同僚や上司の機嫌を必要でもないのに損ねないようにする、チーム内での報連相を徹底するといったコミュニケーションの基本は当然要求されます。また、要件定義といった上流を志向するのであれば、顧客がどのようなサービスを求めているかを聞き出し、サービスを提案し、契約条件を折衝する必要があります。
社会人として要求されるコミュニケーション能力は、当然Web業界でエンジニアとして働く場合でも要求されます。
問題は“まず”自己解決を試みる
Webエンジニアとして仕事をしていると、目的の仕様を達成する方法が分からない、期待する動作をしないなどといった様々な問題が発生します。このような場合に、すぐに同僚に質問してはいけません。エンジニアとしてスキルアップが望めないだけでなく、Google検索代わりにされた同僚からの心象も損ねてしまいます。
まず問題の自己解決を試みましょう。考えていることを図にして整理し、Webや書籍を漁って情報を調べ、自分のコードを注意深くデバッグします。プログラムが期待する通りの動作をしない場合、その原因はほぼ確実にあなたの実装ミスです。
どうしても解決できない場合は、自分が直面している課題と併せて、今まで自分がどのように解決を試みてきたかを同僚や上司に説明するようにしましょう。答えを得やすくなりますし、相手から心象を損ねる可能性も少なくなります。ただし、仕事が遅れないように注意してください。
納期直前まで自己解決を試みた結果、開発が間に合わないことがあってはいけません。どれだけの期間、どのような手段を試してから相談するかを決めてから自己解決に取り組みましょう。
常に仕事への自分の労力を省力化する
自分への労力を省力化するとは、単にサボるということではありません。ライブラリやフレームワークを使用すれば特定の機能を一々実装する必要はありませんし、良く使う機能はメソッドやクラスとしてまとめることは一見手間がかかりますが、以降は他のコードや開発で使いまわすことができます。
コード中にコメントを入れておき、必要に応じて追加でドキュメントを準備することで、自分がプロジェクトから手を引かなければならなくなった場合でも、同僚へスムーズに引き継ぎを行うことが出来ます。
Web業界でエンジニアとして働くのであれば、このような将来の自分が楽できるように今労力を使う、といった思考が重要です。
志向するキャリアに合わせた技術を学ぶ
Web業界も他のIT分野と同様、特定のプログラミング言語やフレームワークに習熟することは必須のスキルです。一方で、これらの技術は無数にあるため、無計画に勉強していても意味がありません。
自分が志向するキャリアや環境、流行に合わせて勉強するようにししょう。
フロントエンドエンジニアはHTML、CSS、JavaScriptの3本柱
フロントエンド側の技術は基本的にHTML、CSS、JavaScriptの3つに集約されます。これらについて使い方を一通り勉強しておきましょう。
特に、JavaScriptはAngularやReactといったライブラリが多数存在するため、これらを利用することで複雑な機能をより簡単に実現できるようになります。また、JavaScriptに習熟していれば、キャリアを変更したいときにnode.jsを勉強してバックエンドに転向する、ということも可能です。
さらに、近年ではAltJS(Alternative JavaScript)の利用も盛んです。AltJSはコンパイルすることでJavaScriptのプログラムを生成するプログラミング言語で、TypeScriptやBabelなどが挙げられます。
会社によっては開発の選択肢になりつつあるので、今の職場での要求や将来志望するキャリアに合わせて勉強しておくとよいでしょう。
バックエンドエンジニアは環境と流行に合わせて選ぶ
バックエンドのプログラミング言語はRuby、PHP、Python、Java、Node.js、Scala、Haskell、Golangなど数多くの選択肢があります。また、これらの言語ごとにフレームワークが幾つか存在します。
例えば、RubyにはRuby on Rails、PythonにはDjango、PHPにはLaravelといったフレームワークがあります。この他に、データベースを取り扱うためにMySQLやSQL Serverなど、データベース管理システムについても勉強する必要があります。
これらの無数にある技術を欲張ってあれもこれもと手を付けるとどれも物にできず、中途半端な人材になりかねません。まずは現在(あるいは希望する)職場でよく使用されるプログラミング言語、フレームワークを中心に勉強して職場に適応しましょう。
更なるスキルアップを狙う場合は、環境と流行を見極めつつ出来ることを増やすことを意識しましょう。自分が取り組みたい案件の多くでPythonが使われているのに、PHPの勉強をしてもしょうがありませんし、使われなくなりつつあるあるフレームワークを学んでも意味がありません。また、Ruby、Python、PHPは全てスクリプト言語なので、これらばかり勉強しているとJavaなどのコンパイル言語を用いた案件には参加できません。
自分が希望する環境、今の流行に沿うもので、自分が出来ることを大きく広げるような技術を学ぶとよいでしょう。また、バックエンドエンジニアであっても、フロントエンドのプログラミング言語のうちHTMLとCSSについてはその基本は抑えておきましょう。
セキュリティに関しては必ず抑えておく
Web業界で働く以上、セキュリティについてはその基本だけでも必ず理解している必要があります。書籍を利用して網羅的に勉強した後は、日々の情報収集の中で知識をアップデートしましょう。
コンピュータ・サイエンスもどこかで必要になる
コンピュータ・サイエンスを専門とする大学や大学院を卒業していればよいのですが、そうでない方は余力があるときでよいので、コンピュータ・サイエンスの知識にも触れておきましょう。
データ構造とアルゴリズムに詳しければより速く動作するプログラムを書くことができますし、ネットワークの知識があればそもそもWebサービスがどのようにして動いているのかを理解する手助けになります。
開発環境や便利なツールを使いこなして開発効率を上げる
プログラミング言語やフレームワークを熟知し、使いこなせるだけでは意味がありません。
Web業界では素早く、誤りなく開発する必要があります。そのためには、バージョン管理システムや統合開発環境などを始めとするツールについて、何ができて何ができないのか見定めて置き、それを実践する必要があります。
gitによるバージョン管理は必須スキルに
Web業界に限らず、多くのIT分野でバージョン管理システムとしてgitがデファクトスタンダードになりつつあります。
リポジトリの作成、クローン、ブランチの作成・削除、コミット、プッシュ、プルといったごく基本的な操作の他、rebaseのように注意を要するコマンドの使い方などはWeb業界ではもはや必須スキルです。
gitに習熟するためにも、プログラムやサービスを自分で作る際は必ずgitで管理する癖をつけましょう。
gitはWeb上に良質な資料がたくさん存在するため、独学でも基本的な使い方から気を付けなければならないことまで、多くの事を勉強できます。個人でgitを利用したい場合は、GitHub (https://github.co.jp/) や Bitbucket (https://bitbucket.org/) などのサービスを利用すると簡単です。
統合開発環境やテキストエディタを使いこなす
統合開発環境を使うのか、それともテキストエディタ、コンパイラ、デバッガを別に準備して使うのかは人や環境によってそれぞれです。しかしいずれの場合も、開発環境をより使いやすくする努力を怠らないようにしましょう。
例として統合開発環境でのコーディングを挙げると、コードの自動補完やシンタックスのハイライト、変数やメソッドの宣言へのジャンプといった便利な機能が提供されているはずです。開発していて開発環境に不満を感じたら、それを解消する機能がデフォルトで存在しないか、あるいはプラグインとして提供されていないか、良く調べてみましょう。
また、保存や検索など良く使う機能にはショートカットやコマンドが準備されています。これらを覚えるだけでも作業効率は大幅に向上します。
Web業界での勉強のやり方を身に着ける
プログラミング言語にせよ、フレームワークにせよ、技術は書籍やWeb上のドキュメントに目を通しただけでは身に着けません。それらを使ってサービスやプラグインを作るなど、アウトプットを繰り返すことで初めて自分の物になっていきます。
仕事の中でインプット、アウトプットを繰り返すことは言うまでもなく、移り変わりの早いWeb業界についていくためには帰宅後に自宅で勉強する必要もあります。技術が好きでないとやっていけない、と言われるのはそのためです。
自分で何かプログラムを作ってみる
新しく学んだ技術を習得するのに最も適しているのは学んだことを利用するようなプログラムを作ることです。最初から壮大なものを作ろうとせず、最小限機能するプログラムを作り、そこに機能を追加していく形で、学んだ技術を使ってみましょう。実装力の向上にも繋がります。
どうしても解決できない問題はQ&Aサイトで質問してみる
独学の場合でも、バグなどの問題に直面することは多々あります。どうしても解決できない問題がある場合は、teratail (https://teratail.com/) やSack Overflow (https://ja.stackoverflow.com/) などのQ&Aサイトを利用してみましょう。
質問するときは、自分が取り組んでいる問題の背景、困っている点、試してみた手段などを過不足なく伝えるように工夫しましょう。問題解決のために相手が協力しやすいように質問する能力もWeb業界では重要なポイントです。
講習会や勉強会に参加して整理された情報を学ぶ
connpass (https://connpass.com/) やTECH PLAY (https://techplay.jp/) を利用して学びたいことを取り扱っているセミナーや講習会に参加しましょう。
ある程度整理された形で情報を得ることができますし、ハンズオン形式の講習会であれば、学んだことをその場でアウトプットすることで理解を深めることができます。ただし、複数人が参加し時間にも制限がある以上、あなたが理解に困ってもかかりきりで教えてくれるというわけではありません。
プログラミング学習サイトを利用する
より体形的に勉強したいのであれば、プログラミング学習サイトを利用するのも一つの手です。
ドットインストール (https://dotinstall.com/) 、Progate (https://prog-8.com/) 、paizaラーニング (https://paiza.jp/works) などは無料で利用することができます。
オンラインスクールを利用する
メンターなど、自由に質問できる相手が欲しい場合は、オンラインスクールの利用を検討してみましょう。
最近では、CodeCamp (>> 口コミ・評判を見る) 、TECH BOOST (>> 口コミ・評判を見る)、DIVE INTO CODE (>> 口コミ・評判を見る) など、エンジニアのためのオンラインスクールも増えてきました。ただ、オンラインスクールは発展途上で、取り扱っている言語やカリキュラムがまだまだ限られています。
ポートフォリオを公開する
これまで自分が作ったサイトやブログ、プログラミングスクールなどで勉強した言語による作品を実際にWeb上に公開すると、他者からの評価やアドバイスなども貰えるので積極的にやってみましょう。
また、これからこの業界への転職を考えている、もしくは転職活動中の方にとっては、面接時には重要な武器(アピールポイント)にもなるので是非準備を検討してください。
尚、レンタルサーバーを契約するならエックスサーバーやヘテムル
WordPressしか使わなく、高速表示にこだわる方は、KUSANAGIを使ってみるので良いでしょう。※KUSANAGIを使用するためには、KUSANAGIを使用できるVPSを契約
KUSANAGI使うなら、こんな人がおすすめ
- 公開するサイトはWordPressのみだ
- コマンドによるSSHやVPSの操作ができる、もしくは、勉強しながら操作したい
- とにかくWPを高速表示させたい
- KUSANAGIが使える高速で高性能なVPS!
ConoHa VPS
日頃の情報収集を怠らない
Web業界で生きていくためには勉強以外にも情報収集が必要です。業界の動向や最新のセキュリティの情報、新しいフレームワークなどについて知っていると、仕事や勉強だけでなく、今後のキャリアを考えるという点でも参考になります。
Web業界でのトピックを総合的に取り扱っている、あるいはそのような情報が多く集まっているWebサイトをフォローしておきましょう。
以下に幾つか例を挙げるので参考にしてみてください。
- Qiita (https://qiita.com)
- はてなブックマークのテクノロジカテゴリ (http://b.hatena.ne.jp/hotentry/it)
- ICS Media (https://ics.media/)
- Slide Share (https://www.slideshare.net/)
- Speaker Deck (https://speakerdeck.com/)
また、余裕があれば技術評論社のWEB+DB PRESSやSoftware Designといった雑誌も購読するようにしましょう。
まとめ
以上で述べた姿勢やスキルは、Web業界でエンジニアとして働く基本の一歩にすぎません。基本的な事柄を学んだら、日頃の情報収集の成果と身に着けた勉強のやり方を活かしてスキルアップ・キャリアアップを目指していきましょう。
未経験、異業種からの転職を考えている方は
現役のフロントエンジニアとWebディレクター/デザイナーである当サイト運営者が厳選した、『Web業界に強い転職エージェント』をチェックしてみてください。
- “20代、第二新卒に強い!”
マイナビエージェント×IT の公式サイトへ - “サポートが丁寧かつ充実!”
ワークポート の公式サイトへ - “専門用語が通じる!”
レバテックキャリア の公式サイトへ - “内定決定数No.1!”
リクルートエージェント の公式サイトへ - “IT・Web・ゲームに特化!”
ギークリーの公式サイトへ