「未経験エンジニアの転職にはポートフォリが大事と言われるけどインフラとかフロントは何を使って作ったらいいんだろう?プログラミングの基礎もだいたい理解したし、調べながらやればある程度は作れそう」という方の疑問に答えたいと思います。
結論を先に書くと、効率と新しい技術利用を優先するならFirebaseとVue.jsを選択すべきです。
- Firebaseを使ってサーバレスなポートフォリオ
- フロントエンドはトレンドのVue.js
Firebaseを使ってサーバレスなポートフォリオ
FirebaseにはサイトをホスティングできるHosting、グローバルレベルにスケールするCloud Firestore(NoSQLデータベース)、サーバレスなAPIを構築できるCloud Functions for Firebaseなど多くのサービスがあります。
Firebaseはサービスの多さもさることながら一つ一つのサービスがものすごく便利です。どれも自前でサーバを準備する必要がないマネージドサービスとなっていて、可用性、耐障害性が高いのが特徴です。
ポートフォリオ作成で差をつけるならFirebase
初心者エンジニアがポートフォリオを作るとなるとRuby on Railsを自前で建てたサーバで動かして、MySQLなどのRDBを使うかと思います。最低限これらのミドルウェアを使えることは前提として、さらに差をつけるならFirebaseを使うことをオススメします。
Firebaseはここ数年くらいで急速に認知を広げていて大規模サービスでも使われるようになってきています。一番有名なところだとCookPadのKomerco(コメルコ)というサービスがFirebaseを利用して構築されています。
Firebaseならバックエンドエンジニアいらず
Komercoの面白いところはiOSエンジニアだけでサービスを作り切ったというところですね。詳しくは下の記事を読んでみてください。
>>Firebaseでバックエンドエンジニア不在のアプリ開発 クックパッドが体感した、メリットと課題
僕らは3人ともiOSエンジニアで、Komercoの開発チームにはバックエンドのエンジニアが一人もいません。iOSの開発をしつつ、Firebaseでバックエンドの管理もしています。
Firebaseを使うとバックエンドエンジニアがいらないというのは驚きですよね。具体的にはCloud Functionsを使うことで自前サーバではなくマネージドなサーバにデプロイしたAPIを使用することができます。
WEBサービスの場合はHostingを使うことでHTMLをホスティングすることができます。これもサーバいらずです。Firebaseのようなクラウドサービスが発達したことで、インフラ管理から解放されサービス開発に集中できるようになってきています。
これからのエンジニアの業務範囲職の垣根はどんどんなくなってくると個人的に予想しています。
超少人数で開発できる
僕が所属しているGincoの仮想通貨管理アプリでもFirebase(Firestore, Hosting, Functionsなど)を利用しています。開発メンバーは4人と少なく、Komercoも3人で開発していることから少人数での開発に向いています。
ちなみにKubernetesとFirebaseを使ったサービス開発に関してGoogleの公式ブログにインタビューして頂いたのでこちらも是非ご覧ください。
>>株式会社Ginco の導入事例:業界に先駆け Google Kubernetes Engine と Firebase を導入し、先進的仮想通貨ウォレット アプリ「Ginco」を短期間で開発
コストが安く、新しい技術というアピールポイント
Firebaseを使うとわかるのですが、自前でサーバ建ててサービスを構築するよりもめちゃくちゃ楽に早く構築できます。さらに商用利用でない限りほぼコストがかかることはありません。
こんなにいいことずくめのFirebaseを使わない手はないですね。技術的にも先取りなので、Firebaseでポートフォリオを作ればかなり差別化できること間違いなしです。
フロントエンドはトレンドのVue.js
次にフロントエンドの実装ですが、ReactかVue.jsで迷う人が多いと思います。
初心者的にはVue.jsの方が簡単
Reactは初心者には難しいというのが正直なところですね。別に全くの無理ということではないですが、Vue.jsの方が手っ取り早く作ることができると思います。
面接官的にはどちらの方が評価が高いというのは全くないです。それよりも工夫した点とか技術選定理由、作成中にハマったことなどプロセスが重要になります。
なのでフロントエンドの開発はスピード重視のVue.jsでいいですね。
フロントエンドエンジニアを目指していないならcssフレームワークを使う
フロントエンドエンジニアを目指していなくてcssを独自で書かない場合は、Vuetifyというcssフレームワークがあり非常に便利ですので使用することをオススメします。
フロントエンドエンジニアを目指している場合はcssを自分で書いた方がいいですが、そうでない場合は便利なものをどんどん使って効率的な選択をした方がいいですね。
効率化というのはエンジニアとしてすごく重要なことなので普段から意識しておくといいかと思います。ちなみに自分はcssは全く書けませんがこれまで全然問題なかったです。
FirebaseとVue.jsについて書いてきましたが、これはあくまでポートフォリオ作成を素早く作るうえで重要な技術選定としてオススメさせていただきました。
作るサービスや規模によっては適不適があるのでそこまで考えられるようになったら一人前のエンジニアになれているかもしれません。本日は以上です。
おすすめ記事↓
>>ブロックチェーンエンジニアに転職するのに必要なスキルを現役エンジニアが解説!
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す