webエンジニアになってから1ヶ月が経ちました。
これまでの所感などを書きます。私の自己紹介については下記の記事をご覧ください。
https://qiita.com/aliveIke/items/f947d316d3a4300dc65f
概要
- どのようなことをしたか
- どう感じたか
- 今後に向けて
どのようなことをしたか
仕事の経過を記述します。
0週目 打ち合わせ
今やっている案件の打ち合わせをして、自分がどのように仕事を進めていくのか決めました。
まずはモデルとなるwebサービスがあるので、そのデザインや機能をひたすらコピーすることからはじめることになりました。
この時点で社長から「10月までに普通のエンジニアの数年分くらいの仕事をするから」と言われ、不安も感じましたが、「やってやるぞ!」と奮い立ちました。
1〜2週目 フロントエンドの業務
まずは必要なページをリストアップしました。案件のモデルとなるwebサービスがあったので、そこからビューを引っ張ってきました。
驚いたこととしては、参考にしたwebサービスをみると、CSSで要素を並べたいときに自分が多用してたfloat
をほとんど使ってなかったことです。ほとんどflex
がgrid
を使いました。使ってみると同じスタイルをつくるにしてもflex
の方が親要素に一回書けばいいだけなので楽だなあと思いました。
今この業務を振り返ってみると、画像やアイコンも同じものでコピーしようとしていましたが、どうせ本番になったら同じものを使うはずがないので、あまり必要ない業務もしていたなと感じます。
3〜4週目 バックエンドの業務
ブラウザで表示されている内容から必要なデータを洗い出してデータベースをつくりました。
またメッセージ送信や検索機能など、必要な機能をLaravelを使って実装していきました。ビューページで動的に変更したいところはAlpinejsを主につかっていました。
バックエンド実装のときにChatGPTとCopilotにはとても助けられました。
例えばデータ設計でChatGPTを使えば、テーブルに必要な要素を書いておいて「このテーブルになるようなmigrationファイルを提案してください」と言えば出力してくれます。これをmigrationファイルにコピペしてmigrateするだけでした。もしパッとみて馴染みがないデータ型であれば調べて、必要があれば修正しました。
コントローラの記述でも「SellerのServiceのidと一致するReview のデータを取り出したい」という旨の質問をしたときに、pluckやwhereInがでてきたので、そこではじめて知ったメソッドもありました。
5週目〜現在 プロダクトマネジメント
コピーしたものをもとに、今回の案件に必要な機能や絞り込んでいきました。
残り1ヶ月でリリース予定だったので、それまでの進行表をつくっていきました。また案件で中心となるシステムや、力を入れたい機能など選別していきました。
プロダクトの方向性を考えてく過程ではコーディングとは違う頭の使い方をしました。具体的にサービスを使う人がどんなことに注目するのか、どんなデータがあった方がいいのかなど、明確に答えが決まっていない分野だったので、難しいと感じることが多かったです。
どう感じたか
エンジニア1ヶ月目とても楽しく過ごしています。理由は以下の通りです。
- 案件の開発をほぼ任されており、モチベーション高く仕事ができている
- 人間関係で一切悩まない。現状唯一の仕事仲間は社長だが非常に聡明でストレスがない
- 持病のナルコレプシー(どこでも寝る病気)があるが、それで人に迷惑をかけることがほとんどない
- おそらく適性があり、ずっと仕事してもそれほど苦ではない
あと自分が辛くなく続けられている理由としてChatGPTとCopilotの存在は非常に大きいと思います。
わからないことがぼんやりしててもChatGPTに質問を繰り返していると、自分がわかっていない知識の方向性がわかってきますし、内容を考えていること自体が問題の整理になってきます。
Copilotもモデルのリレーションなどはかなり正確にやってくれるので、データベースができた状態だとモデルにpublicと書くだけで予想してリレーションを書いてくれます。
逆にChatGPTとCopilotのない時代の新人エンジニアの方はとても大変だったんだろうなと思います。
今後に向けて
-
かなりの部分をChatGPTに聞いているので、技術力がついているのか不安に感じることが多いです。webサービスの主要な機能はきちんと理解できるようにしたいと思います。
-
社長としては今回自分を雇ってモデルケースにして、未経験の人でも雇えるような土壌を作りたいそうです。順調にこのまま進んであと3、4ヶ月たったら次は自分が教育係になって次の人を教えるかもしれないので、それまでに順当に技術力をつけていきたいです。
-
スクールのメンターだったtom(@tomoya_y0shida)さんに「エンジニア1年目でやっておけばよかったと思うこと」を聞いたところ「英語でドキュメント読んでおけばよかった」とのことだったので、英語での読み書きに慣れるようにしていきます。
-
今後も研鑽を怠らず、しかし焦らずできることを増やしていきたいと思います。