お疲れ様です。
メディアクリエイション事業部 開発課のモンです。

初めてブログを書くので、ワクワクしています!
このブログを通して、私のキャリアストーリーや仕事への意込みをお伝えしたいと思います。

自分のキャリア背景とバックエンドエンジニアへの転身理由

私は2022年にフロントエンジニアとして、Zenkenに中途入社しました。

入社当初は戦略的コンテンツマーケティングにおけるサイトコーディング作業を中心に担当していました。
現在はバックエンドの開発プロジェクトにも参加し、新しい領域に挑戦しています。

元々HTML、CSS、JavaScriptの経験があり、主にフロントエンドのウェブ上で見える部分の作業を中心に行っていました。
WordPressの作業も少しだけ経験があるため、WordPressテーマの改修や動きのあるギミックの実装にも携わり、ユーザーとインタラクションができるWebサイト作成を行いました。

その後集客メディアサイトの実装にも関わり、サイトリニューアル対応や新機能の開発を担当しました。
JavaScriptを用いて絞り込み機能、カテゴリー検索機能など改修作業や新規案件の実装に取り込みました。

しかし、プロジェクト全体の流れを理解し、より包括的なスキルセットを持つためにはバックエンドの知識が必要だと感じるようになりました。

そのため、Web全般の知識を深めたいという決意から、今年から本格的にバックエンド開発に転身し、開発プロジェクトに参加することになりました。

フロントで習得したスキルと転身前の準備

現在は主にCakePHP4を使用したプロジェクトに携わっています。

CakePHPは今回初めて触れたフレームワークですが、オープンソースでありながら非常に洗練された機能が多く、特に開発の効率を高めるためのツールが充実していると感じています。

開発プロジェクトの初期は、WordPress関連の業務に従事し、LPページの改修作業を担当していました。

この時期には、プロジェクトの基準構成やサイト全般のプロセスを理解することに努めました。
その他、CakePHP4公式サイトのチュートリアルを活用し、基礎知識を深めるよう準備しました。

また、AWSなどのクラウドサービスの活用やデータベースのER図(※データベース設計で利用する設計手法のこと)の理解、システム開発で使用するバージョン管理ツールGitの運用管理に関しても学ぶ必要がありました。

挫折とその克服法

CakePHPのプロジェクトに初めて取り組む際、QueryビルダーというCakePHP特有の構文やメソッドに慣れていなかったため、データ取得と実装がうまくいかないことや要件の認識にズレが生じることがありました。

また、これまで一人で実装を担当していたため、複数人での開発においてバージョン管理に慣れるのに苦労しました。
チーム開発では、他のメンバーとのコミュニケーションや調整が不可欠だと学びました。

特にソースコードのバージョン管理においては、異なるバージョンのコードを間違ってマージしてしまったり、コンフリクトされて解消に時間がかかることがよくありました。
これにより、開発の進行が遅れるなどの影響が出ました。

このような状況を改善するために、自分の現状を上司に相談し、多くのアドバイスをいただきました。

技術スキルの向上には、先輩方からの参考資料の共有やレビューを受けることで、少しずつ進められるようになりました。

また、要件の漏れについては、上司からの説明を受けたうえでドキュメント化し、認識を合わせるよう努めました。
最初はこまめに質問し、自分が理解した内容を確認することで、認識のズレを防ぐよう心がけました。

エンジニアにとって、自己学習も非常に重要だと思います。
新しい知識やスキルを積極的に習得することで、自信を持てるようになり、徐々に成長していくことができました。

日々、新しいチャレンジと興奮を感じながら取り組んでいます。
2週に1回の開発定例ミーティングでは、課題や悩みを共有し、アイディア交換やナレッジシェアを行っています。

このミーティングを通じて、チーム全体で問題解決に取り組むという信念のもと、意見をぶつけ合い、励まし合いながら、より良い成果を目指しています。

成功体験と得たもの

このプロジェクトを通じて、個人的な成長を実感しました。
チームワークと技術面でそれぞれ学びがあり、それらが成長につながったと思います。

チーム全体としても、定期的なミーティングを通じてチームメンバーとのコミュニケーションがより強化され、様々なアイディアの交換が行われました。

また、課題に対しても互いにサポートし合いながら効率的に作業を進める体制が整い、チームワークの重要性を改めて実感しました。

技術的なスキルについては、特に大きな成長がありました。
実際のプロジェクトに携わることで、言語やフレームワークの効率的な利用方法、サーバーやデータベースの理解、作業の効率化に関する知識が深まりました。

これらの経験により、技術的な理解とスキルが大幅に向上したと感じています。

また、新しい技術に挑戦し経験を積むことで自信がつき、問題解決能力が向上しました。

具体的には、直面した課題を冷静に分析し、適切な解決策を見つける力が強化されました。

その他、要件定義から設計、開発、プロジェクトの進行管理を通じて、効果的なタイムマネジメントの方法を学ぶことができました。

最後に

これからもスキルをさらに磨き、より優れたエンジニアを目指して努力を続けたいと思います。

特にバックエンド開発では、CakePHPのさらなる習熟や高度な技術への挑戦を計画しています。
最新の技術やベストプラクティスを学び、実践を通じて知識を深めていくことを目指しています。

このブログが、皆さんのキャリアに少しでも役立つヒントやインスピレーションを提供できれば幸いです。

どんな仕事やプロジェクトにも困難やチャレンジがつきものですが、壁にぶつかったときは周囲のサポートを活用し、積極的に新しい技術や知識を学び続けることが大切です。

困難を乗り越えた先には、必ず成長と成功が待っています。

おまけ:学習したリソースなど

アイコン CakePHP公式サイト

アイコン オンラインプログラミング学習サイト「Tutorials Point」内CakePHPのページ

※とにかく公式サイトや、Google検索やChatGPTに聞くなどして勉強しました!