フリーランスエンジニアに求められるスキルは何をどのくらい求められるのでしょうか?
実は会社員の頃とそこまで変わらないところもあります。
僕の経験やそれに伴う失敗談を交えて解説していきたいと思います。
フリーランスエンジニアに必要なスキルのレベル
技術力は高レベルじゃなくても良い
技術力に関しては特にハイレベルを求められません。
僕がフリーランスのエンジニアになった時に感じた事は、「会社員として仕事でしてきた事と内容(レベル)は変わらない」でした。
フリーランスだからって仕事の難易度が特別上がるわけではありません。
求められる事を一言で表現すると「仕様書が読めて仕様書通りにコードを書ければ良い」です。
案件にもよると思いますが、フリーランスでプログラマーとして働きたいのであれば、仕様書の内容理解してコードを適切に書ければ十分です。
ただ一部のクライアントの中にはフリーランスに対する期待値が会社員エンジニアより高い人はいますね。
チームのメンバーと良好な人間関係が築けるかが重要
正直なところこれが全てと言っても良いくらいです。
技術力よりもコミュニケーションを取りチーム内で円滑に仕事が進められるかが重要になっています。
特にリーダーとの関係は重要で、これがうまくできていないと(いろんな意味で)困ることになると思います(笑)
フリーランスエンジニアに必要なスキルとは
フリーランスといっても特別何かを求められるわけではなく会社員と変わりません。
最低限必要な事を挙げていきます。
技術力
例えばプログラミングであれば仕様書通りにコード書ければOKです。
その際にメンテナンスがしやすい保守性の高いコードを書く事も重要です。
条件分岐のネストが深過ぎるとかはNGですね。コーディング規約があればそれに沿った書き方で記述しましょう。
技術レベルの深さという点ではそこまで求められません。
実務が初めての技術であっても参画してから慣れていくという感じでしょうか。
学習スキル
業界の最新技術をキャッチアップする意識は持っておいた方が良いでしょう。
またインプットだけではなく目に見える形としてアウトプットする事が重要です。
作品作りは一番のスキルアップなのです。
対人スキル、コミュニケーション能力
チームの人と上手く仕事を進められるか大切です。
開発でもチーム内のメンバーと適切にコミュニケーションとりながら作業を進めます。
また保守業務ではお客さんと会話をすることもあります。
他の記事で詳細を書いてますが僕はこの対人スキル、コミュニケーションを軽視してたので非常に大変な思いをした事があります。
僕なんかはリーダー食事に誘われていても断っていたのでクライアントと継続的に仕事をやっていきたいと思っている人は嫌でも付き合いをした方が良いでしょう(笑)
営業力、交渉力の必要性
フリーランスは基本的に自分一人で仕事を取ってくる必要があります。
ですが昔であればクライアント獲得のために飛び込み営業をかけたり、人脈から仕事をもらったりする事が多かったかもしれません。
勿論営業力、交渉力はあるに越したことはありませんが、絶対に必要かと言われればそういう訳でもありません。
時代は変わって今はネット上で案件を探せる便利なサービスがあります。
僕自身も特に営業力や交渉力がある訳ではありませんし、むしろ苦手にしています。
それでも仕事の獲得には特に困ったことはありません。
フリーランスエージェントを使えば企業とフリーランスを仲介してくれます。
またクラウドソーシングサービスを使えば案件を自由に選ぶ事が出来て、仕事の発注者と受注者をWeb画面上でマッチさせてくれます。
営業力がなくても仕事を探す事は可能なのです。
現在主流の案件を獲得できるサービスを紹介します。
フリーランスエージェント (常駐型)
・レバテックフリーランス
・geechs job
・midWorks
クラウドソーシングサービス (在宅型)
・クラウドワークス
・ランサーズ
フリーランスエンジニアに必要な技術一覧 (Web系)
Web系エンジニアが最低限必要な技術を挙げてみます。
各プログラミング言語の単価などの情報はこちらになります。
Webシステム系エンジニアの場合
フロント開発エンジニア
Webサイトの画面側を実装するエンジニアです。
ユーザーが選択した処理をサーバーにリクエスト、その結果を反映する役割等があります。
フロントの開発言語はJavaScriptが独占しています。
開発言語 | JavaScript |
---|---|
ライブラリー | jQuery |
フレームワーク | Vue.js / React |
サーバーサイド開発エンジニア
フロントから送られてきたリクエストに対する結果(レスポンス)を返す役割があります。
Web業界ではPHPとRubyが、SI業界ではPHPとJavaがメインの言語として使われています。
開発言語 | PHP、Ruby、Java |
---|---|
フレームワーク(PHP) | CakePHP、Laravel |
フレームワーク(Ruby) | Ruby on Rails |
フレームワーク(Java) | Spring, Struts |
データベース | MySQL、PostgreSQL、Oracle、SQLite |
フリーランスエンジニアのスキルアップ
ポートフォリオを作る
インプットしただけでは実際にコードを書いてみると思うように書けないという事があります。人間の脳は認識した情報を覚えやすくするために無意識に単純化して記憶として保存してしまいます。
勉強した内容を自分の技術資産として保存するためにも作品作りが重要になります。
また、作成したポートフォリオは案件探しの際に技術力のアピールにも使えます。
例えばWebサイト制作であればHTML、CSS、JavaScript、PHP、データベース、フレームワーク、ライブラリ、ソース管理ツールなど総合的にスキルアップができるのです。
短いサイクルで案件を変える
スキルアップに重点を置いているのであれば、短いサイクルで案件を変えるのがおすすめです。案件にもよりますが1つの案件でキャチアップできるスキルは1ヶ月〜3ヶ月もあれば十分だからです。
せいぜい長くても6ヶ月までだと個人的に思っています。
なので今携わっている案件でキャッチアップできるスキルがなくなってきたと感じているのであれば次の別の案件にシフトしても良いと思います。
次の案件を探すときに気をつけるポイントとしては直前の案件で使っていた技術と少し違う技術を使う案件を選ぶ事をオススメします。
フリーランスエンジニアに資格は必要ない?
結論から言うと特に必要ありません。
IT系であれば大多数の人が知ってるであろう某人気国家資格(試験)を持っていますが、スキルシートに何か書きたせるぐらいで役に立ったかといえば全くありませんでした。
資格よりもポートフォリオの方が技術アピールとして説得力があるので、わざわざ取得する必要は無いと思います。
◯ 技術力も必要だが、対人スキルはもっと重要
◯ 営業力や交渉力がなくても案件は取れる
◯ 短期のサイクルで案件を変えたほうがスキルアップできる
◯ 一番のスキルアップにはポートフォリオ作成すること