職種を越境した経験が活きたこと
はじめまして、フリーランスエンジニアとして活動しているkou(@awesomeJason4)です。
SIerでインフラを約1年間、その後にバックエンドのプログラマーとして約3年間働いていました。現在はフロントエンドエンジニアとして活動しています。
フロントエンドエンジニアになってから、インフラやバックエンドを経験してきたからこそ感じた気付きがたくさんありました。フリーランスエンジニアを目指している方やエンジニアとしての市場価値を高めたい方、そしてキャリアに悩んでいる方は、ぜひ最後まで読んでいただけると嬉しいです!
また、普段はTwitterやNote、個人ブログでも情報発信を行なっているので、もし気になった方は是非こちらもチェックしてみてください。
▲運営しているAwesome Blog
今後はますます職種ごとの境界は曖昧に
僕自身、まだまだエンジニア歴は浅い方ですが、プログラマーとして働き始めた頃と比べると、格段に便利な世の中になりました。
特にIT業界ではクラウドが圧倒的に進化し、ITエンジニアとして働く上ではAWS等のクラウドサービスを用いて開発ができることがほぼ必須になったと思います。
これはフロントエンド開発でも同様で、SPAなアプリケーション(S3やCloudFrontなど)や、SSRが必要なアプリケーション(ECSやビルド環境など)を扱うことが多くなっています。
またReact、Vue.js、Angularを始めとする現代のフロントエンド技術は
- Node.jsやWebpack
- トランスパイル
- TypeScriptなどの静的型付け言語
といった単なるHTML、CSS、JavaScriptの知識だけでは扱うことが非常に困難です。
このように現在のフロントエンドエンジニアには、フロントエンド以外にもインフラやサーバーサイドを始めとする多くの知識が求められるようになっています。
そして、便利になればなるほど、今後もその流れは加速していく可能性があるのです。
インフラで学んだLinuxやAWSの経験が活きる
SPAなフロントエンド開発であれば、AWS S3やCloudFrontの知識で事足りることも少なくはありません。しかし、AWSといったクラウドサービスを扱う上では、Linuxの知識が必要になります。
Google検索からの恩恵を受ける上では、SSRを扱うことが多くなっています。SSRを用いた開発では、コンテナ技術を用いてインフラを構築することが多く、インフラ時代のLinuxやAWSの経験が活きてきます。
また現代のインフラは、インフラをコードとして管理する時代です。Terraformというインフラ構成管理ツールの経験は、AWSリソースを作成・修正する際にも役立っています。
サーバーサイドの開発経験が活きる
フロントエンドエンジニアとして働く上では、API周りの知識やサーバーサイド側のエンジニアとのやり取りといった基本的な技術が要求されており、ある程度のサーバーサイドの知識・経験が欠かせません。
また積極的に技術へ取り組んでいる現場では、
- アーキテクチャ、設計周り
- SSR
- GraphQL
などを扱う際に、サーバーサイドでの開発経験が活きてきます。
未経験からフロントエンドエンジニアを目指す場合は、まずはフロントエンドからサーバーサイド、そしてインフラまで一通り学習してみることをオススメします。
サーバーサイドは入門しやすいPHPやRuby、インフラはEC2やS3などへ触れてみるだけでも、フロントエンドエンジニアとしての市場価値を大きく向上させることが可能です。
異なる分野に進む時に意識していること
まず手を動かすこと
異なる分野に進む際は、自己学習が欠かせません。
専門的に活動していた人との力の差を短期間で埋めることは難しいでしょう。そこで僕は、まず業務を行う上で支障の出ないレベルを目標として設定するようにしています。
しかし、書籍を購入してはみたものの、学習に何ヶ月もかかってしまったり、理解出来ず読み終わらなったりということも僕自身多くありました。
そこで、異なる分野へ挑戦する際には、公式サイトやQiita、個人ブログ、英語記事などにまとめられたチュートリアルを参考に数時間程度手を動かしてみるのがオススメです。
知識のアウトプットをすることで、業務に必要な幅広い分野の技術を短期間で身につけることができたと言えます。
副業で異なる分野に挑戦
僕は、異なる技術での経験を積みたいと思った時に副業を活用していました。正社員時代にはLaravelでの開発経験が豊富だったため、Laravel×Vue.jsの副業を獲得することで、Vue.jsの知見を得られました。
一方で、十分な稼働時間を確保するのが難しかったり、発注者とのコミュニケーションにラグが生じるという観点から、なかなか副業に踏み出せないという人が多いというのも現状です。そのため、副業で新しい技術に挑戦する際は『得意な技術×新しい挑戦』の案件を取ると、本業と両立した上で新しい技術を身につけることができるので非常にオススメです。
また、副業を経験してきた僕だからこそ言える副業の最大のメリットは、自分の市場価値を測ることができるという点です。正社員として一つの会社で働いていると、どうしても社内の評価や固定観念に縛られ、偏った考え方になる恐れがあります。
僕は副業を通してエンジニアとしての需要を見出し、自信を得ることができました。それがフリーランスとして働くきっかけになったと言えます。
▲職務経歴書の一部。「貢献できること」を意識的に書くことでオファー率が上がった気がします。
幅広い範囲をカバーできるフリーランスのメリット
現場の選択肢が増え、柔軟に決められる
実際にフリーランスとして働く前は、『もしうまくいかなかったら正社員に戻ろう』という軽い気持ちであまり期待はしていませんでした。しかし、一度フリーランスとして働いてみると想像以上に自分に合った働き方ができていると感じます。
巷では営業活動や仕事の不安定さに関して多くのデメリットが挙げられていますが、エンジニアとしての市場価値を高めていればそれらの懸念は全く問題ありません。
僕の場合は、フリーランスになってから初めての現場でマイクロサービス開発を行なっているモダンな現場を経験し、市場価値を一気に高められたと思っています。現在は、メガベンチャーのエンジニアとしてのキャリアを積む中で錯覚資産を得ることができ、色々なところから声が掛かるようになりました。
フリーランスエンジニアは自分の意思で柔軟に働き方を選択し、さらにレベルの高い現場を数年単位で経験することができるのです。
年収は倍以上に
フリーランスになってからは、年収も大幅に上がりました。僕の場合、最初はエージェント経由でフリーランスデビューしたため、マージンを取られてしまったのですが、それでも年収は倍以上になりました。
またフリーランスになった後は、知人から直接企業に繋いでもらえることも増え、正社員の時の3倍程度の単価を提示していただくこともありました。
それでもまだまだ先輩フリーランスの方達に比べると、若手で経験も少ないため、金額的には高いとは言えません。しかし、正社員の昇給を待つよりは、確実に短期間で容易に年収を上げることができると思います。
このようにフリーランスは、技術力にある程度の自信があり、自分を売り込むことが得意な人にとっては、理想の時給の案件を獲得することができるという点で夢のような働き方なのではないでしょうか。
広範囲をカバーできるフロントエンドエンジニアは不足気味
フロントのコーディングがメインになっている方ももちろんいるとは思いますが、市場価値の高い人材はフロントエンド全般の面倒を見れる人であることは明らかです。
僕自身はバックエンドだけでやっている時よりも、フロントエンドでキャリアを始めてから多くの企業さんから声が掛かるようになりました。メガベンチャーや有名企業からのオファーもあり、不足気味なフロントエンドエンジニアとしてのキャリアは今後もチャンスだと思っています。
実際、僕自身もまだどの分野で専門性を深めていくのか決めきれていない部分もあるのですが、今後も様々な分野に興味を持って取り組んでいきたいと思います。
この記事が少しでも多くの方のお役に立てれば嬉しいです。