本記事の内容はこちら
・この記事の信頼性
・客先常駐の初日の流れ
・環境構築の流れ
・初日から数日間で「やるべきこと」8選
この記事の信頼性
こんにちは。Web系エンジニアのカズです。数年前に未経験からプログラミング学習を始めて転職し、現在は単価80万円~90万円の案件を受注して活動しているエンジニアです。
エンジニア歴は約7年になります。
私は新人の頃は、客先常駐(SES)からスタートしてこれまで多くの現場に出向して経験を積んできました。
初めて出向する時は1人で出向して、とても緊張したのを今でも覚えています。私はこんなことが不安でした。
初出向の時の不安
- 具体的に何をすれば良いのか、分からない
- 自分の技術が通用するのか、分からない
客先常駐の初日の流れ
①待ち合わせした時間に、常駐先の現場に出向する
②現場の営業またはチームの方が、出迎えてくれる
③オフィスに入り、チームメンバーに挨拶する
④PCを受け取る
⑤PCをセットアップする
⑥PCセットアップが完了し、翌日から業務開始
①待ち合わせした時間に、常駐先の現場に出向する
②仲介企業の営業の方、または現場の方が出迎えてくれる
③オフィスに入り、チームメンバーに挨拶する
④PCを受け取る
⑤PCをセットアップする
・メールアドレスの確認(初期で既に設定されている状態が多い)
・アカウントの作成(Github, プロジェクト管理ツール, チャットツールなど)
・環境構築(ツールのインストール, 開発環境の構築)
・リモートワークの設定
主にこのあたりのセットアップ。
環境構築についての詳細は↓で解説します。
⑥PCセットアップが完了し、翌日から業務開始
初日でセットアップを完了させている状態が望ましいです。
初日から数日間で「やるべきこと」8選
①環境構築を完成させる
②勤怠管理の確認をする
③ドキュメント類の確認をする
④プロジェクト全体の進捗具合の確認をする
⑤タスクの振られ方の確認をする
⑥開発中のサービスの、おおまかな概要を理解をする
⑦ソースコードの内容を、おおまかに把握をする
⑧リリースのフローを確認をする
①環境構築を完成させる
環境構築とは、プログラミングに必要な「開発環境」を構築することです。
現場初日~数日間で、環境構築を終わらせることが1つの目標になってきます。
環境構築について「ツールは何を使用しているか」「環境構築に関するドキュメントがあるか」を事前に聞いて取り組みましょう。
環境構築の流れがわかってもらえるように、最近のメジャーな環境構築の例を挙げてみます。(実際、ツールは現場に指定されたものを使用します。下はあくまで参考例です。)
環境構築(参考例)
- Gitの準備
- Sourcetreeの準備(初心者向けの視覚的にGitを管理しやすくしたもの)
- エディターの準備(Vscode, Atom, PHPStormなど)
- DB管理ツールの準備(WindowsならA5:SQL MK-2)
- プロジェクト管理ツールの準備(Backlog, Jira, Redmine)
- Dockerまたはvagrantなどの仮想環境用プラットフォームの準備
- プロジェクトのソースコードをローカル環境にプルする
- 仮想環境をコマンドで立ち上げ、起動する
- DBの接続確認をおこなう
- 開発環境で起動した画面が閲覧できることを確認する
Sourcetreeは必須ではないです。
最終的な環境構築のゴールは、現場が開発中のシステムやサービスを開発環境の画面で見れる。ソースコードが見れる状態です。あとはソース変更内容をpushできることも確認しておきたいですね。
エディターの準備
代表的なものはVscodeですね。私もVscodeを使用します。
エディターを自分の使いやすいようにセットアップしましょう。その際に、エディターに入れておきたい拡張機能があります。
エディターに入れておきたい拡張機能は、ソースを自動整形してくれる拡張機能です。
ソース自動整形の拡張機能は現場の方が使用しているものに合わせた方が、ソースコードをpushしたときに余計な差分がでなくて済みます。
Dockerまたはvagrantなどの仮想環境用プラットフォームの準備
Dockerやvagrantは基本的にはソースコードに既に書いてあって、コマンドを実行すれば環境が自動で構築されるようになっていることが多いです。
もしコマンド実行後上手く動かない場合は、既存のソースに間違いがないか確認しましょう。
②勤怠管理の確認をする
確認する内容は下記です。
・勤務時間の確認(何時から何時)
・リモートワークの勤務開始時/終了時の連絡の有無の確認
・勤怠管理表の有無の確認
③ドキュメント類の確認をする
具体的に何のドキュメント類の確認なのかは、下記を参考にしてください。
ドキュメント類一覧(参考例)
・画面設計書の在りかを確認
・仕様書のドキュメントの在りかを確認
・詳細設計書のドキュメントの在りかを確認
・テーブル定義書のドキュメントの在りかを確認
④プロジェクト全体の進捗具合の確認をする
プロジェクトはいつまで続くプロジェクトなのか。現在はどの工程を開発中なのか。
これらを確認して全体的なスピード感を把握して、そのスピード感で対応できるように準備する必要があります。
⑤タスクの振られ方の確認をする
基本的にはプロジェクト管理ツールでタスクを振られることが多いです。
タスクを振られる前に、直近でどのようなタスクを担当しそうか把握しておくと良いですね。
⑥タスク完了までのフローを確認をする
タスク完了までのフローは現場や人によって、異なります。
開発者が実装~リリース作業までを担う場合もあれば、実装~テストまでを担う場合もあります。
どの工程まで自分がタスクを完了させれば良いのかを、事前に確認しておきましょう。
良くある流れを、参考までに挙げてみます。
タスク着手から完了までのフロー(参考例)
・プロジェクト管理ツールでタスクを割り振られる
・仕様を把握して実装する(プログラミング)
・テストを実施する(テストコードを記載して実行。またはテスト仕様書を作成して動作確認)
・プルリクエストを作成する(実装したコードを差分表示させてチームに共有するもの)
・ソースコードのレビュー(添削)をしてもらう。
・テスト環境にソースコードを反映
・本番環境にソースコードを反映
⑦開発中のサービスの、おおまかな概要を理解をする
仕様書のドキュメントがあればドキュメントを見つつ、ソースコードや画面やデータベースを見て仕様を把握してきましょう。
サービスの概要をとらえるポイント
- どんな画面があるか。画面数は
- どんな機能があるか(例:登録機能、編集機能、削除機能、照会機能、検索機能)
- 外部と連携してデータの受け渡しをしている所があるか。
⑧ソースコードの内容を、おおまかに把握をする
バックエンドエンジニア
- DBの構成を見る。テーブルの親子関係など
- 各テーブルのデータが、どの画面に使われているか把握する
- CRUD処理をしているソースを見る
フロントエンジニア
- レイアウトの共通ファイルを把握する
- プラグインの把握をする
- バックエンドエンドとのデータの受け渡し方法を把握する
コメント