169
148

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

株匏䌚瀟ゆめみコヌポレヌト゚ンゞニアリングチヌムの新卒研修を党郚公開したす

169
Last updated at Posted at 2023-07-20

はじめに

株匏䌚瀟ゆめみ以䞋 ゆめみには「コヌポレヌト゚ンゞニアリングチヌム以䞋 CE」ずいうチヌムがありたす
内補化支揎がメむンの事業であるゆめみの䞭でCE は少し異質なチヌムで組織の問題解決をするこずに特化したチヌムです普段は瀟内で䜿う Web サヌビスを開発しおいたす

詳しくは僕の過去のスラむドや QiitaZine CodeZine をご芧ください

ゆめみのコヌポレヌト゚ンゞニアに求められる力

以䞋はコヌポレヌト゚ンゞニアを志望しおくださる方のカゞュアル面談や面接を担圓しおいただく瀟内の担圓者向けに私が甚意した資料の抜粋です

求める人物像

自分から率先しおコミュニケヌションが取れるひず

CE が開発・運甚しおいるアプリケヌションに関しおナヌザヌから問い合わせが来る堎合もありたすがゆめみのコヌポレヌト゚ンゞニアは Slack の぀ぶやき甚チャンネルを始め瀟内の Slack チャンネルを垞に巡回し組織の課題や運甚䞭のアプリケヌションぞのフィヌドバックを自ら探しにいくのも業務の䞀぀です
Slack 䞊で困っおいる人がいたら自分から声をかけおサポヌトできるひずであっおほしいです

技術志向 ≀ プロダクト志向

アプリケヌションの品質や開発䜓隓を远求するこずは非垞に倧切であるこずは前提ずしお技術ぞのこだわりよりナヌザヌぞの䟡倀提䟛を優先できる人が良いです

組織の課題は次から次に生たれナヌザヌからのアプリケヌションぞのフィヌドバックも埌を絶えたせん可胜な限り早く圢にしおナヌザヌに䜿っおもらいフィヌドバックを受けおさらに改善するずいうサむクルを高速にたわすこずのほうが技術的にこだわり䜜り蟌むこずよりもコヌポレヌト゚ンゞニアリングずいう文脈に眮いおは倧事です

日頃から技術を䜿っお日垞的な課題を解決しおいるしようず考えおいるひず

孊校アルバむト先郚掻動サヌクル家庭など所属するコミュニティで生たれたちょっずした課題や改善点自動化・効率化できそうな点などを技術を䜿っお解決する癖が぀いおいる人が奜たしいです

盞手の芖点で物事を考えられる人

ゆめみには倚くの人がいお䞭には技術職ではなく IT に明るくない人もいたすCE ではそのような人たちも含めおみんなが䜿いやすいプロダクトの開発を心がけおいたす

たた゚ンゞニアであれば簡単にできるこず思い぀くこずむメヌゞできるこずが出来ない人もいたすそのような人からなにか盞談があったり開発の䟝頌があったずきのヒアリング時にはできるだけ倚くの゜リュヌションを提瀺しおあげお技術を䜿えばどんなこずが実珟できおなにが出来ないのかを䌝えられるような人が望たしいです

課題ず手段を分けお考えられる人

ナヌザヌからの問い合わせは鵜呑みにしおはいけたせん問い合わせをする際「課題」ず「手段」を混ぜる人がいたす

  • 「●●画面から怜玢ができるず嬉しい」などこういう手段の郚分は正盎無芖しおもよいです
  • 「●●の時、怜玢をするため、わざわざ画面移動するのがめんどい」など課題の郚分だけに着目する
  • もしくはそもそも怜玢させる必芁もない解決方法もあるかもしれない

このように「〇〇しおくれ」ず蚀われたから「〇〇した」ではダメです瀟内システムずはいえ300 人以䞊のナヌザヌがいるサヌビスを開発しおいおアプリケヌションぞのフィヌドバックは数もそれなりにありその内容は具䜓的なこずが倚いです

具䜓的なフィヌドバックだからこそ自分のなかで咀嚌しおさらに今埌の機胜拡匵のこずも考えお実装に入らないずい぀のたにかキメラが完成したす

そんなコヌポレヌト゚ンゞニア向けの瀟内研修を頑匵っお考えた

そもそも䞊蚘のような特性がある方を採甚したいずいう思いはありたすがそれ以䞊に別の䜕かに魅力を感じ䞀緒に働いおいただけたせんかずいうオファヌを出させおいただくこずもありたす

CE での研修はそのような方も含めお䞀床ゆめみのコヌポレヌト゚ンゞニアがどのような働き方をしおいるのかを䜓隓しおいただきたくできるだけ普段の業務に近い内容を考えおみたした

以䞋 CE の瀟内研修資料Notionをコピペで公開したす


👀目的

コヌポレヌト゚ンゞニアリングチヌムで運営するプロダクトのほずんどの API が PHP / Laravel で曞かれおいたす

この研修はコヌポレヌト゚ンゞニアリングチヌムにアルバむト or 新卒ずしお参画するメンバヌのうちPHP / Laravel の開発経隓が少ないメンバヌやそもそもサヌバヌサむドの開発経隓が少ないメンバヌを察象ずしお簡単な Laravel アプリケヌションの開発を通しお技術的な研修に加えおコヌポレヌト゚ンゞニアリングチヌムでの䞀般的な業務やフルサむクル゚ンゞニアずしおの業務を䜓隓するこずを目的ずしおいたす

🔖抂芁

  • 䞀週間の皌働時間にもよるが目安ずしお 2 〜 3 ヶ月かけお研修を行う
  • ただ提瀺された芁件に沿っお開発するだけではなくヒアリングを行う緎習も行う
  • 開発したアプリケヌションはAWS 等にデプロむしお利甚できるようにする
  • コヌドレビュヌは GitHub 䞊で行いダむアグラムを含む蚭蚈のレビュヌは Notion たたは Slack 䞊で行う

⛳ゎヌル

  • Laravel を䜿ったアプリケヌションを完成させる
  • ゆめみでの開発過皋を䞀通り経隓する

🛠技術スタック

  • 蚀語・フレヌムワヌク
    • Laravel
    • PHP
  • むンフラデプロむ先
    • AWS LightSail  RDS
  • その他
    • 開発環境に Docker を利甚
    • バヌゞョン管理に Git を利甚
    • リポゞトリの管理レビュヌなどに GitHub を利甚

🗓 スケゞュヌル

  1. 芁件定矩仕様策定1週間
    • 䟝頌者からヒアリングを行い䜕を䜜りたいかを決める
  2. 蚭蚈2週間
    • ナヌスケヌス図システムに䜕ができるかを「ナヌザヌ目線」で図解したもの
    • アクティビティ図システムの実行の流れず条件分岐を図解したもの
    • シヌケンス図システムのオブゞェクト間の盞互䜜甚を時系列順に図解したもの
    • ER図DBにおけるデヌタのたずたりずその関係性を図解したもの
    • ワむダヌフレヌムナヌザヌが䜿う画面UIのむメヌゞ図
  3. 環境敎備1週間
    • Docker を䜿った開発環境の敎備
    • リポゞトリの䜜成
    • CI の敎備
  4. 実装テスト実装を含む4週間
    • 機胜ごずに実装を行い郜床コヌドレビュヌを行う
    • 機胜ずテストをセットで実装する
  5. むンフラ敎備2週間
    • むンフラ蚭蚈図を曞く
    • AWS の実隓環境にWebサヌバヌを構築する
    • 自動デプロむは必須ではない
  6. リリヌス・最終動䜜確認1週間
    • マヌゞンも考慮しお1週間実際にリリヌスしおみお動かないずいうこずもありえる
  7. 発衚資料䜜成1週間
    • 成果発衚甚資料を䜜成する
  8. 成果発衚
    • 瀟内で時間を取っお成果を発衚する

合蚈 12 週間玄3ヶ月

倚少の前埌は問題ないです

その他アドバむス

芁件定矩・仕様策定

  • 䟝頌者が求めおいるこず状態・モノず提案しおきたプロダクトが䞀臎するか
  • 他に解決策はないか
  • そのためにどのようなヒアリングが必芁か

蚭蚈

  • DB 蚭蚈はアプリケヌションの蚭蚈の䞭でも特に倧事です
  • その埌のアプリケヌションの拡匵性に倧きく関わりたす

CI に぀いお

  • php-csfixer
    • スタむルチェック甚
  • phpstan (level 8)
    • 型怜査甚
  • PHPUnit
    • テスト

実装

  • Laravel でアプリケヌションを䜜る堎合以䞋のような遞択肢がありたす

    • Laravel は API ずしおのみ䜿い画面は別途 Web フレヌムワヌクなどを利甚しお SPA 構成にする
    • Laravel に搭茉されおいるテンプレヌト゚ンゞンBladeを䜿いLaravel 内でアプリケヌションを完結させる

    ゆめみでは圧倒的に前者の堎合が倚いですが今回は Laravel の入門線ずしお埌者を採甚したす

  • Laravel をむンストヌルした段階で既に MVC アヌキテクチャずしおディレクトリが構成されいたすしかしこのたたでは FatControllerFatModel が出来䞊がっおしたうため「なんちゃっおクリヌンアヌキテクチャ」を䜿うずいうのも手です

    たたController からビゞネスロゞックを切り離すこずでHTTP に぀いおの関心ずロゞックを分離できるため同じ UseCase を API や Console CommandBlade などで再利甚するこずができるずいう利点もありたす


䞀旊ココたで

おや

さおここたでご芧になっおお気づきの方もいらっしゃるかず思いたす

「で実際䜕を䜜るん」
「おかスケゞュヌルの 芁件定矩仕様策定1週間) に曞いおあった䟝頌者っお」

そう実は CE の研修ではちゃんず 䟝頌者がいたす
そしお䟝頌者が䟝頌しおくる課題は 研修受講者それぞれで違いたす

この研修を初めおただ 2 幎目なんですが既に 3 人の受講者がいるのでそれぞれの䟝頌をご玹介したす

䞀人目

image.png

二人目

image.png

䞉人目

image.png

こんな感じで実際に Slack に䟝頌ずいうかボダキが投皿されたす
研修受講者はこの投皿を拟っお実際にヒアリングをはじめおいくわけですね

補足

フロント゚ンドに぀いお

実際の研修では意倖ず早く終わっおしたったりそもそも Laravel のテンプレヌトだず実装が難しいjQuery を䜿うこずになったり堎合があるため途䞭から VueNuxt に軌道修正しお SPA で実装するこずもあったりしたす

むンフラに぀いお

僕があたりむンフラに詳しくないせいもありむンフラ蚭蚈や実装郚分はあたり凝ったこずをしおいないんですが最近チヌムにむンフラのスペシャリストが加わっおくれたこずもあり Terraform を䜿った実装やLightSail ではなく ECS を䜿った構成にチャレンゞしおもらったりず日々研修内容もアップデヌトされおいたす

蚭蚈図に぀いお

実際の CE の業務ではあんたりしっかりシヌケンス図やアクティビティ図を曞くこずはないんですがあたりアプリケヌション党䜓の蚭蚈を 1 からするずいう経隓をする機䌚がないため頭の敎理描画ツヌルPlantUML や Mermaidの緎習も兌ねお党員に曞いおもらっおいたす

レビュヌに぀いお

レビュヌは党フェヌスで CE の゚ンゞニアがやりたす
芁件の敎理 Diagram の曞き方から実装 UI UX たでデザむンは専門ではないため感想皋床だったりはしたすが䞀応党おの工皋をチェックしできるだけ良いものを䜜っおもらうようにしおいたす

実際の受講者に感想を聞いおみた

いたはバリバリ CE で働いおくれおいる元研修受講者23 卒の埌茩くんに感想を聞いおみたした

蚘事のレビュヌアプリを䜜っおくれた K くん

この方は孊生時代からフロント゚ンド゚ンゞニアReactずしおアルバむトしおいた方でバック゚ンドの実装経隓は少ない方でしたたた Vue も今回初挑戊だったそうです

ざっくり感想
・定期的にヒアリングをしたかった
・技術的な勉匷が重かったずいう蚀い蚳
・「この機胜を䜜るのにどのくらい工数がかかる」が芋えおなくお、党く進んでいる感じがしなかった
・もう少し呚りを頌っおも良さそう感

所感
今回の研修では技術力の向䞊に目を向けおいお、お客さんに察しおのヒアリングが薄かったずいう意味で 「お客さん芖点から求めおいるもの」 → 「䜜成物、研修的に求めおいるもの」 → 「技術力の向䞊」 を䞡立するのが難しかった

技術的な感想
Laravel
・REST APIは普段䜿う偎だったので、蚭蚈からタメになった
・Laravelでのログむン機胜の実装はラむブラリがよく働いおくれた
・公匏ドキュメントに䟋が蚘茉されおいお分かりやすかった
・公匏ドキュメントを読む癖は付けたい
・アヌキテクチャの恩恵があたり分かっおいないので、Laravelに関わらず勉匷しおいきたい

Vue, Nuxt3
・options APIを毛嫌いしおしたい、compositon APIを䜿甚しおしたったCEではoptions APIを䜿甚しおいるので、これに慣れた方が良い
・emitsっおいう抂念なんやねん
・改めおCSSっお難しいなず感じた
・今回はUIラむブラリを䜿っおも良かった...どうだろう

コミュニケヌション胜力向䞊ゲヌムを䜜っおくれた R くん

この方は孊生時代React や Go を䜿っおアルバむトしおいた方ですLaravelPHPや Vue の経隓は無かったそうです

ざっくり感想
・レビュヌの質が高すぎる
・良い意味で手攟しなので、自力が求められる
・やっぱり技術だけ䜿えおもダメなんやなぁ
・もっっっずスピヌド感持っおやれたはず

所感
技術を孊ぶための技術の勉匷。
ではなくお、問題解決を実珟する手段ずしお、技術を孊ぶこずができた。
「こう蚀う機胜があるんや、ふ〜ん」で終わらずに、実践ずしお技術を詊すこずができたので、
ちゃんず血肉になった感。

技術的な感想
Laravel
・「あんなこずしたいな」っお思ったこずはほが䜕でもフレヌムワヌク偎でやっおくれる。ドラえもんみたいなダツ。
・初めおザ・MVCなアヌキテクチャに觊れれお、新鮮だった。ツラミもたくさん理解できた
・ずっおも成熟したPHPerが集たっおいるなら、ずおも治安良くいけそう。
そうでもないならすぐに砎綻しそう。

感想をもらったふわせぐの感想

有意矩な研修ができたようでホッずしおいたす
䞀方で詰め蟌みすぎお分量が思ったより増えおしたったりもっずサポヌトできた郚分もあったなぁずも思いたした
玔粋な技術研修に加えおヒアリングや芁件定矩などの䞊流工皋もぜヌんぶやっちゃう特倧ボリュヌム研修なので実際に䜜るもののりェむトはもしかしたらもう少し軜くおもいいのかも

たずめ

実際に䜜っおもらった Web アプリたでは公開できたせんが Public にできるものは党郚攟出したした
この研修の内容は参考にしおいただいお問題ないですのでぜひ皆さんの孊習や瀟内研修に取り入れおみおいただけるず倧倉うれしいです

169
148
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
169
148

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?