フリーエンジニアの仕事内容

フリーエンジニアと一言で言っても、職種ごとに仕事内容は異なります。
一般的に、いわゆる開発エンジニアだけでなく、データ解析やプロジェクトマネジメントを担当する職種なども広義では含まれ、フリーエンジニアの職種は近年、さらに多種多様となっています。職種ごとの仕事内容を簡単にご説明します。

フリーエンジニアの職種

エンジニアに関しては、多くの職種でフリーランス案件があります。
また、エンジニアに近い職種として、プロジェクトマネージャーやデータサイエンティストといった職種もフリーランス案件として近年増加傾向にあります。
フリーエンジニアの主な職種は下記の通りです。

フリーエンジニアの主な職種

  • システムエンジニア
  • プログラマー
  • PM(プロジェクトマネージャー)
  • データサイエンティスト

エンジニアはその職種ごとにさらに細分化され、案件の数や単価も様々です。
職種ごとの特長をみてみましょう。

職種ごとのフリーエンジニアの特長

フリーエンジニアの方々にはいわゆるエンジニアの方々はもちろんのこと、広い意味ではプロジェクトマネージャーやデータサイエンティストの方々が含まれることもあります。エンジニアは、さらにフロントエンド、サーバーサイド・バックエンド、インフラ、テストエンジニアなどに分けられます。
インフラエンジニアの中には、サーバーエンジニア、ネットワークエンジニア、データベースエンジニア、セキュリティエンジニアなどが含まれます。
それぞれの職種の特徴を見てみましょう。

フロントエンドエンジニア

フロントエンドは、ユーザーに見える部分を担当するエンジニアです。
近年、技術の発達によりWEBでもよりリッチな表現が可能となっており、HTMLコーダーとは別にフロントエンドエンジニアが必要とされています。
デザイナーやHTMLコーダーとともに、機能面を再現する役割を担います。
新しいフレームワークが出てきたりUI・UXに注目が集まっているなど、変化の激しい分野です。常に新しい情報をキャッチする姿勢が求められます。
HTMLやCSS、JavaScript、jQuery、PHPといった言語を使うだけでなく、サーバーのつなぎこみや負荷を考えたりとサーバーサイドの知識も必須となります。WEBディレクター、デザイナー、コーダーなどとチームで仕事を進めることが多いので、コミュニケーション能力も必要とされます。
安定して案件は存在しますが、人材も豊富なため、単価をあげていくためにはプラスのスキルやキャリアが必要となります。

サーバーサイドエンジニア・バックエンドエンジニア

サーバーサイドエンジニアも、定常的に案件があります。
JavaやC言語、PHPやPerl、Rubyなどの言語を使い、Webの裏側の処理を行う開発や保守を担当します。
Webサービスの投稿機能を裏側で支えたり、ショッピングサイトのカートや決済、顧客情報のデータ管理などに関する開発や保守といった内容です。
人材が少ない上に、需要は減らず、人手不足が深刻とされる職種の一つです。
保守管理や監視の案件だと、継続的な稼働に繋がるため、1つの案件に長期間関わることになる場合が多いです。

インフラエンジニア

インフラエンジニアはさらに細分化され、サーバー・ネットワーク・データベース・セキュリティの4つに分けられます。

サーバーエンジニア

サーバーエンジニアは、サーバーの設計・構築から運用、保守管理を担当します。
サーバーエンジニアは、サーバーのハードウェアの選定や配線やラッキングといった物理的な作業も担当するため、ハードウェアに対する深い知識やネットワークの知識も必要になります。
また、運用保守の場合は、サーバーが安定して稼働しているか、攻撃を受けていないかといった確認やメンテナンスが仕事となります。
様々なミドルウェアやセキュリティに関する知識も求められる職種です。
近年、AWSやGCPなどのクラウドサービスの登場により、必要とされるスキルや知識が変化している分野です。

ネットワークエンジニア

ネットワークエンジニアは、ネットワークの設計・構築・運用監視を担当します。
ネットワークに関する製品や最新技術はもちろんのこと、OSに関する知識やサーバーに関する知識も必要とされます。
こちらもサーバーエンジニアと同様、AWSなどのクラウドサービスの台頭により、必要とされるスキルが変化しています。クラウド化により、ネットワーク構築や設計にかかわる作業は減るものの、どのようなクラウドを導入するのか、どのように運用するのかといった提案力や企画力が問われます。
スキルアップには、クラウドでの経験を多く積んでいくことが重要となります。

データベースエンジニア

データベースエンジニアはデータベースに使用する製品の選定から、設計・開発、運用を行います。
大量のデータ解析に耐えられる最新のデータベースが出てきたりと、こちらも近年新しい知識が必要とされています。
設計では、データを分析し事業に役立てるために、どのようにデータを保持しておくべきなのか、どう取り出せるようにしておくべきなのかと言った観点が重要となるため、開発だけでなく、事業全体を把握し、目的や意図を汲み取ることができるスキルも要求されます。
運用では、データベースのチューニングやアクセス権の管理、バックアップといった業務も担当することとなり非常に幅広いスキルが必要とされる職種です。
ビッグデータ解析に伴い人材が不足している分野の1つです。

セキュリティエンジニア

セキュリティも、スマホの普及やIoTの出現により急速に発展している分野で需要が高い職種です。
セキュリティエンジニアの仕事は、セキュリティ面での設計から実装、テストまでを担当します。セキュリティ面を考えた設計や実装をするためには、使われているネットワークやサーバーなどの知識、サービスの開発・運用についても把握していなければならず、知識と経験が必要とされる職種です。
一般的には、企業での経験を経てフリーランスとして独立します。

テストエンジニア

テストエンジニアは、文字通りテストを担当するエンジニアです。
製品のミスやバグがないか、設計通りの挙動をするかどうかを確認する仕事です。
他のエンジニアに比べ、プログラミングや開発のスキルは必要ないため、簡単だと思われがちですが、製品の商品化には、重要な役割を担います。

その仕事内容は、テストをするだけでなく、テスト結果を記録していくことや、テスト内容を決めることなどがあります。ミスやバグがどこで起きやすいか、ビジネス要件を理解したうえで、どのようなテストをしたらよいかといったテスト要件を決めるには経験と知識が必要となります。
テスト仕様書がかけるスキルを身に着けられると、単価も上がっていきます。
テストをするメンバーの立場は、未経験フリーランスでも入りやすい職種です。

※システムエンジニアとプログラマの違い

従来の開発環境では、システムエンジニアとプログラマという形で職種が明確に分けられており、それぞれでキャリアを積むという選択肢もありました。
しかし、近年、WEB系の開発を中心に、その区分けはなくなりつつあります。

システムエンジニアは、要件定義から設計・開発・テストまでの一連の工程を担当し、特に上流工程や統合テストなどを実施するスキルを持つエンジニアを指します。一方、プログラマはシステムエンジニアの作成した仕様書をもとに、プログラミングを進める職種です。
近年のWEB系の開発案件では、このような上流とプログラミングといった明確な仕事の分担はなく、どちらもこなせるスキルが必要とされています。
アジャイル開発の現場においても、同様のことが言えます。、
従来のウォーターフォール型の開発の場合は、提出された設計通りにプログラミングを進めていくことが主な仕事です。一方、アジャイル開発の場合は、設計しながら開発も進めていくことになるため、プログラミングだけを担当するということは少なく、企画・設計といった仕事も範疇に入ります。システムエンジニアとプログラマの兼務のような立場となります。
WEB系やスマホアプリ系などを中心に、このようなアジャイル開発の案件は増加しています。

PM(プロジェクトマネージャー)

プロジェクトマネージャーの仕事は、システム開発プロジェクトのけん引役です。
責任者として、ヒト・モノ・カネを確保し、プロジェクトを計画し、達成に向けて管理・運営するのが仕事です。
依頼内容に基づき、プロジェクトを計画・実行、管理・運営し、適切に評価する一連の流れを全て把握する立場です。
非常に高いスキルが必要とされるため、責任者という立場ではありますが、経験豊富な外部人材に委託する企業も増えています。プロジェクトメンバーも社員とは限らず、外部コンサルタントやフリーランス、開発会社など様々な所属の人員で構成されることも多いため、コミュニケーションも重要な仕事の1つとなります。
プロジェクトが順調に進めばよいのですが、なかなかそうはいかないもの。
遅れや不備の対応などに追われることもしばしばあります。
高いスキルが要求される分、高単価な職種です。
キャリアアップの1つの選択肢として検討する方も多いです。

データサイエンティスト

データサイエンティストは、データを扱うためのプログラミングをしたりツールを使って、tビッグデータと言われるような大量のデータの解析を行います。さらに、そのデータを事業に役立てていくために企画提案をしていく職種です。
比較的最近出てきた職種ですが、企業側のニーズは非常に高く、常に人材不足です。
データベースに集められたデータを、解析用のプログラムを使ってデータ解析していきます。時にはPythonやR、MATLABのように統計解析に強いプログラミング言語を使うことから、広義のエンジニア職の含まれることもありますが、本質はビジネスやデータを理解したうえで、そこから導き出すアクションなどに重きが置かれる職種です。
データサイエンティストは、主に3つのスキルが必要とされます。
データ解析のためのプログラムを組むスキル、データを解析し分析するスキル、そのデータを活用して事業に活かしていくスキルの3つです。
幅広く高度なスキルが要求されるため、単価は高めです。
キャリアは、エンジニア出身者、コンサルタント出身者、事業部門出身者など様々で、それぞれのキャリアを活かしたポジションを担当している方が多いです。
製品を開発する職種ではないので比較的自分のペースで仕事を進められますが、分析などに時間をかける必要があります。

キャリアプランと照らし合わせてスキルを積もう

フリーエンジニアと言え、その職種は様々です。
自分のスキルやキャリアプランと照らし合わせ、どの職種のキャリアを積むべきか、今一度検討してみてはいかがでしょうか。

今後のキャリアに悩んだら、エンジニア専門のエージェントに相談してみるのも1つの方法です。