皆さん、こんにちは
ソフトブレインのシニアAです
いつもSE道場をお読みいただきありがとうございます
今日は恥ずかしながら失敗談です。ではどうぞ。
『おお、そこにいたのか、君を探していたんだ。ちょっと来てくれ』
今日は198X年6月末日だ。私を探していたというこの人、会社の社長だ。午前中は確か営業に行ってたはずだが・・・
『君に頼みたいことがあるんだ』
なんか、いやな予感・・・
『今日、短期の仕事を受注したんだ。先輩にあたる●●さんと一緒にやってくれないか』
既に受けた仕事のスケジュールが重なっている
『はい、ですが既に2つのシステムを同時に開発することがきまっています、3つ目は難しいですよ』
社長は納期が違うのだから同時に開発することぐらいできるだろうと言う。
開発スケジュールは・・・
①7月~7月 今日の短期システム開発(2人月)
②7月~10月 磁気カード書込装置システム開発(4人月)
③7月~6月(来年) 大手N社のシステム開発(12人月)
完全に7月がトリプっているこれは厳しい
①のせいで②が遅れ、②のせいで③も遅れそうだ
『●●先輩は、A社府中工場に常駐しているんじゃ』
『この仕事の間は早帰りし、夕方から本社に来る』
『でも私は1人月でも先輩はせいぜい0.5人月しかないですよ』
『土日を考慮すれば足りるだろう。君なら大丈夫だ。 3本やれる。 自信を持て』
無理やり押し込まれた私も若かった
社長だからそれ以上言うのは差し控えてしまったのだ
その日の夕方、先輩が本社にやってきた。
先輩が言うには、私が1ヶ月空いているから大丈夫だとのこと
とほほ、空いているんじゃなく、身体が本社に勤務しているだけなのに
不安が頭をよぎるが、根っからの楽天家であるため、その心配もどこ吹く風
翌日には忘れて、短納期のシステムに没頭していた
この短納期システムの正式名称は、【全自動オーリング引張り疲労試験装置システム】である
O(オー)リング製品の引っ張り疲労強度を調べるもので、CPUはザイログ社Z80(インテル8080の互換チップ)、8251割込コントローラ、8255汎用入力コントローラ、7210キーボードコントローラなどを用いて開発する
まず第1に問題になったのは、この仕事は改造が主な仕事で、新規はほとんどなかったことだ
既存のコードを読み、不足している機能を既存のプログラムに融合していく知識が必要だった
私はこの当時、コンピュータ業界に入って半年のプログラマでしかなかった
第2に問題になったのは、先輩が夕方以降しかいないということだ
質問するにもタイミングがずれ、的確な進捗が望めなかった
この2つは致命的で、最後まで付きまとった問題だった
1ヶ月はあっという間に過ぎていった。
結局7月末日の納期は間に合わなかった1週間まえから徹夜を続けていたのにだ
しかも他の仕事②③はいっさい手付かずの状態だった。
納期遅れをしたこともあり、その徹夜の勢いがそのまま続いて2か月目に突入していった。
プログラムを直し、紙テープにパンチし、その紙テープをターゲットマシンに読み込ませて、実行してデバッグを繰り返した。
ある時は、プログラム全部が0(ゼロ)で埋め尽くされたこともあった。
その開発で使っていたデバッガはプログラム領域のメモリ破壊を防げなかったのだ。これが時間の浪費につながった。
動きがおかしいと思うと、プログラムがいつの間にか壊れていた
そんなとき先輩のメモリ破壊の見つけ方について、超人的な凄さに驚きまくった
いまでも手品のようにしか思い出せない。
まずデバッグ時にマシン操作を行っている場所からアセンブルリストにあたりを付け、そこからプログラムを眺めていくと・・・
『ここ、機械語が変わっちゃってるよ』
『えぇ、 どこが、どこが変わっているんでしょうか』
『ほら、ここ。 本来ならLD命令なのに、XOR命令に変わっちゃっている』
『えーっと、えーっと、本来ならLD命令って何故わかるんですか』
『プログラムの動きをみていれば、わかるよ。慣れてくれば君もわかるさ』
『いいえ、慣れの問題じゃありません』
そして次はパンチされた紙テープをすーっと見ていき、なんと、穿孔した穴が抜けていなかったところを発見
『あった、あった、ここだよ、ここ』
『先輩、なんでこのあたりだとわかったんですか』
『アセンブルリストとパンチを見比べてみれば、誰でもわかるさ』
『いいえ、いいえ、誰もわかりませんよ。 そんなの見比べる人なんていません』
紙テープのパンチ穴をきちんと空けて、もう一度ターゲットマシンに読ませ、実行してみる。
『うそ 動いた、動いた。 先輩は天才です』
私は躍り上がって喜んだ。こんな凄い人が先輩だなんて、尊敬します
先輩と私の努力の結果、納品できたのが8月末日だった。優に2か月かかってしまった
もう1ヶ月以上も休みなく徹夜が続いていた。身体も限界だったが、徹夜状態を維持したまま、次の磁気カード書込装置システム開発にはいっていった。 (※【磁気カード書き込み装置システムの開発】は、SE道場(2020/5/8)をご覧あれ)
さらにN社のシステム開発は、私の代わりに設計していてくれた先輩がダメなひとで、抜けだらけの設計書を書いていた
このため、お客様に謝りにいき、仕切り直しとさせてもらった。
コンピュータのソフトウェア業界は当時30歳定年説が騒がれていたが、それを覆す知恵を授けてもらったのは、これら3プロジェクトだったと思う
『努力するだけでは終わらない』『どこまでやると身体の限界がくる』『先輩の教え』など吸収し、自分の礎を築くことができた感謝、感謝...
SE道場では、プログラミングの極意や開発の苦労話等、様々な記事を投稿しています
是非ご覧ください 1つ前の極意は...