エンジニアの仕事や働き方って、ざっくりとはわかるけど具体的には?
と、気になる部分もあるかと思います。
- 実際にどんな感じでタスクが振られるのか?
- タスクのレベルは?
- チームの雰囲気は?
- 1日の流れは?
これらを実例とともに、具体的に紹介してみます!
私は自社開発とSESの両方を経験していて、4つの現場を見てきました。
そのうち今回は3つの現場の雰囲気を紹介していきます!
チームの雰囲気
![](https://fukuroblog.com/wp-content/uploads/2021/09/se-share1-520x300.jpg)
オフィスの雰囲気ですが、どの現場も上の画像のような感じに近いです。
長い机が島のようになっている、日本によくあるタイプの形ですね。
モニターも一人ひとり用意されていることが多いです。
一つ目の現場
新卒で入社した会社で、自社で開発を行うところでした。
開発の方法や期間をあらかじめ決めて、予定通り(上の行程から順番に)進めていく開発手法、
いわゆるウォーターフォールの現場でした。
![](https://fukuroblog.com/wp-content/uploads/2021/09/waterfall2.jpg)
メリット・特徴
・進捗管理がしやすい
・完成品が明確
・大規模開発に向いている
デメリット・特徴
・変更があった時、超大変
ウォーターフォールはその名の通り「滝」の流れのように進みます。
次の行程に進んだら、基本的には後戻りはしません。
そのため、「テスト」が終わった後に「設計」で変更がありました!
とかなったら悲惨ですよ。
全部やり直しです。笑
ウォーターフォールの現場は、チームの連携もしっかりしています。
定期的に進捗確認の会議をして、
遅れがないか?問題は発生していないか?
などの情報共有をするので、一体感があります。
![](https://fukuroblog.com/wp-content/uploads/2021/09/kaigi-300x300.png)
タスクの振られ方
新卒だったということもあり、メンターがついていました。
そのため、メンター的な人を通してタスク内容の指示を受けていました。
![](https://fukuroblog.com/wp-content/uploads/2021/05/icon.jpg)
ちょうど今抱えているタスクが完了したのですが、
何か今できる作業はありますか?
そうしたら、次はこれをお願いします
(作業内容の説明…)
![](https://fukuroblog.com/wp-content/uploads/2021/05/icon.jpg)
わかりました!
まぁ、わからない事があったら何でも聞いてくださいね!
という感じで普通に優しく教えてくれます。
おそらく中途採用でも、新規で現場に入るとメンター的な役割の人がつくはずです。
基本的には、慣れるまではその人とのやりとりになると思います。
大体1ヶ月くらいで、現場のルールや雰囲気を掴んで自発的に行動できるようになれれば良いかと思います。
そのためには、最初はとにかく教わったことはメモしまくることをお勧めします。
さらっと書きまいしたが、コレめっちゃ重要です。
二つ目の現場
二つ目は、転職をしたのでSESの現場になりました。
先にお伝えしておくと、絵に描いたような超ブラックでした。笑
やばかったです。
具体的には「SESはやめた方が良い?いや、こんな人にはオススメ!」という記事で詳細を書いてあるのでよければご覧ください。(^ ^)
あと、当時の勤務時間がこちらです↓
こちらは、アジャイル開発の現場でした。
ウォーターフォールが「めっちゃ計画通りに進めていく」のに対して、
アジャイルは「とりあえず作ろう!」の精神です。
![](https://fukuroblog.com/wp-content/uploads/2021/09/agile.jpg)
・計画:どんなものを作るか?
・設計:どう作るか
・実装:プログラミング
・テスト:動作確認
これを一気にやります。
「計画」「設計」は口頭で聞いて、いきなり作り始める。
とりあえず作ってみて、完成物がよければ採用!それで行こう!
という感じなので、スピード感はあって慣れてないとキツいです。笑
タスクの振られ方
ウォーターフォールの現場と同じように、アジャイルの現場も一応
「この人に聞けば良い」
というのは決まっていました。
が、さらっと簡単に口頭で伝えられるので、
![](https://fukuroblog.com/wp-content/uploads/2021/05/icon.jpg)
え、情報それだけ?
ということが結構ありました。さすがアジャイルの現場(現場にもよりますが…)
![](https://fukuroblog.com/wp-content/uploads/2021/09/task2.jpg)
- リーダーやメンター的な人からタスク内容を聞く
- 完了、または質問があれば聞きにいく
- 完了したらまたタスクを振ってもらう
基本的には、この1〜3を繰り返します。
何日かかかる作業であれば、1日の終わりに進捗を報告してまた次の日も続きを行う。
という流れですね。
この現場は色々と適当なところだったので、
自分と同じチームの人がどの人なのかあまりよくわからないくらいでした。笑
そんな事あるんかって感じですが、まぁ色々な現場があるみたいですね。
三つ目の現場
SESで言うと2つ目の現場です。
こちらはどちらかと言うとウォーターフォールの現場でしたが、
チームは自分を含めて3人しかいませんでした。
タスクの振られ方
やはり同じようにリーダーやメンター的な人がいるので、
その人から指示を聞いて作業を進めていくと言う流れになります。
SESの場合、新規で参画するとまずは、
- どのようなシステムなのか
- 現場のルール
などに1ヶ月くらいかけて慣れる必要があるので、
最初からいきなりひとりで任されることは、基本的には無いと思っていただいて大丈夫かと思います。
3つの現場を見て思ったこと
結局はこんな感じで現場によって色々ですね。
![](https://fukuroblog.com/wp-content/uploads/2021/09/team.jpg)
ウォーターフォールかアジャイルかまたは現場によって雰囲気は違いますが、基本的この3点は共通しています。
- 結構イメージ通り
- リーダーやメンター的な人が指示をくれるので安心
- 最初の1ヶ月くらいは慣れる期間。言い換えると、2ヶ月目以降から自発的に動けるようにする期間だと思った方が良い
初日の流れ
SESだと、現場に入った初日は、
ほとんど環境構築で終わります。
- PCのセットアップ
- パスワードの設定
- ツールのインストール関連
- ソースコードの準備
などですね。
環境構築に関しては、ちゃんと手順書があるのでその通りに進めていけば大丈夫です。
1日の流れとしては、
9:00 ~ :出社、PC環境構築
10:00 ~ :セキュリティ研修
12:00 ~ :昼休憩
13:00 ~ :PC環境構築の続き
PCの環境構築が完了し次第、今できる作業が無いか確認。
セキュリティ研修というのは、
- 情報漏洩しないでね
- 備品は無くさないでね
- ルールは守ってね
というものです。
一応、法律上やらなければいけないらしいですね。
環境構築が終わり次第、すぐに開発をやることもありましたが、
大体これやってたら一日終わります。
実際のタスク内容
どのくらいのレベルが要求されるのか、気になりますよね。
結論から言うと、ほとんどが基本的な文法の知識で対応できる内容になります。
この先使う画像などは例ですが、イメージが伝われば幸いです!
実際のタスク
ボタンを押すとすぐに保存されてしまう処理になっているので、
一旦「モーダルウィンドウ」を表示させて、確認をとってから保存できるように作り替えてほしい
と言うものでした。
(イメージ↓)
![](https://fukuroblog.com/wp-content/uploads/2021/09/task3.jpg)
これを、
![](https://fukuroblog.com/wp-content/uploads/2021/09/task4.jpg)
このように変えると言う内容です。
いきなりだと難しそうに見えますが、実は簡単です。
考え方
- モーダルウィンドウを作成する
➡︎ Bootstrapを使うと一瞬で作れる(ちなみに、Bootstrapの記事はこちら) - すでにある保存処理のメソッドをすり替えるだけ
➡︎ もともとあったボタンは、モーダルウィンドウ起動用のボタンに変更するだけ
➡︎ モーダルウィンドウのボタンは、元々あったボタンに使われていたメソッドを使用するればOK
「保存処理の仕組みを作り替える」と聞くと、複雑なプログラミングをする必要があるように見えますが、
- 元からある処理をそのまま利用することができる
- if文を一つ追加するだけで良い
- 似たような処理があるので、ほとんどコピーで作れる
このように、実際は結構単純な作業だったと言うことはよくあります。
面接が激的に楽になる方法
![](https://fukuroblog.com/wp-content/uploads/2021/06/engineer-14.jpg)
質問事項をあらかじめ用意しておく
SESの面接(面談)は、
- 稼働先から案件説明をされる
- スキルシート(履歴書)を元に質問される
- 何か質問ありますか?
という流れです。
「最後に質問ありますか?」の時点で、何か聞いた方が印象が良いのは確実です。
例えば、
- 使用されているコミュニケーションツールは?(ChatWork、Slack、ハングアウト)
- ソース管理はどのように行っていますか?(Git、SourceTree、SVNなど)
- チームの人数は?
- データベースは?PHPのバージョンは?
- フロント側の修正もありますか?
- 在宅になる可能性は?Wi-Fiは個人のものを勝手に繋げて大丈夫?
- どんな服装の人が多いですか?
これらの質問を全部メモ帳に書いておいて、面接中にガッツ見ながら話す。
という方法です。
詳細はこちらの記事で!
よく使われるツール
実際に現場でよく使われるツールの紹介です。
- WinMerge
- サクラエディタ
- Git
- A5
- WinSCP
Windows専用のツールですが、
特に上2つの「WinMerge」と「サクラエディタ」は普段から使えるのでインストールしておいても良いかと思います。
Git、A5、WinSCPは現場でチーム開発をしたり、
本格的にデータベースを運用したりしない限りあまり使わないですが、
どんなものかは知っておいた方がやりやすくなると思います。
まとめ
- 基本的には、リーダーやメンター的な人から作業の内容は指示がある
- 初日はPCの環境構築やセキュリティ研修で終わることが多い
- タスクのレベルは、意外にも基本的な文法の知識で対応できることがほとんど
- 面接事には質問事項をメモ帳に書いておくと安心 → 関連記事
- 「WinMerge」「サクラエディタ」はインストールしておくと良い