0
0

More than 1 year has passed since last update.

実践編勉強会_20221120

Last updated at Posted at 2022-11-05

本日の内容

  • 受講生への共有事項
    • 営業サポートについて
  • フリーエンジニアになるために最低限必要なこと
  • rubocopの使い方
  • DBツールについて
  • 時間があったら

受講生への共有事項

  • 営業サポートについて
    • 人工インターン経験が6ヶ月を経過したら営業サポートが受けられます。
    • 営業サポート開始〜案件の獲得までは最低2ヶ月程度みておいてください。
    • 営業サポートへのご案内はこちらからは行っていません。そのため「そろそろ案件探しに入りたい」というタイミングになったら受講生から→スタッフ江草まで「営業サポート希望」のご連絡をお願いします。

〜推奨〜

プライベートや現職の都合で「ある決まった時期までフリーエンジになれない」という方以外は、少々自分の技術力に自信がなくても早めにフリーエンジニアとして現場に出ることをお勧めします。

なぜなら「現場でのチーム開発は効率良くプログラミングスキルを上げれられる絶好のチャンスだから」です💪
(プログラミングを本業にしてしまえば一日中プログラミングができます)

フリーエンジエンジニアとして報酬をいただきながら、次の現場での単価UPを狙っていきましょう。
単価を上げるためには半年〜1年程度で次の現場へ移るのがポイントです。

フリーエンジニアになるために最低限必要なこと

  • Rubyが書ける

    • [現場で意外と出番が多いなと感じたこと] 配列の操作、hash配列の操作
    # 配列
    ['a', 'b', 'c']
    
    # hash配列
    [
        { name: 'suzuki', age: '20', address: 'tokyo' },
        { name: 'tanaka', age: '39', address: 'tokyo' },
        { name: 'watanabe', age: '35', address: 'kanagawa' }
    ]
    
  • Railsが書ける

    • DRYなコード, メンテしやすい, 何をしているかがわかりやすい(読みやすい)メソッド名, 適度に[#コメント]を残す
  • 未経験のgemを、gemのREAD MEや公式ドキュメントを読みながら使用することができる

  • 既存コード(他人が実装したコード)を読むことができる(現場に入ったらまずこれ)

  • 環境構築ができる

    • 最近はDockerが使われている現場が多い
      • Dockerの設定(Docker.file, docker-compose.ymlの記述)はできなくてもDockerコマンドが使えればひとまずOK
    • ちなみに環境構築の手順は現場ごとにマニュアルが準備されていることが多い
    • 環境構築のマニュアルがない現場は他のドキュメントも揃っていない可能性大。このような現場で積極的にドキュメントを用意してあげるとPMや自分より後から入るメンバーに喜ばれると思います
  • 文字(チャット)を使ったコミュニケーションができる(要件を簡潔に伝える)

  • 口頭でのコミュニケーションができる(要件を簡潔に伝える)

    • ダラダラと回りくどい話し方は嫌がられる
  • 進捗報告ができる(予定期日より遅れそうな時こそ報告が大事)

  • Gitが使える(Git操作は基本中の基本)

    • commit, push, コンフリクト修正, PR作成 etc.
    • 自分以外の人が作ったリモートブランチをローカルにコピーする
    • 必要なコミットだけcherry-pickする
  • RSpecが書ける

    • 人工インターンで少し触れておき、現場では調べながら書ければOK
  • ある程度の自己解決能力(現場のエンジニアは皆自分のタスクで忙しいので、自分の問題はできるだけ自分で解決を目指す)


フリーエンジニア養成コースを修了したばかりのレベル感のエンジニアに、Dockerの設定やインフラ関連(AWS)の設定を任せることは基本的にはありません。

既にRailsをある程度攻略して余裕のある方は今の段階からどんどんAWSやフロント技術(React、Vue)に挑戦するのも良いですが、そうでない方はまずはRailsエンジニアとして現場に出ることを目指しましょう。

rubocop の使い方

...その前にVSCodeでの便利な検索方法について共有

rubocopとは?
Lintツールのこと。
事前に設定したコーディングルールをコマンド実行により自動で確認してくれる便利なもの。

例)

  • '(シングルクォート)ではなく"(ダブルクォート)を使いましょう
  • 一行は100文字以内としましょう
  • ブロックは {} ではなく do end で囲いましょう

これらのルールは
.rubocop.yml に定義されています。

--- コマンド$rubocop 実行でrubocopに怒られたら? ---
rubocop.ymlに記載されているルールに沿って自分の記述を修正します。

--- もしどうしてもルールを守れない場合は? ---
該当の記述箇所のみrubocopチェックをスルーする記述を追加する。
https://qiita.com/tbpgr/items/a9000c5c6fa92a46c206

※このような場合に .rubocop.yml に定義されているルール自体を書き換えるのは基本的にはNGです。
ルール自体を書き換えてしまうとルールの意味がなくなってしまうからです。

DBツールの話

DBツールとは?

DBのデータを見やすくしてくれるGUIツール。
rails cを起動しなくてもDBの中にどのようなデータが入っているか確認することができる。
現場でよく使う。

  • 例)Sequel Ace(まずはPCにインストール)
  • Docker起動してからSequel Aceを起動
  • 設定追加したらconnect実行

[注意点]
DBツール(今回の場合はSequel Ace)からは基本的にはデータのcreate, update, deleteは行わないようにしましょう。

Railsプロジェクトであれば、データの操作はrails cから行うことが推奨されます。

さてなぜでしょう?

時間があったら

0
0
0

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
0
0