フリーランスは自身のキャリアと収入と自由の舵取りがしやすい働き方です。
またフリーランスエンジニアとして生きていく中でスキルアップは必要不可欠になります。
自由が故にどの様にすれば効果的にスキルアップができるのか分かりづらい部分もあるかもしれません。
今回はスキルアップのために押さえておきたいポイントをまとめてみたので紹介します。
フリーランスエンジニアに必要な技術
エンジニアといっても様々な種類があり、それぞれの業務内容や使用技術も違います。
今回はWeb系のエンジニアと関連する技術を紹介したいと思います。
開発系エンジニア
フロントエンドエンジニア
JavaScriptというスクリプト言語を使いWebサイトの画面の動きを制御するエンジニアです。
ユーザーが行なった操作に対して画面上で対話性のある動きを実装します。
ユーザーがリクエストした情報をサーバーに送信する処理とサーバーから返ってきた結果(レスポンス)を画面上に反映する処理も行います。
またJavaScript単体で使う訳ではありません。
jQueryというライブラリーを使えばコードを単純化して記述できますし、Vue.js、Reactというフレームワークを使うことで効率的な実装が可能になります。
JavaScriptの中でHTMLやCSSの操作を行う事もあります。
バックエンドエンジニア
IT業界ではサーバーサイドエンジニアとも言います。
ユーザーがフロント画面でリクエストした内容に対しての処理を制御するエンジニアです。
例えばユーザーが画面上で[投稿]ボタンをクリックすれば、”投稿内容”がサーバー側に送信されます。
その”投稿内容”をデータベースに保存する処理、”投稿した結果”をフロント画面に返す処理などを行います。
使用言語はWeb業界であればPHPとRuby、SI業界ではPHPとJavaが主流となっています。
主なフレームワークはPHPであればCakePHPとLaravel、RubyであればRuby on Rails、JavaであればSpringとStrutsになります。
インフラエンジニア
インフラエンジニアといって様々な種類があり、データベースエンジニア、ネットワークエンジニア、セキュリティエンジニア、クラウドエンジニアなどが存在します。
どちらかというとシステムの基盤を整える役割があります。
クラウドに関してはAWSが主流になっています。
その他のエンジニア
マークアップエンジニア
HTMLやCSSというマークアップ言語を使いWeb画面を作成するエンジニアです。
文章や画像のレイアウトを行います。
またWeb画面上の対話性のある処理と関わりがある事からフロントエンジニアとの連携が求められる事もあります。
フリーランスエンジニアがスキルを身に付ける方法
参考書を読む
一番ポピュラーな方法です。
参考書を読むメリットは体系的に全体を通して学べる事です。
技術書といっても入門者向けのものから上級者向けまで様々です。
初心者向けの書籍は基本的な事から少し実践的な事まで段階的に学習できる構成になっている事が多いです。
その技術について何も知らない段階から最初の取っ掛かりとして基本を抑えるのに適した勉強方法です。
最近では電子書籍を購入してスマホを使って学習ができます。
インターネットを活用
情報を得て学習できるという意味では参考書と同じですが、ネットの場合は部分的に情報を得られるというのがメリットです。
IT/Web系の専門家の多数が技術に関する情報を発信しているので、プログラミングをしている時にエラーが出た時などは、その内容で検索すればほとんどの事が解決ができたりします。
効率的に学習するためにはネットを使いこなす事が重要になるのです。
質問サイトを使う
環境構築している時、プログラミングをしている時にエラーやバグなどの不具合が発生する事があります。
インターネットで自分で調べても中々解決できない事があります。
以下に紹介する質問サイトはプログラミングを始めて学習する人や上級者まで多数の人が質問や回答しています。
分からない事を自分で調べても解決しない場合は質問サイトを利用する事で早期に問題が解決する場合があります。
・teratail
・Qiita
・stackoverflow
・Yahoo!知恵袋
・教えて!goo
オンライン学習サービスを利用する
参考書に比べて活字を読む負担が少ないので気軽に始めやすいです。
また、体系的に学習も出来て進捗状況を管理しやすいのが特徴です。
スマホ一つで学習できるため、時間と場所を選ばないのがメリットです。
・ドットインストール
・udemy
・Progate
スクールを利用
独学で勉強するのが難しいという場合はスクールに通うという手段もあります。
スクールを活用するメリットは分からない所があれば講師に聞けるので挫折する事が少なくなります。
また高額なお金を払って半強制的に勉強できる環境を作るのでモチベーションが維持しやすいです。
ちなみに職業訓練校に限っては入校するのに試験があったりする場合もあるのですが、お金を払うのは実質交通費とテキスト代のみで中にはOJTで実務を経験できる所もあります。
・IT/Web系の専門学校
・プログラミング教室
・公的職業訓練
ポートフォリオの作成
作品はなにも初学者だけが作るものではありません。
実務経験者であって自分が保持している技術をアピールするためにポートフォリオを作ることもあります。
クラウドソーシングサービスを使って在宅で仕事をしている人だろうと、フリーランスエージェントを使って常駐で仕事している人だろうと関係なく作品は自分の技術力をアピールするために使えます。
目に見える形でアピールできるので実務経験だけを並べたスキルシートよりも説得力が増すのです。
一通り学習を終えたら、今まで身に付けたスキルを使い作品にしてみましょう。
この時のポイントは世に出回っている機能をできる限り実装することです。
この様にすることでより実践的なスキルが身につきます。
「関連ページ」
実務でスキルアップを狙う
スキルの幅を広げる
実務で使った事のない技術に挑戦することで自分のスキルセットを増やしていきます。
大抵の実務では一つのスキルを100%使いこなす様な技術力は求められません。
またフリーランスだからといって特別なスキルを求められる訳ではありません。
それよりも50%でも良いので基本的な事さえできれば実務では通用します。
0%を50%にする労力より50%を100%にする労力の方が遥かに大きいのと、身に付けた技術が未来永劫に使える訳でもないので一つ技術に特化するのはかなり非効率でリスクが高いのです。
短期の案件を繰り返す
長く携わるより短期で他の案件にチャレンジして色んな技術に触れる方がスキルは身につきます。
1つの案件に1ヶ月〜3ヶ月ぐらい携わればスキルをキャッチアップできます。長くても半年ぐらいで可能でしょう。
なのでダラダラと同じ案件にいてぬるま湯に浸かるより、他の場所で刺激を求めた方が成長できるでしょう。
運用・保守ではスキルアップは難しい
運用・保守の場合は現場特有の知識は身に付くのですが、他の現場では全く活かせないことが多いのです。
他の案件でも通じる汎用的なスキルを身に付けるという意味では運用保守は向いていないです。
特に運用・保守の案件は期間も長くなりがちです。
スキルアップを意識するなら最低でも保守開発、できれば新規開発にチャレンジした方が良いでしょう。
フリーランスのための勉強会、セミナーに参加
勉強会に参加することで最新の技術をキャッチアップする機会を得られたりするのでスキルアップをするチャンスが生まれます。
交流会的なセミナーなどでは同じ様にフリーランスとして働いている人もいて情報交換やキャリアの相談などができる機会もあります。
同じフリーランスの人と会話する中で人脈が広がる事もあり本業につながったりするので、仕事の幅を広げたい人には是非参加するのをオススメします。
・WEB STAFF
・TECH PLAY
・connpass
・doorkeeper
・DevelopersSummit
フリーランスエンジニアと資格について
フリーランスとして仕事する上で資格が役に立つかについてですが、”資格は無くても仕事には困らない”というのが実情です。
資格は持っているに越した事はないですしスキルシートにも書けるのですが、それで案件を獲得できるかというと効果は薄いと思います。
国家資格であればIT業界の知識や技能を幅広く問われる物、また専門的に問われる資格などもあり、ベンダー資格であれば対象の技術に関する知識が問われる事が多いです。
IT系の知識を幅広く身に付けたい場合や特定の技術の専門知識を身に付けたい時は資格は有効に働くと考えて良いでしょう。
[国家資格]
・情報処理安全確保支援士
・基本情報技術者試験
・応用情報技術者試験
・各スペシャリスト系資格
[ベンダー資格]
・AWS認定資格 (数種類)
・Oracle Certified Java Programmer (Bronze, Silver, Gold)
・OracleMaster (Bronze, Silver, Gold)
・CCNA, CCNP, CCIE
・LPIC (Level1〜3)
フリーランスのスキルアップは自己責任
会社員であれば上司や先輩がある程度面倒を見てくれる場合もありますが、フリーランスは研修など教育システムが存在しません。
スキルアップのする・しないは全て自己責任です。
フリーランスの良さは会社員に比べ自由なところなのですが、その分自己管理が求められます。
描きたいキャリアを歩むためには効率的に効果的なスキルアップをする事が重要なのです。
まとめ
◯ 独学が難しい場合はスクールを活用する方法もある
◯ 1つの技術に特化するより幅広い技術を身に付けた方が効果的
◯ 短期間で案件を変え色んな技術に触れる事で効率的なスキルアップが可能
◯ 勉強会やセミナーに参加する事でスキル、人脈、仕事の幅が広がる
◯ 資格は実務では即効性はないが知識を身に付ける意味は有効