サーバーサイドエンジニアの私がフロント開発に初挑戦したので、振り返りがてらまとめることにしました。

(構成を考えるのが面倒だったので ChatGPT に質問を考えてもらいました)

Q1: サーバーサイドエンジニアとしての経験はどのくらいありますか?

1.5 年ほどです。弊社にサーバーサイドエンジニアとして入社し、エンジニアとしてのキャリアがスタートしました。Ruby on Rail で業務用の管理画面や API の開発に従事しました 。

Q2: フロントエンド開発に挑戦しようと思ったきっかけは何ですか?

ちょうど弊社で新しくサービスサイトを立ち上げることが決まり、フロントを経験するには絶好の機会ということで、開発メンバーとしてチャンスを与えていただきました。フロント側は元々フロント専任の鈴木さんと私の 2 人だけだったので、たくさん打席を与えていただきました。

Q3: どのようなフロントエンド技術(HTML, CSS, JavaScript, フレームワーク等)を学びましたか?

以前、管理画面を開発していた時に、素の JavaScript を書く機会があったため、TypeScript については比較的すんなりと入ることができました。React については完全に未経験だったので、事前に勧められた『りあクト!』という本で、マルバツゲームを作って手を動かしながら、予習をしていました。後は、ちょうどこの時期に ChatGPT3 が出てきたのはかなりの追い風でした。「こういう実装をしたいが、どう調べればいいのか分からない」というときに、ChatGPT との対話の中で必要な知識を学んでいくことができました。

Q4: 学習の過程で直面した最大の課題は何でしたか?

サーバーサイドからデータを取得してブラウザにレンダリングされるまでの挙動の詳細なメンタルモデルがなかったことで何度も躓きました。都度鈴木さんにデバッグ方法を教えていただいたり、 console.log を挟んでレンダリングの順序を確認して、理解を深めていきました。

Q5: サーバーサイドエンジニアとしてのスキルが、フロントエンド開発にどのように役立ちましたか?

今回の PJ では、フロント側の開発に並行して、サーバー側のメンバーに必要な API を開発していただいていました。その際、サーバーサイドでの経験から、API の修正コストについての肌感覚があったことで、具体的な要望が出すことができました。また、「このロジックはフロントとサーバーどちらで持つべきか」といった課題にも両側の視点を持って判断・提案できるようになってきたような気がしています。

Q6: フロントエンド開発で得た知識や経験が、サーバーサイドエンジニアリングにどのように役立ちましたか?

型安全を身を持って実感したことで、Ruby のコードレビューでも常に型について気にするようになりました。また、フロント側の仕様が頭に入ったことで、API のエラーハンドリングに穴がないかフロント側の視点からも確認できるようになった気がします。

Q7: これからフロントエンド開発を始めるサーバーサイドエンジニアにアドバイスをするとしたら、何を伝えますか?

ChatGPT があるおかげで、初歩的な質問も気兼ねなく聞くことができる時代なので、どんどん活用していくと良さそうです。一方で、たまに嘘をつかれることもあるので、ドキュメントや書籍などで補正していくことも必要そうです。フロント側の視点を得ることができるので、ぜひ機会があれば挑戦してみてほしいです。