現在多くの人がプログラミングを学習していると思いますが、「Web系企業ってどんな企業なんだろう?」と考えている人もいると思います。
実際にプログラミングの学習を始めたはいいものの、そのスキルを活かす企業の内情をよく理解していない人も少なくありません。
今回は、そんなWeb系企業の特徴について詳しく解説していきたいと思います。
目次
Web系企業とは?
ここで記載する内容は必ずしも正しいというわけではありません。
IT関する定義というのは非常に難儀なものとなっています。
記載している内容から疑問点が生じた場合は、ぜひその都度調べながら大枠を捉えて頂ければと思います。
一般的にWeb系企業は以下の特徴を含んだ企業になります。
・インターネットを活用している
・発注元が存在していない
・製品・サービスのスケール拡大を前提としている
・自社サービスを提供している
主にこれらの内容を含んでいると考えられます。
例えば、代表的なSNSなどでもFacebook、Twitter、Instagram、Youtubeなどがこれらの条件に該当しているのでWeb系企業と言えます。
一方で、SIer系企業であれば開発するシステムには「発注元が存在する」ため、Web系企業に該当しないことになります。
もちろん、SIer系企業においても自社サービスを展開している企業も存在していますので、一概にどれを専門と謳うかによって分類は変化するものだと認識して良いと思います。
例外も存在していて、例えばWeb系企業からの受託開発を行なっている企業であれば、「発注元が存在している」という点でSIer系企業に近いように感じますが、企業カルチャーや開発方式等にてWeb系企業と同様な場合が多いため、こういった企業はWeb系企業と言えると思います。
補足になりますが、Web系企業のことを「ネット系」「インターネット系」と呼ぶこともあります。
多くの人が利用しているスマートフォンアプリなどもブラウザ使用を前提としていないアプリケーションやサービスが存在するため、Web系よりも「ネット系」と分類した方が良いかもしてません。
ただ、まだまだ一般的にはWeb系という呼称が広く利用されていることから、ここではWeb系と統一させて頂きました。
Web系企業の分類について
Web系企業において、SIer系企業のように「メーカー系」「ユーザー系」といった大分類は存在していないかなと思います。
Web系企業では、提供している自社サービスがどのような分野に属しているのかによって小分類されている方式が一般的だと思います。
その中でもWeb系企業の分類として代表的なものが以下の内容になります。
・ソーシャルゲーム系
・EC系
・ネット広告系
・メディア系
これらが代表的なものになります。
また、各分野を表現する用語の末尾に「Tech」と付ける方式が定着し始めています。
・FinTech
・EdTech
・HRTech
・FashionTech
・HealthTech
などが挙げられます。
それぞれ、金融系サービス、教育系サービス、人材・人事系サービス、ファッション系サービス、健康系サービスといった具合です。
このようにインターネットをできる環境であれば、どのような分野においてもWeb系企業は存在することになります。
Web系企業のエンジニアの分類について
Web系企業のエンジニアの分類に関しましては、SIer系企業のようなSE/PGという呼称は存在せず、そのエンジニアが技術的に専門領域としているもので分類項目となるのが一般的です。
主な分類としては以下の内容が挙げられます。
・インフラエンジニア
・サーバーサイドエンジニア
・フロントエンドエンジニア
・iOS/Androidエンジニア(ネイティブアプリエンジニア)
などになります。
また、これらのすべての領域をカバーしている人をフルスタックエンジニアと呼んだりします。
細かく分類してしまうと、ゲーム系であるUnityエンジニアや、AI(機械学習)エンジニアなど多岐に渡ります。
おおよそ上記で挙げたエンジニアが一般的に存在していると考えて差し支えないと思います。
インフラエンジニア
こちらのエンジニアは主にサービスに利用するサーバーやネットワークの構築・運用・監視業務等に携わっています。
高いパフォーマンスを要するサービスを安定させ運用していくために様々な作業を行います。
やはりインフラと呼ばれるだけあって、根幹を支えることを主な業務として動くのがこのインフラエンジニアになります。
サーバーサイドエンジニア
おそらく利用者も多いPHP、Ruby、Scala、Goなどの様々な言語を利用してサーバー側で動くプログラムを開発するエンジニアになります。
フロントエンドエンジニア
こちらは、主にJavaScriptという言語を利用してブラウザ側で動作するプログラムを開発するエンジニアになります。
こちらの技術進歩は速度が非常に早いため、流行り廃りが激しいです。
ネイティブアプリエンジニア
iPhoneやANdroid等のスマートフォンやタブレットで動作するプログラムを開発するエンジニアになります。
iOSの場合は、SwiftやObjective-Cを使用されることもあります。
また、AndroidではKotlinやJavaが使用されることもあります。
クロスプラットフォーム開発ツールと呼ばれるワンソースでiOS/Android両方のプラットフォームに対応したものも、プログラムを開発するため人気が出ています。
Web業界の技術トレンドについて
やはり時代のトレンドに合わせてWeb業界のトレンドが変化していきます。
その中でも主なトレンドとなっているキーワードは以下のものがあります。
・AI(機械学習/ディープラーニング)
・ブロックチェーン
・IoT
・VR/AR
特にAI分野に関しては、Web業界で働くエンジニアの基礎教養として必要になってきている印象です。
当然、数学的知識や論理的思考力によって理解度がエンジニアによっても異なってきますが、ある程度の基礎教養としたAI知識を身につけておかなければ、今後の時代に生き残れない可能性が出てくるかもしれません。
従来であれば、サービス開発をするにしても数学的知識がなかったとしても業務をこなすことができていましたが、AIなどの技術の登場によってWeb系企業の開発で利用され始めています。
そのため、これまでの開発よりも数学的素養の重要性が求められている印象が強くなっています。
これからWeb業界でエンジニアとして働きたいと考えている人であれば、どんどん新しく登場する技術を常にキャッチアップしていかなければなりません。
こういった業務内容を楽しい・面白いと感じられるか、楽しくない・つまらないと感じてしまうか、Web業界のエンジニアとして自分自身が向いているかどうかも含めてとてもわかりやすい判断材料だと認識しておいていただければと思います。
Web系企業の開発方式について
Web系企業において利用される基本的な開発方式は、非ウォーターフォール型になります。
これは一概にすべてのWeb系企業がそうと断言できることではありませんが、基本的にWeb系企業が開発するサービスは発注元が存在していません。
そのため、明確なユーザーが存在しないことから要件定義を作成することができないため、SIerのようにユーザーにしっかりヒアリングを通して要件定義を作成することができず、ウォーターフォール型では対応できないと考えられます。
自社サービスを開発するわけなので、その企業の独自性が求められます。
この独自性があるかないかで企業ごとの差別化を図るわけですが、この独自性を持った機能を要するサービスがユーザーに対して受け入れられるものかどうかは、利用してもらわない限りわかりません。
・仮説を立てる
・サービスに仮説を反映
・ユーザーからのフィードバック
・フィードバック検証
・改善案の仮説を立てる
このようなサイクルをひたすら回してサービス改善を図っていきます。
そのため、フィードバックループを行うために、ウォーターフォール型の開発方式では対応できないわけです。
また、ひたすらにサービスの改善を行うための開発方式であったり、サービスのアーキテクチャに関するweb系企業のトレンドもあります。
もちろん、詳細な内容は挙げればきりがないので、ここではいくつかご紹介します。
・クラウド
・リーン開発
・アジャイル開発
・マイクロサービス
これらが代表的なものかなと考えています。
Web系企業における価値が高いエンジニアとは?
これは、設計とプログラミングの両方を行うことができるエンジニアが価値が高いとされています。
SIerでのSEのように設計しか携わることができないエンジニアの価値が、Web系企業のエンジニアにとっては価値が高くないことになります。
というのも、Web系企業の開発においても基本設計のフェーズは設けられていますが、SIer系企業のSEにおける詳細設計のフェーズは滅多にありません。
基本設計に割ける工数というのが、Web系企業のエンジニアは多くありません。
これには理由があります。
受託開発であればシステムを完成させれば発注者から支払いを受け取ることができます。
一方でWeb系企業の開発においてはサービスがヒットしなければ全てが赤字となってしまいます。
そのため、ユーザーからのフィードバックをまだ得ていない初期段階で設計や開発に多くの時間を費やしてしまうと、ユーザーのニーズから乖離した場合、取り返しがつきません。
つまり、必要のない機能に対して時間を費やしてしまうリスクが増大してしまう可能性があります。
とにかくサービスを展開してみて、ユーザーからのフィードバックから仮説検証を繰り返していかなければ危険が伴ってしまうためです。
こういった理由から、Web系企業で働くエンジニアの考えとして、「時間をかけて検討された最適な設計」を行うよりも「とにかく動作するものを早く作り出す」ことが重要視されることが多いです。
そのため、SIerのSEが担当する設計フェーズよりも、実装フェーズであるプログラミング業務が長くなることが想定されるため、設計とプログラミングの両方が求められ、それらを行えるエンジニアの価値が必然的に高められていくことになります。
また、企業にとって重要なコスト面も関与しており、Web系企業のサービス開発は規模にもよりますが、基本的に少人数のチームで動きます。
完全分業制を取れる場合は少なく、設計からプログラミングまで1人で何役もこなさなければならない場面が存在します。
モダンな技術が求められる
やはりWeb系企業で求められるのは、常にユーザー目線であるサービス向上が必須となるため、枯れた技術ではなくモダンな技術となります。
多くのWeb系企業でも新しい技術を取り入れるのは基本ですが、優秀なエンジニアの人たちも新しい技術、トレンドを追いかけながら常に最新のものを製品やサービスに取り入れたがります。
また、新しい技術は従来のものに比べて「性能・効率・ユーザビリティ」においても高いものが多いため、必然的にモダンな技術が組み込まれやすくなります。
新しい技術を常にキャッチアップすることができるエンジニアは重宝されます。
常に学習する姿勢を取り続けていかなければ生き残れないのもエンジニアとしての素質として必要になってきます。
エンジニアの年齢層について
Web系企業はSIer系企業に比べて、エンジニアの年齢層はかなり若い印象です。
エンジニアの平均年齢も20代が非常に多いです。
エンジニアの平均年齢は30代後半や40代というのはあまり見かけません。
もし平均年齢が高かったとしても30代前半までかなと思います。
日本においてですが、バリバリコードを記述している50代の人は見かけたことはありません。
Web系企業の労働環境について
これも全てのWeb系企業に言えることではありませんが、基本的に自社オフィスでの作業が一般的です。
Web系企業におけるエンジニアの業務は自社サービスの開発がメインとなるため、客先での常駐スタイルはSIerに比べて少ないと思います。
また、Web系企業では、リモートワーク可能な企業がかなり増えてきている印象です。
時代的な面も考えられますが、コスト面などからしても柔軟なワークスタイルにすることで費用対効果が高まっています。
子育て中の方や何か身体的不自由がある方でも、リモートワーク可能であればかなり労働環境がホワイトだと終えると思います。
利用されている開発用PCについて
一概にそうと言い切れませんが、基本的にweb系企業が利用している開発用PCはMacbookが多いように見受けられます。
Web系企業のほとんどはサーバーサイドのOSでLinuxを利用していると思いますが、MacはLinuxベースのPCのため、コマンドの多くもLinuxと共通しているものが多く、都合が良いからです。
また、iOSアプリ開発であれば、基本的にMacでないと開発できないためです。
他にも理由はあるかと思いますが、基本的に上記のような内容が挙げられると思います。
まとめ
いかがでしたでしょうか?
ここまでWeb系企業とエンジニアに関する特徴を解説してきました。
Web系企業の中でエンジニアとして働く場合は、間違いなくテクノロジーやプログラミングに対する興味・関心が高くないといけません。
絶対ではないかもしれませんが、おそらく楽しくない・つまらないといった感情を持って何年も働けると思えないからです。
あなた自身がどのような働き方を望んでいるのか、今後の方針を決めるためにも少しでもこの記事が役に立てばと思います。
最後まで一読していただき、ありがとうございました!