少しだけ前のめりで行こう

少しだけ前のめりで行こう

色々なことにちょっとだけ前のめりに向き合っていきたい

とあるフリーランスエンジニアができるまで ~大規模案件(前編)~

f:id:positivewalker:20190315191501j:plain

今回のお話は?

受かると思っていなかったメガバンク案件。
今回は案件入場からのお話し(前半)です。

ステータス

気力 体力 知識 素早さ 器用さ コミュニケーション力 伝達力
100 65 20 50 80 80 50

やる気に満ち溢れています。

やるしかない

誰もが知っている銀行の開発案件。一体どんなことをするのか?不安もありますが、楽しみで仕方なかったです。
初めて聞くPM、PMO、PLなんて言葉。組織構成すら分からないけど、とにかくやるだけなんです。

アンチマネーロンダリングのプロジェクトで、噂によると30億以上かけたという、大手ベンダーが元請けの大プロジェクトです。

IT業界の常識は非常識?

そんなプロジェクトに参画したSIerが目の当たりにするITの常識。
そうです、ITゼネコンですね。いわゆる多重下請け構造です。

当時は、自分(自社)がどの位置づけなのか理解しておらず、お客様以外の元請けや協力会社は同じ土俵で仕事をしているものだと勘違いをしていました。

まぁ、そんな勘違いは一瞬で吹っ飛ぶのですがw
とにかく全てが初めて見る景色でしたので、今思うと最初のころはかなり危うい発言をしていたのではないでしょうか?
※ちなみに当時はひ孫請けでした。

プロジェクトってこんなに厳重なの?

銀行案件ということで、セキュリティに関しては今振り返ってみても、一番厳重でした。プロジェクトの内容が内容なので、仕方ないのかもしれません。

出勤時はまずロッカーに携帯や貴重品を置く。エレベーターの前にはガードマン、フロアの出入り口にもガードマンが配備されていて、物々しい感じです。

当時ニュースになった情報漏洩もあり、開発端末は当然のことながら、紙すらフロアから出せないように管理されていました。

それで困るのは別チームとのMTGです。ノートPCの持ち出しなんて以てのほか、資料も持ち出すたびに申請を出して荷物検査を受けるのです。

slackやskypeでのMTGなんてないですからね。
セキュリティーのためとはいえ、あの環境下では開発が遅れても仕方ないと思います。

開発環境

IBMプロジェクトに関わっていたので、開発環境はもちろんIBM三昧。

グループウェアはNotes。ソース管理はRational ClearCaseIDEはRAD(EclipseベースのIDE)。

当初は何をするにもドキュメントを読むことから始まり、苦労した覚えがあります。 ※IBMからも開発チームが参画していたのですが、下っ端プログラマーには接点がありませんでした

いきなり2画面担当

とは言ったものの、どんな環境だろうとやることは一緒。。。なはず

それに、自社から受けた裏タスクは、最低でも1年は生き残ることです。
あの頃の自分は、社畜なんて言葉は知りませんでしたが、まさしくソレでした。

当初担当したのはパッケージ製品からデータを受け取り次画面へ渡すという、今では簡単な内容でしたが、研修でStrutsやったばかりの人間には少しばかりハードルが高かったです。

ですが、チームリーダーからしたら、3年目のプログラマーに対して少し楽なタスクを与えたと考えていたのでしょう。すぐに新しいタスクが舞い降ります。

その内容は、データ解析してファイルに分割し、指定の構成でディレクトリ作成の後zipに固めてアップロードだったと思います。「3年目なら大丈夫だよね」って笑いながら言われましたよ。

・・・いやいや、最初の画面すら持て余していたのに、なんてことをしてくれたのですか。設計書見ても何をどうすれば実現できるのかわからない。ググろうにも、セキュリティー上外部とネットは繋がっていません。業務中は携帯(ガラケー)も持ち出せないので、完全にガラパゴスです。

ですが、当時の社畜さんは限界なんて知りません。
毎日終電、次の日は4時半起き(銀行案件って朝が早いし、通勤1.5時間だったので)。それでも足りないときは土日も作業。

予定より少し遅れて何とか終わらせます。が、待っていたのは協力会社のリーダーからの呼び出し。(自分から見たら2階層上の会社のひと。直の上位は間だけで開発者はいない)

何も言えないジレンマ

個人的には遅れはしたものの、初めて1画面の作成「入力~バリデーション~DB~解析~出力」をやり遂げたのですが、周りから見れば出来て当然なわけですよ。

何度も言いますが、ここでは3年目なんです。ちょっとしたメンバー間の会話にも気を使い、それっぽくふるまう必要もあり、喫煙中でも気が抜けません。

そういった背景は現場では一切言えないので、呼び出しをくらって注意された時もただただ黙っていました。
口を開いたら「まだJava覚えて半年なんだよ!」と言ってしまいそうだったからw

でもね、どんなに我慢しても限界はあります。

サポートなんてなかった

知ってしまっている今では何故わからなかったのかすら、分からないのですが。

当時は開発の流れがわからない、次にやることが分からないのです。一回でも経験していれば違うのですが、ちょっとの先が見えないので、常に準備ができないのです。

設計書を見る→コードにする。これだけでも当時は時間がかかるし、未熟なため一回で想定通り動くコードは書けません。

さらにプロジェクト全体が遅れだすと、理由を探して対策案を上に出さなければなりません。そうすると、だいたいが自分の遅れによる影響となり、居心地も悪くなる一方でした。

自社からもう一人先輩が参画していましたが、彼も一杯いっぱい。
社長や部長も現場まで来ることはなく、そのうち飲みに連れていくから頑張れとだけ。

こんな状態で、まともな仕事が出来るはずもなく、プライベートにも影響が出始めていました。

その結果

とうとう元請けのチームリーダーに呼ばれ面談します。

本来ならここでぶちまけてしまうところなのでしょうが、それはしませんでした。
※先に言うと、自分の送別会まで黙っていました(送別会では暴露しちゃうのですが・・・)

そこで、伝えたことは「すいません。できません。」でした。
「え?できないの?」「本当にできないの?」と驚かれましたが、「できません」とだけ伝えました。

そんな状況でしたが、その後「できない」といった箇所をリーダーが教えてくれて、なんとか2ページ目も完成します。

が、当然印象は悪くそのあとのタスクはライブラリ管理やドキュメントの整備などでした。

でも生き残る

プロジェクト発足当初は、Lib管専用のチームがいてプロジェクト全体のソースを管理していたのですが、カットオーバーで人が抜けたため各チームでLib管を持つように体制がかわります。

一度ダメ出しを食らい、評価も下がっていたので、次のカットオーバー要員は確実でしたが、この体制の変更にチャンスがあると考えました。

結論として、その時は生き残るのですが、方法は次回に。

学んだこと

技術的には何も持っていないに等しい状態でしたので、とりあえず耐えればレベルアップします。

MPが0なのに逃げも隠れもせず、ただじっとしているメタルスライムに出くわした「レベル1の冒険者見習い」。自分から逃げなければ、一応経験値は手に入る状態ですねw

敢えて言えば、我慢と根性と嘘はダメ絶対。

ステータス

気力 体力 知識 素早さ 器用さ コミュニケーション力 伝達力
40 15 30 40 60 50 30
↓60 ↓50 ↑10 ↓10 ↓20 ↓30 ↓20

次回

プロジェクト内の立場と精神的に崖っぷちに立たされたわけですが、そこからどうやって1年ほど生き残れたか。

これを読んだ若いエンジニア(もしくは希望者)は、絶対にマネしないこと。自分の身は自分でしか守ってあげれません。