未経験だけどLaravelとVue.jsの開発業務を始めてみた

 
ブログに足をお運びいただきありがとうございます🙇‍♀️
エンジニアの村西です。
 
現在はLaravelやVue.jsを使って日々アプリ開発をしていますが、
前職ではC#を使った開発を1年半ほどしていました。
 
今転職を考えている方の中には、経験のない言語技術を選択しようか迷っている方もいらっしゃるかもしれません。
業務未経験の中飛び込んでみてどうだったか?思い出話にはなりますが、振り返ってみようと思います。
 
目次

入社以前の技術スタック

ユーティルへ入社する前は完全にMicrosoft系の技術に浸かっていました🤿
SPAやAPIの開発などに関わる機会はありませんでしたが、Webアプリの開発に携わっていた経験が転職後も役に立ったと思います。

入社して

初めの日

前日までC#を書いていて、翌日からPHPで開発を始める。そんな感じでした。
 
一番最初に苦労したのは、Vagrantを使った環境構築でした。(現在の開発環境はDockerに置き換わっています。)
ansibleやcomposerなどこれまで触れてこなかったので、エラーを出しながら悪戦苦闘していました😇

次の日

LaravelとVue.jsが未経験ということで、幹事と似たような構成の練習用プロジェクトを先輩が用意してくれていました。
 
機能の要件やレイアウトを説明され、あとは幹事のコードや公式ドキュメントを参考にしながら作ってみて〜、とのこと。数日かけてレビューと修正をしながら完成させました。
 
記事投稿の管理画面をVue.jsで、APIをLaravelで作るようなお題だったと思います。
 
Laravelを触っていて感じたのが、「ネット上の情報量の多さ」でした。
少し検索すると日本語の技術記事に行き当たることができる。開発がしやすいと感じました。これが案外、ASP.NETをやっていると当たり前ではありませんでした。
公式で用意されている機能やクラスが豊富なため、それを取り巻く情報も多くネットに流通しているのかな?と思います。
(単純にASP.NET Core MVCなどの名称に検索性の問題があったのかもしれませんが….。)
 
公式ドキュメントが読みやすくてGood👍
↓(どちらが好み?)
 
Vue.jsはというと、v-bind:やv-on:のようなディレクティブをHTMLにキメラしていく書き方はASP.NETのMVVMでもあったのと、個人的にReactやReduxを触っていたことも助けになり、参考を見ながら実装を進められたと思います。

その後

幹事サービスの改修タスクに取り組むようになりました🎫
ヒアリング予約機能や、制作会社の申請&登録&掲載機能などなど。
当時のシステム幹事はスモールスタートした後で未実装の機能が様々あったので、作業をしながら幹事サービスのコードに慣れていきました。

転職時期の取り組み

転職時期に、個人的に技術習得のため何をしていたか思い返してみました。
基本的には業務で扱ったことのない技術について触る機会を作るようにしていたと思います。

SPA(Single Page Application)というものを知る

初めてSPAに触れたのは、実はC#がきっかけでした。
JavaScriptを使わずC#でSPAを構築できる「Blazor」が登場したことを知り、趣味で触ってみることにしました。
「Flappy Bird」風の簡単な横スクロールゲームを作るチュートリアルをネットで見つけて作っていました。
 
その後にReactを試してみましたが、先にSPAはこういうものという体験をしていたため、いきなりReact+Reduxに挑戦するよりハードルが下がったと思います。
Vue.jsとVuexは触ったことがありませんでしたが、類似したフレームワークに触れていたことが業務開始後の助けになりました。

APIであれこれ試す

SPAでフロントを作れるようになったら、じゃあAPIを作ろう、ということでまた色々なチュートリアルやサービスを試していました。
 
FirebaseのCloud Functionsや、ヘッドレスCMSなども触りつつ理解する機会になりました。
また、DBの違いって何?NoSQLとは?など興味が湧き、ついでにORMも使ってなかったから試してみよう、などなど。ネットの説明を見てもよく分からないから使ってみるかー!それぐらいのノリです。
 
(ちなみにそれまではSqlClientでADO接続を開いて、SQLを叩いてモデルにマッピングしていく、原始的な手法をしてました。笑)
今はLaravelのEloquentを使っていますが、さまざまな手続きを簡略化してくれる良さが分かりつつ、SQLの知識が役に立つ場面もあります。

日々の情報収集

ソーシャルメディアの中でもYouTubeをよく利用していますが、お気に入りのLaravel系チャンネルがあります。
 
個人的にはLaravelおじさんと呼んでいます。笑
毎日のようにtips動画やコードレビュー動画を投稿されています。少し前にはLaravelのコントリビューターにもなっていました。
本格的に学ぶときは手を動かす必要があると思いますが、短い時間で情報が得やすく、よく目にするメディアに技術情報が流れてくるようにするのも一つの手だと思っています。
 
(ちなみにC#おじさんもいます)
 
Vue.jsおじさん募集中です。

振り返って思うこと

未経験からエンジニア転職した経歴や、違う言語技術に転向したことから「どうやって勉強したの?」と聞かれることもあるのですが、特別な手段があったようには思いません。
(あまり不安にも感じていなかったので、そういう性格なのだとは思います…😓)
 
エンジニアになりたての時から、まず「1つの処理を通す」ということを考えるようにしています。
  1. 1つの処理が読めるようになる。
  1. 1つの処理が書けるようになる。
  1. 複数の処理が読めるようになる。
  1. 複数の処理が書けるようになる。
 
言語技術が変わってもやることは変わりません。1つずつできることを増やしていくこと。
他の言語技術の経験があれば、その類似点から知識をコンバートしていくのは、0→1の習得をするよりも容易です。
少しずつベースを高めていけば、また新たに不足している知識や技術に気づいたりチャレンジするタイミングが自ずとやってきます。
 
そうやって失敗したり成功したりするのを繰り返すことに飽きない、それが勉強の秘訣なのかな?と思っています。

終わりに

いかがでしたでしょうか?
自分の技術スタックと違う…そう思っている方も、実践しながらできるようになりますので大丈夫です!
事業の成長とともに自身も成長させていきたいという方、ユーティル開発部一同でお待ちしております!