フリーランスエンジニアの話

エンジニアとして日々感じてることを綴っています

フロントエンドエンジニアはバックエンドも出来た方がいい?

僕は一応フルスタックエンジニアですが、そう呼ぶのには少し抵抗があります。というのも、バックエンドはそこまで強くないからです。Ruby, Python, node.jsは書けるので幅広く対応できるのですが、インフラも兼任することが多いバックエンドは正直苦手です。

プログラミングを学んでた学生の頃は、1人で全工程出来るように勉強しました。でもその時はHerokuなどにデプロイしてたので、AWSとは無縁でした。

仕事を始めてからAWSを触ることになったのですが、どうも苦手で、それ以降インフラはやらないと決めました。勿論出来るに越したことはないでしょうが、出来なくてもちゃんと仕事はあります。自分の得意なところを伸ばした方が気が楽です。

よくあるメンバー構成

話をバックエンドに戻すと、ほとんどの案件はエンジニアが複数いるので、フロントエンドとバックエンドで最低1人づついます。フロントエンドを担当することになれば、当然バックエンドを触ることはありません。ですのでバックエンドが出来なくてもフロントエンドエンジニアとして仕事はあるので心配要りません。それにフロントエンドしか出来ないから単価が安いかというと全くそんなことはなく、僕は時給7000~8000円で受注しています。

フルスタックの案件ってどういうもの?

ではフルスタックで動く案件はどういうものかというと、色んなパターンがあります。

1. 小規模なプロジェクトでエンジニアが1人の時

2. Railsでサーバーサイドレンダリングしてる為必然的にフルスタック

3. Firebaseなどでバックエンドがライトな場合

 

このようにフロントエンドかバックエンドがライトなアーキテクチャの場合、フルスタックで動くことになります。メンバー全員がフルスタックだと、それぞれ機能毎にDB設計、APIから画面まで1人で開発します。これはこれでメリットがあって、APIの仕様のすり合わせが不要になるためガンガン進めます。

前回のブログでフルフレックスだと待ち時間を気にすることなく働けるという話をしましたが、フルスタックだと待ち時間が少なくて済むので、セルフマネジメントが楽だったりします。

kenzotakahashi.hatenablog.com

 

フルスタックエンジニアの単価

フロントエンドエンジニアとフルスタックエンジニアで単価の差があるかというと、正直ありません。フルスタックが出来たところで生産性が2倍になるわけではないので当然と言えば当然です。

前どこかで見た市場データではフルスタックエンジニアの方が平均収入が高かったですが、これはマークアップエンジニアもフロントエンドエンジニアに含まれてるせいではないかと思います。経験年数を考慮せずに全体で見れば、フルスタックエンジニアの方が経験年数が長い可能性が高いので必然的に平均収入が高く見えるのかもしれませんね。

ただ、フルスタックエンジニアの方がより多くの案件を狙える為、高単価の案件を見つけられる可能性は高くなります。これはまた別の機会に話しますが、単価というのは自分の価値だけではなく企業のお財布事情によって決まりますから、高単価を出せる企業をなるべく多く網羅出来るようなスキルセットを持っておくと有利です。

バックエンドは言語が多くて大変

僕はフロントエンドの方が好きなのでフロントエンドを中心にやってますが、バックエンドをそこまでやらないもう一つの理由は、言語が多様であるということです。仮にRailsを勉強したところでGoやPythonの案件を取るにはそれらの勉強をする必要があります。勿論全部の言語の経験があるなんて企業側も期待してないので、どの言語であれある程度の経験があれば、あとはキャッチアップ出来るよねとという感じで採用してくれます。

ただ、仮に採用してもらったとしても、生産性を上げるまでには時間がかかります。また、言語やフレームワークは日々進歩しているので、せっかく学んだのに案件がどんどん減ってるということもあり得ます。バックエンドエンジニアは常に各言語のマーケットシェアを意識して正しい言語に投資しないといけないので常に投資家目線を持つ必要があるだろうなと感じています。

勿論それはフロントエンドでも同じことですが、フロントエンドはフレームワークが違えど所詮はJavascriptですから、学習コストはそこまで大きくありません。Javascriptさえ嫌いでなければ安心して居られる環境です。昔はJavascriptは本当に書きづらかったですが、今ではES6のおかげで非常に使いやすい言語となりました。

最後に

ここまで書いた上でタイトルにお答えすると、「バックエンドは知っておいた方がいいけどエキスパートである必要はない」です。僕の歩んできた道を正当化するような回答ですね笑

やはりどの職種でも言われますが、T型人材は強いですよね。