はじめに
2020アドベントカレンダー14日目です!
まず、はじめに
「フクロトジ」というサービスはご存知ですか?
フクロトジはクリエイターは秘密の写真・映像・音声を有料で公開、ユーザは**”袋とじ”の感覚で楽しむ**ことのできる18禁SNSで、2020年6月末にリリースしました!
2020年12月に入り、ユーザ総数50000人を突破した、今勢いのあるサービスです!
ぜひ「覗き」にきてください!(スマートフォンのみアクセスが可能です)
↓↓↓
フクロトジトップへ!
↑↑↑
私はサービス提供元の株式会社ハイボールでフクロトジの開発にエンジニアとして携わっています。
タイトル「フルスタックエンジニア×サービスローンチ」
この記事ではサービスローンチにおけるフルスタックエンジニアの活動について触れます。
正直自分自身をフルスタックエンジニアというのは烏滸がましい話なのですが、、
サービスローンチにおいては開発における業務(設計から開発・運用まで)を何度も1人でやってきた経験があります。
読者対象
- **「フルスタックエンジニアって何」**って方
- フルスタックエンジニアのサービスローンチの強みが何かわからない方
- サービスの立ち上げに積極的に関わるエンジニアになりたい方
フルスタックエンジニアとは
フルスタックエンジニアとは、システム開発やウェブ開発などのエンジニアリング業務において設計から開発・運用まで全ての行程を手掛けることができるエンジニアを指します。
通常は担当毎にパートを分けてチームで開発するような複数の技術分野を一人で担当できるためマルチエンジニアと呼ばれることもあります。
参考: フルスタックエンジニアとは
簡単に表すと**「何でも屋、よろず屋」**です(そうです、あの銀髪の侍を想像してください)
フルスタック**「エンジニア」**といえど、エンジニアにもそれぞれ分類があって、フクロトジを構成するwebのシステムだけでも
- フロントエンド(マークアップ)
- バックエンド(サーバサイド)
- インフラ(データベース、クラウド、ネットワーク、セキュリティ)
- データ分析・解析系
がありますが、web開発におけるフルスタックとしての活動としては
- フロントエンド(マークアップ)
- バックエンド(サーバサイド)
- インフラ(データベース、クラウド、ネットワーク)
の知識は最低でも必要になると思います。
仕事におけるフルスタックエンジニアの具体的な職務は特段なく、「広範的に」プロダクト開発に関われる、いわばPMやCTO的立場として俯瞰的に開発を捉えられるかが重要視されるところではないかと思っています。
フルスタックエンジニアのメリット
では、上記のエンジニアの分類を複合的にできることで何がいいのか。
以下3点、
- 広く技術を身に付けられ、ブロダクト改善や自分のやりたいことへのアプローチが早くなる
- 柔軟さを発揮できるため、アサインされやすい
- もっと貪欲にフルスタックになれる(メンバーができないことを回収したり、)
フルスタックエンジニアの強みはやはり**開発技術における「広範さ」**と、**その広範さからくるアサインに対する「柔軟さ」**です。
その強みがサービスローンチ時のペイン
- 開発初期で資金繰りが大きなペインで大規模な開発チームを組めない
- 開発方針がブレる可能性があるので、その場合でも柔軟に対応してほしい
に対して、効能としてすごい効いてきます。
フルスタックエンジニアのデメリット
フルスタックエンジニアを別名で表すとすると**「器用貧乏」**に当たると思います。
器用貧乏という表現は、正直マイナスのイメージしかないですが、、
「器用貧乏」とは器用なために一つのことに徹することができず,結局大成や花開かないことです。 器用貧乏な人は、実際に経済的な貧乏ではなく、器用であるが一つのことを極められず、中途半端に終わるという意味での貧乏です。
参考: 器用貧乏とは
でも、なぜオールラウンドに開発できることがマイナスに働くんでしょうか、、
これはサービスローンチからプロダクト、会社が共に成長してエンジニアのチームが潤沢な状態になると企業としては専門的な知識でプロダクトを磨き上げるフェーズに移行するため、広い知識を持っているだけでは戦力として劣ってきます。
そのような現場ではフルスタックエンジニアとしては他の専門的なエンジニアに劣らない技術力を磨きながら成長しなければならない、ある意味二重の枷を追うことになるのです。
「器用であるが一つのことを極められず、中途半端に終わる」を打開しつつ、成長し続ける必要があります。
この状況を乗り越えると積み上げてきた広い知識が、相互に作用してさらに深まって「最強」に近づきます。
伸び盛りな開発現場では
チームメンバー**「これアサインしても対応できそうな人いないな、」**
自分**「自分経験あります!できます!やりたいです!」**
チームメンバー**「めっちゃありがたい!助かる!ありがとう!」**
自分**「はい!」**
つまり、フルスタックエンジニアはプロダクト初期におけるエンジニア間を繋ぐ橋渡しの役目が強いのです。
結局、成長するにはどう立ち回ればいいのか
- メンバーができないことを回収して、もっと貪欲にフルスタックになる
- 他の専門的なエンジニアに劣らない技術力を磨きながら成長しなければならない、ある意味二重の枷を追うことになる
など正直ドMなポジションのフルスタックエンジニアですが、結局どう立ち回るのが正解なのでしょうか。
自分がフクロトジを開発しながら肩身が狭く感じず、成長したポイントとしては、やはりエンジニア間の尊重する関係性があったからだと思います。
開発だけでなく、チームとしての一体感がMTGや日々のチャットを通して溢れています。
フルスタックエンジニアは基本なんでもできますが、一緒に開発をしていくメンバーの関係性、信頼感までテコ入れはできません。
「どう立ち回ればいいのか」に対する答としては弱いかもしれませんが、「エンジニア間、サービスにおけるチーム間での信頼を築きながら、コンスタントに、貪欲にタスクを通して技術スタックを積む」が最善策のように思います。
まとめ
フクロトジの開発ではフルスタックエンジニアとしてペインを感じることはありません!
あなたもぜひ、将来世界を変える起爆剤となるサービスを生み出すフルスタックエンジニアに。