フリーランスエンジニア プログラマー

【実体験】バックエンド歴4年がフロントエンジニアになってみた

皆さんこんにちわ、藤沢だよ。

私、実は今週(2020/2/17)からフロントエンドエンジニアとして活動をしています。フロントエンジニア歴3日目の、完全素人のReactエンジニアでございます。上記、貼ってあるツイッターでも呟いたのですが、正直、普通に自分がフロントエンドエンジニアになるなんて夢にも思ってなかったんですね、だって、今まで約4年ほどバックエンドエンジニアとしてRubyとかGoとか触ってきたし、これからもバックエンドで攻めていくんだろうなと思ってたから。

エージェントさんから連絡もらって、案件の面談に出向いたとき、先方から『弊社で現在、募集しているのはReactとNext、フロント側を実装してもらうことになります、これらの経験、ありますか?』って話されたときは、心の中で『終わってる〜〜〜〜〜っっっ』って叫びましたよね、普通に。

何故なら、自分は全くReactの経験などないし、(興味はもちろんかなりあったんだけど)出来る気が全然しなかった。一応、当時の私はかなり始末の悪い金欠状態だったので、喉から手出るほど金が欲しいってことで『頑張ればできます!!』アピールして帰ってきたのだけれど、まあ、半分ダメもと。

いくらエンジニア歴があるからって、流石に未経験の技術に、単価70万とかは出さないだろうって思ってたし、(僕は基本的には月の単価を70万から下げる気がないし)そもそも、出勤地が新宿って僕にとっては慣れるまでかなり遠いから、まあ別に無理なら無理でいいや〜みたいに思ってました。

で、採用されてしまった(笑)。

バックエンドエンジニアからフロントエンドエンジニアになったフレッシュな感想を書いてみようと思う

というわけで、今回は、今現在の僕のフレッシュな感想を語ってみるだけの記事でございます。まあ、今後、世界のどこかで僕と同じように様々な原因により、突然バックエンドエンジニアからフロントエンドエンジニアへ転身せざるを得なくなる人もいるかもしれないし、このような初体験を記念に自分でも備忘録を書いておくのは良いアウトプットになるだろうと思うんです。

ただし、語ってみるだけと言うても、ある程度の目的は定めておこうと思ってまして、例えば、世の中にあるフロントエンドVSバックエンド の潮流にもあるように、ぶっちゃけどっちの方がおすすめなの?ってところや、フロントエンドエンジニアをやることで得られそうなメリットってなんかあるの?ってとこなんかも掘り下げて行こうかなって思います。

まあ、何回もクドイようだけど、フロントエンジニア歴は三日目なんで(笑)お手柔らかにお願いしますね。では、行ってみよう٩( 'ω' )و

現場に入ってReactのコードや、フロントエンドエンジニアとしての仕事を学びながら気がついたことがある。

まず、最初に現場に参画して、チームの皆さんに自分の自己紹介をしていくときに『自分はこれまでRubyなどをやってきたので、フロントのReactとかは超未経験です』とゴリ押ししたのですが(皆さんもよく知っておいて欲しいんだけど、腰を低くして乗り込むのは超大切です)その甲斐あってか一週間のキャッチアップの期間を貰ったんですね。

このキャッチアップの期間についてはまあ特に何も思わなかったのですが、自分でプロジェクトのReactのコード読んだり、インターネットでチュートリアルを進めてキャッチアップしていくうちに、なんとなくだけど自分の中でとある感情が湧き上がっていることに気がついてしまったんです。

それは、『もしかしたら、フロントエンドエンジニアって、バックエンドエンジニアより難易度低いんじゃね?』ってことを。別に、フロントエンドを舐めているわけでは全然ないのですが、つまり、『難易度』っていうのは、根本的に『要件を満たしたコードすら実装できない』みたいなことは減るんじゃね???って思ったんです、(結構な確率で嘘ついてるかも)

もしかしたら、バックエンド開発はフロントエンドの開発よりも、難しいのではないか説

理由は、単純にフロントエンドとバックエンドを比べたとき、バックエンド開発の方が端的に言って実装やデバッグするときに考慮しなきゃいけない事象が多いと感じてるからです。例えば、インフラ、DB、メモリ、ネットワーク、サードパーティ製のライブラリ... etc これら全てをデバッグの対象として捉えないといけません。

他方、フロントエンドエンジニアが担う機能はシンプルです、ビューに集中すれば良いんです、バックエンドで処理されたデータの塊を、ユーザーへ届けさえすれば、仕様を満たしたコードを実装できます。

美しく居心地の良いユーザー体験を実現させるかは難しいしセンスがいるかもしれませんが、それはどちらかといえばプログラミング的な難しさとはちょっと違います。いわば、最悪『取り敢えず』で納めることも可能なわけです。この、『取り敢えず』の精神はバックエンドには通用しません。

それは何故かと言えば、バックエンドの開発は0から1を実現できないと全く何も始まらないところがあるからです。いくら多量のコードを書いても、動かなければ1秒も働いたことにならないし、動かないコードをデバッグする為に、ブラウザはもちろん、データベースやネットワークのあれこれを考えないといけない。てか、むしろRailsとかを触ってれば、バックエンドなのにフロント側の面倒みないといけなかったりもする。

バックエンドとフロントエンドではどちらの方が高単価で仕事を取れるのかを、考えてみる。

単価という面でフロントエンドとバックエンドを考えたとき、今まではバックエンドエンジニアの方が単価が明らかに高かった印象があります。それは、今まではフロントを担う言語ってCSSやHTMLしかなく、若干フロントエンドエンジニアの技術者って舐められてた印象があるからです。

でも、ブラウザの技術が日に日に向上され、JavaScriptの技術も日に日に向上され、リッチなUIが技術者の腕によって様々実装できるようになると、状況は少しづつ変わってきたと思います。美しいUIはユーザーとのコミュニケーションの酷寒ですし、そこをクオリティの高い物を作れるエンジニアの価値は日に日に上昇しています。

さらに、このようなフロントエンドの技術は日進月歩で移り変わりが早く、年齢を重ねた人は新しい技術に入りにくいというのもあるので、大きなチャンスもあると思います。また、今のフロントエンドの技術はReactなどFaceBookが資金を投下して開発してるものもありますよね。

まとめ

ここら辺で簡単にまとめておくと、僕がフロントエンド開発に乗り出して最初に思ったことは、『多分、要件を満たしたコードを納品する』という観点においては、バックエンドよりも難易度が低いです。それは、ビューに焦点を置くフロントに比べ、バックエンドは機能を動かすということに重点が置かれますし、インフラ、DB、メモリ、ネットワーク、サードパーティ製のライブラリ... etc 様々な部分をデバッグの対象にする必要があるから。

また、フロントエンドの技術は流行り廃りが早く、新しい技術が日進月歩で出てくる雰囲気がある為、新しい若い人も他の人と差をつけ上級者になりやすいということが言えますし、現在のフロントエンドエンジニアが開発するような、リッチなUIは、企業のプロダクトにとっても、ユーザーとのコミュニケーションにおいて非常に重宝されると思います。

結論として、私の意見では、もちろんバックエンドの技術(ネットワークとか)がわかるのは素晴らしい能力だが、今若い人で、これから取り敢えずエンジニアとしてお金稼ぎたくて、詰まらず安全に現場で開発をしたいという方は、私は、フロントエンドエンジアをおすすめします。

-フリーランスエンジニア, プログラマー
-, ,

Copyright© off , 2020 All Rights Reserved Powered by AFFINGER5.