新卒エンジニア(コロナ禍)とフルスタックエンジニア


概要

今回は、世間でコロナ禍が始まったと同時に僕が新卒としてフルスタックエンジニアになりそろそろ2年が立つので、同じ境遇の人やこれからフルスタックエンジニアになるかもしれない人向けに個人の感想をまとめます!

バックグラウンド

まず、簡単に作者のバックグラウンドを話しておくと、
ストレートで情報系の大学院まで行き、「まあ学費で借金したことだし働くか」「ユーザに何かしらポジティブな体験をしてもらいたい」「まあwebなら永遠に作ってても飽きないから仕事にするか」などと不純な気持ちから東京に出てきた、現在2年目の新卒で入ったWebエンジニアです。
つまり、吾輩は26歳である。名前は「ito-run⚡️(いとらん)」で通ってます。
ちなみに新卒エンジニア・スタートから同時に世間はコロナ禍に突入しました。

ノリでなったフルスタックエンジニア

Aidemyという企業に参加しておりフルスタックエンジニアとして働いてます。当初はフロントエンドの経験の方があり「まあフロントエンドもバックエンドもわかると、サービス理解しやすいよな。まあ座学としてはバックも知ってるし、伊藤うごきます。」と半分くらいノリでフルスタックエンジニアになり、サービスを作れたらいいやぐらいでした。が、現在フルスタックエンジニアとしてサービスを両方見れるのは自分としてはアツいものであることを実感しています。なので、良いところと良くないところを自分なりまとめてみます!

[フルスタックの良さ]
 全員がサービスの全体をみれる

しっかり機能について共有できていれば、チーム内で開発やバグ対応ができる人が増えるということです。
1チームに参加できるメンバーはマネジメントしやすいものとしてピザ1枚分を分けられるサイズという話が有名なのですが、その中でフロントエンドとバックエンドの専任を作ってしまうと必然と対応できる人が減ります。また、チーム内で開発・バグ対応や知識の共有において議論もしづらくなります。
もしチーム内の全メンバーがフルスタックエンジニアであると開発・バグ対応できるメンバーは増え、知識の共有もしやすいです。
これは、サービスを育てないといけないタフなチームにはこの構成がすごい生きているのではないかと思います。(他のチームを体験したことがないので個人の感想)そういう意味で、属人化しにくいチームを作りやすいのではないかと思います。

[フルスタックの良くなところ] 
開発やバグ対応など一人で対応できてしまう

しかし、属人化においてフルスタックエンジニアは万能ではないと思ってます。それはというと開発やバグ対応など一人で対応できてしまうという点です。
できてしまうということは機能開発やバグ対応が終わると個人として、事象としては一旦収束してしまいます。つまり良くないケースとしては、個人ごとに属人化した知識がどんどん溜まっていってしまうことです。
これに関してはしっかり開発やバグ対応などの対応前・対応中・対応後のどこかで共有できる仕組みはチーム独自のものとしてあるべきだと思います。

[フルスタックの良くなところ] 
フロントエンドとバックエンドを両方見る大変さ

良くない所として、コードを書く上で結構タフな場面もあるところです。

まず、スキルセットとしてフロントエンドとバックエンド、両方理解できないといけないところ。
これは徐々にメンバーが開発に参加できるようにペアプロやモブプロすればいける気もします。ですが、やはりメンバー自体の向き不向きも必然的にあると思います。
僕はチームに「フロントエンドをメインでバックエンドはサブ的にみます」と宣言し少し逃げてます!笑 ですが意外とフロントエンドよりのフルスタックなんてやっていると人少ないんじゃないかと思いおいしいと思っています。コード上で設計して書くのは総じて好きなのですが、やはり視覚的に表現する部分が特に好きなのでそれは許してほしいです!


もう一つは、個人の中でフロントエンドとバックエンドをスイッチして作るので、フロントエンドとバックエンドにメンバーが別れて対応するより、個人の脳内でのスイッチングコストが高いし、他のメンバーとの共有が発生しずらいことです。

以前業務上でやってしまったのですが、フロントエンドとバックエンドをスイッチすることが大変すぎて、メンバーやPMに相談することができなかったんですね。これは個人的にもチーム的にも相談しずらかったことが当時はあったからです。(今は減った。)
あと個人的にスイッチすることに必死でそもそもチーム内での相談を疎かにしたこともあると思います。これもチーム内で共有しやすい環境をいい意味で強制的に作れば良い話ですね。
また、最近はNext.jsのような1つのディレクトリでコードを作ってしまうという方法もあるので、構造的にフロントエンドとバックエンドを分けて作るというようなスイッチングコストも減りそうです。

まとめ

ここまでざっと話しましたが、僕にとってフルスタックエンジニアは「これが流行りかー」というノリでなったもののサービスを作る上ですごいためになる経験になっています。
今後もフルスタックエンジニアを乗りこなしていきたいという所存ですという話でした。

今度は、「会社で働いててこの考え方良かったな」や、「やっぱデザイン好きだな」とかの今後やりたいことの話もまとめれたらと思います!
それではまた!

この記事が気に入ったらサポートをしてみませんか?