SES 3か月目を終えて
ITエンジニアに転職し、現場での業務を始めて早3ヶ月経った。
3ヶ月時点での現場の業務内容、使用技術、所感等、
思ってることを記していこうと思う。
自己紹介
最初に軽く自己紹介を。
・25歳都内在住男性
・前職:営業職
・現職:SESの会社に転職し、1現場目。Javaで業務システムを作る現場にアサイン中
Javaでの業務システム
業務システムと大きく括ったが、かなり正確度が要求される業種のシステムにアサインされた。
使用している技術はJava-Spring bootというどこにでもあるものだと思う。
テストはテストコードを組まず、ブラックボックステストのみ(不安)
フロントでHTML~JS jQuery
DBはMySQL。A5M2で操作
1~2か月目
初めての業務。
まずは環境構築にてこずった。
EclipseとVSCode(自分は両方いいトコ取り派)
DB関連、A5
Git、GitBash、Redmine、SourceTreeなどプロジェクト周りの事
個人開発で触ったことのあるソフトウェアはほとんどない。(エディター類ぐらい)
でも、基本的なことは全て同じだと考えればあまり怖くない。
初めての改修作業
プロジェクトは決して大きくない方で一人一人の負担は大きいと思うが、新人の自分には簡単なタスクばかりを振ってくれた。
正直なところ、最初の方はGitの使い方は一通り理解してるつもりでも、いざそれが仕事として、世の中に残り続けるものとして、正しいブランチとソースコードかと思うと、不安な気持ちでPushしていたのを覚えている。
自分はアサインまでに、他言語やフレームワークにも手を出し可能性を広げていた(今から思えばあまり良い手ではないが)。
そのおかげもあってか、始めてみるソースコードもそれほど苦しまずに理解を進められた気がする。
ただ、1か月目から自分個人ではなく、プロジェクト全体が危機に陥っていることに気が付く。
普通のプロジェクトならばいるはずのPMがいない
自分のエンジニアライフはこの状態から始まった。
先輩エンジニアはいるが、何でもわかる人はいない。
自分の担当範囲に関しては「調査」から入り、その範囲に関しては自分が一番詳しいなんてことも頻繁に起こる。
コンフリクトの解消時には自分の修正箇所がつぶれないように、相手にも影響がないように調整していかなければならない。
慣れればごく当たり前のことだが、アサイン直後の何もわからない時期は非常に難しく思った。
そんな状態から始まったので、責任感というのは1機能を担当するだけでもそれなりに持たなくてはならない。
先輩や他の同期の話を聞く限りなかなかレアな体験をさせていただいている。(ラッキー)
結合テスト
アサインしたその月末にリリースがあったので、その少し前に結合テスト仕様書を作成しテストを実施。
PMがいないことに加え、経験の浅いエンジニアが作るテストケースのテスト仕様書でいいのか?と、
現場に対する不安感、不信感を抱いていた。(今では割り切っている)
テストを実施しながらエビデンス取りも並行して行うが、テストを行っているのかエビデンスを取っているのかよくわからない心境で行っていたのを覚えている。(本当は良くない心持ちなはず。)
3か月目
人の入替が起こった。
まず、同じSES元の先輩で、それまでPMの代わり的な立ち位置だった人が辞めた。
これにより自分含め残りのメンバーで実装はもちろん、全体の管理を試行錯誤しながらやっていなかければ無くなった。
要件定義や社内の手続き、連携など全て一人でやっていただいていたので、かなり負担になっていたと思う。申し訳ない。
その分残ったメンバーがそれぞれ負担を分け合ってこなしていかなければならない。
次に後輩ができた。
アサイン2か月というかなり早い段階で、教育?側に回った。
業務の流れについての教育はまだできる。実装以降の教育に関しては、自分も曖昧なまま2か月やってきた中での経験をシェアするという…
技術的な質問や、使用するソフトウェアの質問など自分自身もまだ自信を持てない箇所をなんとか教えていく。コードレビューもする。
いい経験ができているとはいえ、現場的にそれでいいのかとよく思う。
プロパー社員、営業が辞めた
今まで2か月何とかやってこれたのは、プロジェクト内にはいないものの、同じオフィスにそのプロジェクトを触っていた人がいたから成り立っていた。いざという時は聞ける環境があったことが実務的にも、精神的にもありがたかったが、そのプロパーの方が辞めた。
現時点でそのプロジェクトに一番詳しいのが自分たちになる。(恐ろしい)
これからは自分たちで詳細設計~実装~テスト~本番デプロイまで行わなければならない。
SES元の同期に話を聞いても、誰もそれほど責任が重そうな現場には行っていない。
成長できる良い機会だと信じて、一つ一つやっていくに限る。
もう一人、担当営業が辞めた。
お客様とやり取りをし、最低限の要件定義を揃え、開発チームとお客様の間のやり取りを受け持ってくれるのが営業の役割だった。
実際の所、その営業さんはプログラムの事はさっぱりで、開発チームと話が合わないこともあり、
開発メンバーとしても「直接お客様とやり取りした方が早いのに・・・」と思っていた。
その営業の方が辞め、全く経験のない事務の方が間に入ってやり取りをする体制になった。
どうやらSESなどの契約形態ではお客様と直接やり取りをするのがルール的にNGらしい。お客様への確認事項も、細かく記載したExcelファイルを連携していただくのみの、文字通りの「右から左」状態。
それに伴って、今までは詳細設計から始めていた改修の工程も、
要件定義から始めるものが出てきた。
3か月目でまた新しい経験ができることになった。
基本情報や要件定義の本を読む限り、今の現場での要件定義は要件定義とは呼べないモノになっているが…(笑)
それでも自分にとって新しい経験であることは変わりがない。
プロパー社員も営業も居なくなり、とうとう経験の浅い開発チームメンバーだけで全てを回さなくてはならなくなった。
この現場にあとどれぐらいいられるか分からないが、できる限りの成長をしてから現場を離れられればいいなと思っている。