ライトコードに新卒入社してからの1年を振り返る【株式会社ライトコード】
弊社エンジニアの記事になります。
はじめに
こんにちは!昨年の4月に新卒入社しました「みや」です。入社してからもうすぐ1年が経とうとしているので、今までやってきたことを振り返りも兼ねてご紹介したいと思います。
入社してから今までやってきたこと
入社してから今まで、上記のように研修 > OJT > プロジェクト参加のフローで業務を行いました。では、順に内容をご紹介いたします。
4~6月【研修期間】
ほぼ未経験で入社したので、4~6月の研修期間は、Webの基礎知識を身につけ、プロジェクトに参加できるレベルまで持っていくことが目的でした。研修期間は2人のメンターの方についていただき、サポートしていただきました。弊社はリモート出社の社員が多いですが、私の研修期間は週に2,3日ほどメンター陣に対面でレビューや相談にのっていただきました。また、毎日30分ほど相談会を設けていただき、わからない部分や知りたい部分などをクリアにすることができました。それでは、研修期間に実施したことを簡単に紹介します。
静的サイトの作成
まず、書籍「1冊ですべて身につくHTML & CSSとWebデザイン入門講座」(Amazon)を教材にして、HTMLとCSSの学習をしました。1周書籍を見ながらサンプルサイトを作成し、その後もう1周書籍を見ずに同じサンプルサイトを作成しました。こちらの書籍を2周した後は、弊社が携わっているサービスサイト(静的サイト)を模写するタスクをGitHubでコードレビューを受ける形で実施しました。HTMLとCSSのアウトプットとGitの使い方の学習ができました(Gitの学習はLearning Git Branch も参考にしました)。
学んだこと(一部抜粋)
- セマンティックなHTML
- 適切にHTMLタグを使うことで、SEOに強いと言われている。可読性も向上する。
掲示板の作成
次にCRUD機能を持つ掲示板の作成を行いました。最初にDockerでLAMP環境を構築する部分から始めました。Docker?LAMP環境とは?という手探りの状態だったので、環境構築には悪戦苦闘し、最終的にはメンターにサポートいただき、ペアプロを実施し解決しました(今でも環境構築周辺の知識が乏しいので、本腰を入れて勉強しなくては)。環境構築後は書籍「よくわかるPHPの教科書 【PHP7対応版】」(Amazon)や書籍「スッキリわかるSQL入門」(Amazon)を参考に、素のPHPとHTML,SQLを用いて掲示板を作成しました。この時も1度書籍を見ながら掲示板を作成した後に、書籍を見ずに同様の掲示板を作成、GitHubでレビュー依頼することで学習した知識をアウトプットしました。このとき、CSSフレームワークを初めて使い、Tailwind CSSの便利さに驚いたことを覚えています(daisyUIを使っていました)。
学んだこと(一部抜粋)
- Dockerイメージ
- docker hubの公式イメージをそのまま使うなら、Dockerfileを作成する必要がない。公式のイメージに加えて新たな設定をする場合はDockerfileを作成し、ビルドする必要がある。
- RESTful API
- 掲示板で例えるなら、「GET /posts/ で全ての投稿を返す。POST /posts/ で新しい投稿を作成する。 id=1のpostを取得したい場合は、GET /posts/1 ...」のように、リソースでURLが決まるようなAPIの種類。
- わからない時の調べ方
- まず、公式を見る!を癖づける。記事などは公式の後に見るイメージ。どこのサイトの記事/どの人が書いた記事がどれくらい役に立ったかを覚えておくと良い。
- Gitのブランチ戦略
- こーさんの記事を参考にしました!
掲示板の機能追加
次は、掲示板に「いいね/リツイート/返信機能」をつけたり、ユーザ毎の投稿画面を作成する機能追加の課題に取り組みました。テーブル構成やいいね/リツイートボタンの実装などを自分で1から考えました。まだこの時、非同期処理の知識は持っていなかったので、苦戦したことを覚えています。また、余計なSQLクエリを発行してしまうN+1問題にも直面しました。そのおかげで、DBへのアクセス回数を気にすることを意識できるようになりました(最近のタスクでDBアクセスを減らせる実装をレビューいただくまで気が付かなかったので、まだまだ意識が足りないですね)。
学んだこと(一部抜粋)
- 質問のタイミング
- 自力で解決する姿勢を大切にしつつ、うまくいかなくなった時点で相談することで無駄な時間を減らす。15分ルール(自力で15分調べてわからないことは質問する)も意識する。
掲示板の移植
次は作成した掲示板をPHPのフレームワークであるLaravelに移植する課題に取り組みました。Laravelの基礎知識以外にも、MVCモデル、マイグレーションの運用方法、HTTPステータスコード、GitHubでのプルリクエストの出し方などWebエンジニアとして必要な知識を学習しました。Laravelを使うことで、素のPHPで書いていた掲示板がすっきりと簡単に書けることに驚いたことを覚えています。
学んだこと(一部抜粋)
- 認証と認可
- 認証はユーザが誰であるか検証すること。認可はユーザがアクセスできるリソースを決定すること。
- ミドルウェア
- ユーザがらのリクエストの処理をする際、その前後に前処理/後処理を加える部分。Laravelではミドルウェアの登録をkarnel.phpで行っている。
- DHH流のコントローラの書き方
- コントローラのアクションをデフォルトのCRUDアクションに限定し、デフォルトにないアクションを用いたい場合は新しいコントローラを作るような書き方。コントローラの肥大化を防ぎ、RESTfulになる。
ここまでで3ヶ月間の研修期間は終わりました。Web基礎知識から、Laravelで掲示板を作る部分まで学ぶことができ、2人のメンター陣にサポートいただくことでわからない部分をすぐクリアにすることができました。
7~9月【OJT】
研修期間を終えて、7月からOJTの形でプロジェクトに参加しました。参加したプロジェクトはLaravelとVue.jsを用いているサービスの開発・保守を行っていました。OJT期間もプロジェクトメンバーの1人にメンターになっていただき、毎日30分程度の相談会を設けていただきました。わからない部分や困ったことなどはその都度チャットベースで質問できますが、口頭で質問した方が伝わりやすいことなどを相談会で相談できて良かったと感じます。では、OJT期間でやったことを紹介していきます。
…
記事の続きは下のリンクをクリック!
https://rightcode.co.jp/blogs/44516
エンジニア積極採用中です!
採用ページはこちら:https://rightcode.co.jp/recruit
エンジニア、デザイナー、営業など積極採用中です!
社長と一杯飲みながらお話しませんか?(転職者向け)
特設ページはこちら: https://rightcode.co.jp/gohan-sake-president-talk
もっとワクワクしたいあなたへ
現在、ライトコードでは「WEBエンジニア」「スマホアプリエンジニア」「ゲームエンジニア」、「デザイナー」「WEBディレクター」「エンジニアリングマネージャー」「営業」などを積極採用中です!
有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。
- もっと大きなことに挑戦したい!
- エンジニアとしてもっと成長したい!
- モダンな技術に触れたい!
現状に満足していない方は、まずは、エンジニアとしても第一線を走り続ける弊社代表と気軽にお話してみませんか?
ネット上では、ちょっとユルそうな会社に感じると思いますが(笑)、
実は技術力に定評があり、沢山の実績を残している会社ということをお伝えしたいと思っております。
- ライトコードの魅力を知っていただきたい!
- 社風や文化なども知っていただきたい!
- 技術に対して熱意のある方に入社していただきたい!
一度、【Wantedly内の弊社ページ】や【コーポレートサイト】をのぞいてみてください。
【コーポレートサイト】https://rightcode.co.jp/
【採用募集】https://rightcode.co.jp/recruit(こちらからの応募がスムーズ)
【wantedlyぺージ】https://www.wantedly.com/companies/rightcode